SmoothWall Firewall Review
Daniel Goscomb, one of the lead developers of Smoothwall, responds:
In our opinion this article is extremely badly researched and written. Furthermore it shows a lack of knowledge on the author's part.
The main concern he has is that of people being able to log in to the firewall and read configuration files. This point is irrelevant as there is only a single user that can access the shell, root. This also removes the need of shadow password files, if you have access to the machine to get the passwd file, you are already in as root anyhow.
Secondly he complains of plain text passwords for the ppp passwords. This is not our doing. The passwords are stored in this format as pppd requires them to be in plain text in the two files. He also mentions that the permissions of these files are wrong. If he looked a little more closely he would have seen that they are in fact symlinks to the 2 real files, which do have the proper permissions on them.
He also mentions the same "problem" with the shared keys system in FreeSWAN. Again, they are stored like this as FreeSWAN requires them in this format to read them.
As to the part about user authentification of the CGI scripts. This is completely irrelevant. There is no authentication in the CGI scripts. The authentication is done via .htaccess files, and has no interaction with the CGI at all, other than when you change the passwords.
I also find it disturbing that the author gave us no room for comment in his article, nor did i see anything to suggest he had even asked us about these so called "problems". We would have been happy to answer any questions he had.
Sincerely,
Daniel Goscomb.
as c't is (imho ofcourse) a much respected magazine, and normally I would call it a trustworthy source. I would certainly not expect them to publish such a damaging article without giving the authors of Smoothwall a chance to comment on the findings.
karma capped
I used smoothwall for a short time to evaluate it and technically it looked like quite a nice product, but then I started reading about the attitude of it's creator to the GPL.
Now I'm happy for people to write GPL software if they like, and I'm happy for people to write commecial software if they like, but smoothwall seems to want to get the benifits of both.
They seem to want to get make free use of other peoples work through the GPL, but to feel free to only release parts of their software commercialy. I'm not claiming they are breaking the GPL or anything, but there seems something very unfair about their approach.
Also if you get the GPL edition, there are all kinds of requests on the web site that you donate money to them "SmoothWall developers have kids and families too, and it's all about giving back to the people who helped you.
". And yet I would guess that about 90% of what they are giving out was written by other people and they don't suggest they are going to give 90% of their donations to them.
Again, nothing wrong with that, I just don't much like it.
Basically I suggest that people look at their web site, and search the internet for comments about the creators of this software and how unhappy some people are with them before they go and use it.
Sig is taking a break!
This debate seems to be over whether Smoothwall was designed to secure against attack from outside your DSL dialup or against attack from the inside. Shadow passwords are meant to provide a safeguard against dictionary attacks from logged-in users on a multiuser system. c't's complaint that there is no shadow password on a single-user system is valid; if you're worried about people in your own house trying to hack into your firewall.
It is true that internal security against logged in users can help defeat attackers who can only partially penetrate external defenses. If, for instance, you can only use a CGI bug to get ahold of the passwd file, you can leverage this with a dictionary attack if shadowing isn't installed. Provided you can disable the packet filter and attempt to login as root externally once you have the password... or even use an su type exploit from your original CGI bug. Either way, there are a lot of large corporations with bigger security holes than this.
However to claim that his review "shattered the illusion" of Smoothwall being a complete solution for home users is complete hyperbole. A home user who is trying to secure himself from internal attack from other logged in users in his house is probably pretty savvy in the first place and also has bigger problems. If the purpose of this product is have a CD you can ship to your parents to secure their DSL line against script Kiddiez and Hotmail's Traceroute function, then Smoothwall sounds to me like an outstanding effort.
c't': Two demerits.
--
What happens when you outlaw guns
I was in the Smoothwall IRC channel on several occasions when this reporter came in. First of all he didn't conduct himself like any other reporter I have ever met. He was elusive regarding his motives (ie he wouldn't say he was from the press), he was beligerent beyond belief and gave the impression he already knew what he was going to write. Refusing to even listen to the dev team's answers, the sticking the fingers in the ears behaviour he exhibited was most flattering. I just hope c't are more exclusive in future with regards to the staff they employ. This guy was nothing but underhanded and stubborn.
-- Steve 'Hellcore' Hughes: Graphics + Concepts @ SmoothWall. http://www.smoothwall.org http://www.smoothwall.co.uk
Tsstss.. Look at this excerpt from the article that this SmoothWall guy is complaining about:
I also have a strange feeling about other "security" options that they choose. For example: Not using shadowed password files. They say it wouldn't be neccessary since the only user available is root anyway. But what is the _sense_ of not using shadowed password files? (And what is the sense to require the user to be root to configure the system? Even Apache is supposed to be quite secure, but nobody will run it as root because there still might be holes. Impossible in a hacked-together firewall distribution?) The bytes in length on the harddisk they would have saved would be a joke.
All in all, I believe there are some truth- and insightful bits in the c't review, even if the reviewer did a mistake.
btw: To complain that the passwords had to be plaintext because PPPd and FreeSWAN required it is complete nonsense for a Firewall! Sources are available, so why not add a patch to have the passwords encrypted if this is supposed to become a Firewall?
(Sorry, had to emphasize this, since this is not some desktop distribution but supposed to be a Firewall.)
42. Easy. What is 32 + 8 + 2?
First off reviewing a firewall like that is just whining by a non-techie. you want to review a firewall? crack it... Show me times it took and what kiddie tools took it down or circumvented it because of a flaw in the firewall. bitching about how the scripts are written is clutching at straws and trying to add content to an already empty review.
Why is it that we all will not listen to a SQL review without stats and figures but a firewall review get's any attention at all if it isnt even tested properly by the reviewer?
This review was like a review about ram and bitching about the color and shape.
Do not look at laser with remaining good eye.
if a cgi script running as "nobody" is compromised, then it is possible that the user "nobody" can gain shell access as well. A shell is simply another executeable, just like the CGI script itself.
Okay, maybe I was a little hasty, but if someone gives you a bad review, and this was a bad review, you should just suck it up.. Imagine Microsoft sending out a press release everytime someone at /. gave them a bad review - they'd have to pay Taco to incorporate random-ms.pl
Join the Free Software Foundation
Daniel Goscomb, one of the lead developers of Smoothwall, responds:
... reading on
...
...
/bin or /sbin directory that even remotely resembles a shell or mount program (ie do not use perl, use mod_perl, do not use php, use mod_php, etc)
... why take the chance ?
.htaccess files, and has no interaction with the CGI at all, other than when you change the passwords.
... wether or not he did I cannot verify, but if he quotes answers from you ("That doesn't matter"), he probably did contact you, and you certainly confirmed that comment with the above reply, I politely wonder about the next part of that sentence ( ... was about the politest of all comments comment.)
In our opinion this article is extremely badly researched and written. Furthermore it shows a lack of knowledge on the author's part.
sjah
The main concern he has is that of people being able to log in to the firewall and read configuration files. This point is irrelevant as there is only a single user that can access the shell, root. This also removes the need of shadow password files, if you have access to the machine to get the passwd file, you are already in as root anyhow.
so you only have one layer of security ? The inability of any attacker to get a shell ? That's it ? I must admit I have not checked if you do that or not but
In my opinion you should at least take a number of these precautions
-> no shell access for nobody but root (of course this is enforced by putting a check in the main loop of bash, which mails "murder" if anybody tries differently)
-> all binaries --x--x--x, on a single partition which is the only one mounted without the "noexec" and with "ro" flag
-> *all* daemons chrooted, none have anything in their
-> *all* programs compiled from source
-> there is no such thing as an irrelevant permission
Secondly he complains of plain text passwords for the ppp passwords. This is not our doing. The passwords are stored in this format as pppd requires them to be in plain text in the two files. He also mentions that the permissions of these files are wrong. If he looked a little more closely he would have seen that they are in fact symlinks to the 2 real files, which do have the proper permissions on them.
plain text ? wrong permissions ? why would you take a chance ?
He also mentions the same "problem" with the shared keys system in FreeSWAN. Again, they are stored like this as FreeSWAN requires them in this format to read them.
again
As to the part about user authentification of the CGI scripts. This is completely irrelevant. There is no authentication in the CGI scripts. The authentication is done via
user authentication is only irrelevant until a hacker gets by the first layer of security (which apparently on your system is the *only* layer of security)
I also find it disturbing that the author gave us no room for comment in his article, nor did i see anything to suggest he had even asked us about these so called "problems". We would have been happy to answer any questions he had.
to quote the other article :
When a group of developers- more than ever one active in the spirit of GPL-want to successfully distribute a good product, they are usually interested in feedback, in order to improve their product. My concrete indications of security problems within SmoothWall found sheer disinterest with Richard Morrell, developer and project initiator. "That doesn't matter" was about the politest of all comments comment. Trust in the developer's competence and integrity is a basic pre-requisite for the usage of security relevant software. Morell has thoroughly destroyed mine."
this suggests he has contacted you
If you get hacked, simply restart your machine, and you are back to factory settings.
And are hacked again in 15 minutes.
This is why computer forensics are important.
OpenBSD is a good solution for anyone with a 486 and 8MB RAM. It is fairly simple and easy to use. (If you are familiar with Unix).
./ heart...;-)
You can find all kinds of examples of how to set one up like here.
Older distro's used IPF, but as of 3.0 they use pf. You can read about pf here.
OpenBSD has gone 4 years without a remote hole in the default install. Pretty impressive.
But hey, only use it if you are SERIOUS about security AND don't want to pay anything.
Although you should consider helping fund the project out of the kindness of you
Strange that we've yet to hear of an 0wned smoothie, outside of some theoretical situations, and some "i already have root because i installed the box" fiddlings.
If we see a posting on bugtraq or a properly documented break-in sent to us, we'll act on it.
neuro at well dot com (when I post, it's my opinions, no-one elses)
Sorry, this isn't how things work on Linux, nor many other modern operating systems. File space cannot be "allocated", then "read" in the manner described. You cannot allocate a file without writing to it, thus you cannot fish information from someone else's temp file like you describe. Maybe under DOS, but probably not on anything newer.
Whoever moderated this post as "Informative" needs to stick to moderating posts on which they are competent to judge, not just anything that sounds good but might be a line of complete BS.
Every part of the system has a (hopefully low) propability to be successfully hacked. The more barriers you have, the securer your system is.
It's also worth nothing that the only interactive account is root. There are daemons running under different user ids (I assume in favor of the SW team). As with every remote exploit, these daemons are the entry gates. Also note that remote exploits by definition don't relate to any interactive accounts!
Now, if one service has been hacked, the whole system is already compromised because there are no shadow passwords, files have the wrong permissions, etc.
You can argue about the passwort files for remote connections. You can't argue about not using shadow passwords, that's just plain stupid.
It's like leaving your safe unlocked because there is already the locked front door...
Claus
I realize I may get flamed/labeled troll here, but this is too much. As much as /. bags on MS, we've NEVER allowed them to post a response right next to the article. Just because this is released under the GPL, we'll make a special exception? What about the kernel devs or the mutt developers when a bug comes out? Shouldn't they get a shot?
THEN the guy goes on to blame pppd and FreeSWAN which comes bundled with the product for using plain text passwords. Are you joking? If you want one that's secure write it yourself. I don't care who wrote the thing originally, if you want a secure product, then follow the openbsd model and check and recode every line yourself. We don't blame MS Indexing Server (the cause of many of the recent MS bugs), we blame IIS.
I'm sorry but this is just terrible.
I concur with the assessment of Richard Morrell. Morrell doesn't appear to understand that getting angry at people that don't pay for SmoothWall is unlikely to encourage anyone to contribute charitably or think about purchasing a more functional SmoothWall. When people see Morrell cursing someone out on IRC, kicking and banning them from the channel and k-lining them from the server, they come away thinking Morrell has an explosive temper and they want nothing to do with him. If being on IRC helping people is that difficult for Morrell, he should reconsider going on IRC at all.
Please don't misunderstand me: I understand it requires a lot of time, money and effort to bring SmoothWall into existance; the work is appreciated. SmoothWall is a valuable addition to the free software world. It is frustrating dealing with people who won't read docs. But there is no reason to be belligerant. Morrell does his work and his SmoothWall finances no favors by being rude.
I have visited irc.smoothwall.org only once. I do feel, however, that my experience there alone was almost enough to discourage my use of the product. I joined the #smoothwall channel in hopes that I might find answers from knowledgable users or developers that I had been unable to find in any of the available documentation (all of which I read in its entirety).
:: Please do not expect free
Upon joining the channel, I was bombarded with the omnipresent topic, "Welcome to #smoothwall
support if you haven't donated. http://redirect.smoothwall.org/donate"
Ignoring the blatantly anti-open-source sentiment, I proceeded to ask about features and functionality that I feel are paramount to implementation of a device designed to secure my entire network. Before anyone so much as regarded my first question, I was bombarded with "Have you paid yet?" A simple 'not yet' got me my first response: "Can't you read the f**king topc?!"
Of course, I wasn't looking for support -- simply answers to questions about the products capabilities. Off to a great start.
In the end, my questions were answered, privately, by MacGyver, whose answers unfortunaely indicated that features I think are critical in a firewall are only available in the commercial version. To suggest a few:
- No support for multiple IP's on the external interface
- No ability to write filter rules for outbound traffic
- No inherent ability to manage IDS policies used by Snort
- No immediate planned support for a stateful kernel
etc...
Granted, I could accomplish all of these tasks through custom modifications to the product -- but that would defeat the purpose of the product in the first place -- to create a secure filtering firewall that can be easily and securely managed through an integrated portable interface without the need for extensive customization.
To comment on the article posted this evening, I think that despite the article author's process for review or lack thereof, SmoothWall's response was unacceptable. To say that passwords are not shadowed because the box has but the root user would be to say that Bind and Sendmail need not be firewalled because their latest revisions have no vulnerabilities...
yet.
To say that the open-source security packages that comprise the firewall _require_ clear-text passwords is to insult the intelligence of everyone here who knows better or has found more secure alternatives to the same problems in the past. The open-source community is not ignorant, nor are we fooled by any comapny's efforts to conceal laziness.
Security is an unknown. We place our confidence in hybrid hardware and software solutions that provide protection from the exploits we've identified already, but we expect that new vulnerabilities are inevitable. We cannot neglect commonly accepted security practices because our products have not yet been broken. The correlary would be to argue against home alarms because we already have a lock on the door.
A single layer of security is never enough. ESPECIALLY for a firewall. If this were to be an end-user distribution sitting _behind_ a firewall, the lack of external access would _probably_ be enough. However, as a firewall, such neglect for security practices that have a negligible effect on performance but provide such a significant measure of protection is both arrogant and ignorant at the same time.
In conclusion, neither the product's lackluster featureset, nor it's father company's poor customer support practices would have individually discouraged my using it.
Couple those with questionable security practices, though, and I can assure you that SmoothWall will never be enough to protect _my_ network...
My major concern is not, that somebody other than the administrator might log into the machine. The major issue of a firewall system is, to tighten security, not to remove existing security mechanisms like tight access rigts to sensitive files, shaddow passwords, etc. But that is exactly what Smoothwall does in direct comparism to any standard linux distribution.
I'm sorry, if the text doesn't make it clear, that I'm not complaining about the format of files but about sensitive files with passwords or secret keys, that are world readable (ie mode 0644). Something like
is a bad thing - period.
I made every effort, to get "printable" response from the developers. I wrote several E-Mails about the issues to Richard Morrel - who was named as contact person- and I went to the IRC channel of the developers. The only printable comment to the subject I got there is "This doesn't matter".
It didn't apper tobe the case so I joined the irc chan and asked about the problem I had had, result: kickban
I was actually going to offer to write the pnp stuff I had done properly and then submit it to them, not any more thank you :)
However, if your product gets a bad reputation because you refuse to support people, because they haven't donated, then less people will want to use your product, which means less donations. It's a vicious circle, which eventually the Smoothwall developers will have to break.
/., that doesn't seem likely. Features? That only goes so far. Security? You have to plan for the worst, and just because you don't think there's a chance in hell of someone gaining root on the box doesn't mean you don't shadow your passwords, etc.
Sure, it's free, it's GPLed. Big deal. There are plenty of free, GPLed firewalls out there, and the developers of them are probably a lot nicer. What sets Smoothwall above the rest? Tech support? Reading
Gawyn
Freedom of Speech?
Almost all of the complaints I've ever seen lodged against Smoothwall were either accusations of the author being rude, a jerk, etc. - or accusations of GPL violations.
I think it's pretty clear that they haven't openly violated GPL. (They had a previous version where some wording needed a couple small changes to fully comply with GPL, but those changes were made before the latest release.)
As for the author, so what? The guy invested a lot of his time to give you a product that you can use for free. *That* is the bottom line. Is there a requirement anyplace that says you have to regularly report to Richard Morrell or interact with him directly in any way while you use Smoothwall? Not that I know of!
I joined the Smoothwall mailing list for quite a while, and what I saw was a flood of beginner questions that could have been answered by the user reading the instructions (or by actually installing the product before asking if it did or didn't have certain features!). If I was the author, I'd get angry with these people after a while too.