Learn From Robert Watson Of FreeBSD And TrustedBSD
Robert Watson is a core developer for FreeBSD, and a member of the TrustedBSD project. He is one of the best people in the world to ask about FreeBSD security, and about FreeBSD development in general. Please post your questions below. We'll send 10 of the highest-moderated ones to Watson by email, and post his responses verbatim as soon as we get them back.
What similarities and differences do you see between the TrustedBSD project and the type of security work undertaken by the OpenBSD team? How do their goals and philosophies differ?
I was reading some documentation on VMS the other day (don't ask), and found out something really interesting. VMS has per-thread security. Thus, a multi-threaded database application could still have ridged security even though it is one process.
I'm a UNIX admin, and don't wish to admin VMS, but this blew me away. Are there any other VMS you are or are considering adding to make TrustedBSD a more solid and extendable OS?
OS X's Darwin is based on FreeBSD. How good a member of the Open Source movement has Apple been? Have they contributed anything back to the FreeBSD project (code/money/t-shirts/etc...)?
With so many implementations around of the various *nix/*bsd flavors why another one?
;) ) with the work you have done.
Is there enough distinction between OpenBSD and TrustedBSD to justify it?
And most importantly How do you get some much time to devote it *two* projects?
Nevertheless I congratulate you (and am kind of jealous
Bolke.
- In Memoriam: Jeroen de Bruin (1972-2004), bye bro
FreeBSD development is obviously a big part of your life. I have noticed that peoples reasons for using a free OS are often not simply because its better, but because of some view or stance on freedom that they have.
I am a Windows guy, only because my job says so.
What I want to know is, how would you go about convincing me, a Win2k user, to consider using a *BSD. I am interested in learning a new OS... always. But, what makes it stand out from Linux/Win2k/MacOS?
Do you think FreeBSD is hurting in its distribution in comparison with Linux and commercial OSes? Not only are they available from numerous online stores, one can usually find them at simple retail outlets like Best Buy. On the contrary, FreeBSD distribution seems much more limited, with less retail and shrink-wrap options.
I have noticed, however, that linuxmall.com sells FreeBSD CDs, has the FreeBSD community recieved much support from the Linux community over distribution (such as mirrored FTP from mostly Linux servers)?
"The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
What do you see in the future for *BSD, with the huge amount of popularity that linux keeps on receiving, not to mention attention, esp. from our buddy Bill Gate$...
Do you think it will remain the strong, viable but simply less popular free OS it is now, hiding behind the limelight of linux, or will it come up in popularity, esp with the codebase for Apple's Darwin, which is all BSD based?
Stop over-analyzing your analizations
i am trying to cut the signal/noise ratio out of understanding bsd. specifically, what security documentation have you found useful day-in/out?
signatures are for fools with hands
Can you explain, in some detail, the overall goals of the BSDs you particpate in?
Please try and direct your answer to people who continue to proclaim that *BSD is dying, and point at some made up marketing numbers.
Everybody knows there's no such thing as a perfect system. As such, what do you think is the most, and least perfect points regarding security in FreeBSD.
Also, in terms of security, what do you think the most common dangerous behaviours are by FreeBSD users and admins? What would you change about the FreeBSD userbase if you could?
--
"Don't trolls get tired?"
Are there plans in the future to add an automated security update system? I see this as a database your system would check against to see if you are running any installation level security problems.
Justen Stepka
There seem to be a proliferating number of proposed extensions to
*NIXes with ruleset-based mandatory access controls. Is
standardisation important? What influence do you see of NSA's
recently released `security enhanced linux' having on other systems
(like that in TrustedBSD)?
While perusing the mailing lists for -hackers, -stable, -current, etc. etc., I often wonder what people like yourself, Mike Smith, Greg Lehey, and the other core members do to pay the bills. Unless something has changed recently with the BSDi takeover, I can't imagine that the FreeBSD project keeps the food on the table. So how about a little insight into your and the other core members "real" jobs. (As if there is such a thing as a "real" job). But anyways, thanks for all the hard work for little pay!
How does TrustedBSD compare with NSA secured linux (http://www.nsa.gov/selinux) in terms of new and or improved security features? And are there any plans to eventually integrate the rest of the TrustedBSD features back into the shared BSD source tree (the extended attributes already have been committed)? How would using TrustedBSD instead of FreeBSD impact clustering applications?
And just for my information, where did all the packages for clustering BSD go? All I can seem to find anymore is the linux stuff. And personally I don't like redhat and their rpm distribution method, all anyone wants to distribute anymore is rpms which is not near enough to standard and compatable accross the board as tar-gzip for my purposes. (One primary difference being that I can open a tar-gzip on a windows box at work during break to browse through source, and to my knowledge no one has bothered to create a "winrpm")
What's your opinion on the Open Packages project? Even though I'm not currently a *BSD user, it sounds great on the surface--there's even been interest expressed in patches for Linux!--but I've got to wonder what sort of complexities need to be worked out to maintain a set of packages for FreeBSD, NetBSD, OpenBSD, Darwin...
Stating on Slashdot that I like cheese since 1997.
What is the exact relationship between the Darwin Kernel and the FreeBSD kernel? How much FreeBSD code is in Darwin and how much Darwin code is in FreeBSD?
Burn Hollywood Burn
A while ago there was some hubbub in our community regarding the concept unifying the ports trees of the the different BSD flavors. It seems to me that this would be a mostly good thing, reducing duplication of work and making the ports both more plentiful and of a generally higher quality. Has there been any discussion of this in core? If so, does it look like this will ever happen?
--
SecretAsianMan (54.5% Slashdot pure)
Washington, DC: It's like Hollywood for ugly people.
Is there a need for something like Bastille for FreeBSD? There shouldn't be a need for it with TrustedBSD, should there?
Have you looked at what the NSA did to Linux and attempted to extract from it? Are there modifications they made that apply to TrustedBSD, either in source code or in spirit?
I love vegetarians - some of my favorite foods are vegetarians.
I've got a FreeBSD box that i want to bolt down and harden. It's a Dual PIII 800, and i want to use it for development and testing of a server program i'm writing. The server runs as nobody, so i'm not worried about that.
I've closed stuff off such that an nmap from localhost, tcp, syn, and udp shows only sshd, dhcpc, and syslog. I'm currently running the verson of openssh that comes with FreeBSD 4.2.
I'm planning on installing tripwire on the machine at some point as well. I also plan to write something that will mail me a diff of the setuid log between the current day and the previous day, as well as a similar thing for the password file. Any other suggestions?
---
Play Six Pack Man. I
Hi,
I'd like to thank you for all the work and effort you and your fellow developers are putting into this project. I currently use FreeBSD and have plans to try out your work on my next server configuration.
Could you give us a short overview of the process you're taking to make FreeBSD more secure? In particular, how does the TrustedBSD project compare with OpenBSD, which has been undergoing a line-by-line security audit for years? Most importantly, what are the advantages of choosing TrustedBSD over OpenBSD (besides the obvious project-loyalty factors)?
Kindest regards,
NGH
Man .. I used to hang with Watson. He used to run a BBS called Starlight. I was a fellow sysop that used to run a BBS called Celestial Happenings. Props to Perry and the Ritual de lo Habitual creww, and Props to 'gazer and the rest of the DC WWiV crew.
Anyway, here's my question:
Security has traditionally been viewed as more of an architecture of denial than anything else -- stop people from getting where they are not supposed to get. However, these days security has more impetus because of the sheer amount of intellectual property that's being housed on publically accessable computers. Do you think's it's theoretically possible to ever build a 'crack proof' system? I'm famaliar with FreeBSD's track record, and use it for my firewall at home. But should the onus of security be placed on the sysadmins of the server, or on the people that make the operating system the server runs?
anacron (aka Surface)
Given that X is an inherently insecure system (though great strides have been made to rectify this), how do you see the relationship between X and FreeBSD going forward? xfree86 v3.x is nice, v4.x is nicer (though it hasn't made it to the "default" windowing system for FreeBSD, presumably because of some gaping security holes). Surely, for the mindless masses, X (or some derivative) is a necessary part of the complete OS distribution. What does the core feel is a reasonable tradeoff between security and functionality, WRT this issue, and to what extent will the core move to "correct" any serious problems (non-platform specific) with future releases of X?
main(){char I,l,O[]={'-',1-1,0,(1<<5)-1,0+'-',-10-1,-10,11-0,
Eros, unfortunately, doesn't look like it's actually going to arrive (at least not in a timely manner), but I've read several of the papers on capability-based security and they were all very interesting.
What do you think about Eros? What's your opinion (and your perception of the security community's opinion) about capability based security?
Thanks, Jeremy
Looking for a Python IRC bot?
I run FreeBSD on 3 machines here. I felt in love with it.
/usr/src ?
One thing I was wondering about is how decision are taken about what goes in the real system (/usr/src) and what does not. For instance, rcp is in the base system, while rsync is in the port tree. When I started, less was not in the distribution, but now is. Why ? Will FreeBSD grow and accumulate more and more tools in
Something somewhat related that bother me is that as soon as I get away of the base system, things are much less clean. Even if the port tree is wonderfull, there is no simple command that will enable me to stay in sync with non-standard stuff. I would love beeing able to do something analogous to cvsup + make world to keep an up-to-date X / gnome / mozilla installation, with a defaut window manager and configuration that make sense. Is there any work in that direction ?
Cheers,
--fred
1 reply beneath your current threshold.
1) Do you ever plan on moving away from the slow and resource intensive method of VMS style paging for memory address resolution
2) Are there plans to rewrite the TCP/IP stack to be multi threaded
3) Will BSD ever migrate away from UFS to a more modern file system?
4) With serious POSIX compatablity issues are there plans to use code from POSIX compliant OS's to become more commercially attractive to major corporations
All the best,
--Bob
Do you think there is ever a time when you can declare a system "secure"? Assuming you dont, do you think it is even possible to objectively rate the security of a system?
How we know is more important than what we know.
I've heard it said numerous times that "Linux is more successful than BSD because of the license". The argument is that hackers prefer the GPL because their code can't be "stolen", whereas nothing stops Microsoft from using the BSD licensed code. I've even seen some Linux advocates point to Darwin as the ultimate example of exploitation.
What are your views on this from a perspective as a BSD hacker? Can free software really be stolen? Is BSD open for exploitation (in the negative sense)?
A Government Is a Body of People, Usually Notably Ungoverned
Mac users still get uncontrollable giggle fits when people talk about the "User friendly Windows interface". If you need a seemless, integrated UI for total control over the presentation and creation of complex data (Graphics, sound effects, bad screenplays, etc.) you need BeOS or a Mac.
Unix in all its many splendored flavors is good for when you need stability and performance. This is why it's usually paired with the =really= sexxxy hardware you need a government grant to buy. Unix boxes are at their finest as tools, accessories. Big, expensive shared peripherals that serve a specific, tailored purpose.
In my case, I've got a Sparcstation LX running OpenBSD for a purpose: I need to host a private web forum. It has to be robust, able to cope with large loads, and dirt cheap. Including the OpenBSD CD(with stickers!), the setup cost me $50. I don't need a windowing environment...I have my MacOS Powerbook on a network with it. After the initial install, I can administrate it better sitting on my couch than I can sitting on the terminal...the Mac's tools for editing bits of text from a usercentric standpoint are second to none. Perfect for tweaking configuration files.
And you will need to tweak configuration files. By hand. Might as well start off that way rather than continually correcting what the GUI administration applications assume is what you want. This is where BSD's shine. Their systems are simple and unsophisticated, well documented with clearly written manpages and FAQs, thus shallowing the learning curve if you need to get into the nitty-gritty of networking, soft-raid, security auditing, etc. You know...the stuff Unix is =good= at.
Linux is too chaotic, the distros vary too wildly from one to the other to make low level administration and automation easy. They cram everything but the kitchen sink into your system, none of it documented very well. This is fine if your hobby is computer science and you need a toy to play with, or you need a robust workstation environment, or you want to compete with Windows to be the hottest Mac rip-off arround. Not so good if you're trying to track BBS users by IP to filter out the trolls and bots.
There just isn't a GUI front end for that sort of stuff. Fancy windowing environments soak up valuable processor cycles and RAM. If you need a robust and fast server tailored to meet a specific utility, you need *BSD.
SoupIsGood Food
You might not be the best person to ask, but what are the difficulties in porting FreeBSD to other operating systems?
The alpha port seems to have been struggling somewhat recently with all the different motherboard configurations (alphapc for one) that make the alpha an almost completely different CPU in some critical points.
Theres also the sparc port, which doesnt appear to have made lots of progress at all.
Here comes the questions:
FreeBSD has had USB support since 3.3 iirc. Go check LINT, search FreeBSD.org, look at FreeBSD Diary and the FreeBSD Handbook for further information about setting up your FreeBSD box. I'm sure you'll see just how solid it is.
On the other hand, for OpenBSD and TrustedBSD, the "fuzzyness" of sharing the code base may make it more difficult to "warrant" the security of packages.
Would it be sensible/preferable to have a "fork" whereby there might be a set of Trusted Ports that would represent a (perhaps limited) set of software that undergoes more comprehensive code auditing, as well as the Unified Ports containing software that hasn't undergone such testing?
If you're not part of the solution, you're part of the precipitate.
You can find an exceptionally detailed answer at http://people.freebsd.org/~alex/libh/ which should give you a very good idea of where the FreeBSD distribution is headed, in the manner of granular, custimizable upgrades. JKH wrote a wonderful paper that covers this.
--
"Don't trolls get tired?"
If you're using IP Filter (and not natd, I don't have experience with it) you can add the following to the _top_ of /etc/ipnat.conf:
map ep0 192.168.0.0/24 -> 0/32 proxy port ftp ftp/tcp
To allow active FTP through the NAT, assuming 192.168.0.0/24 is your local network and ep0 is your external interface. I use this on my NetBSD NAT machine and it works great.
the entire kernel is being multi-threaded for 5.0, to provide fine grained SMP support.
Where can I find more info about plans for FreeBSD 5.0? Is 5.0 include the integration of BSDI code? Freebsd.org doesn't seem to mention much.
chris
cpeterso
Microsoft has Active Directory.
Novell has NDS.
NextStep has NetInfo.
Will FreeBSD be supporting any type of directory service? I know there's always DNS but I was thinking of something a little more powerful.
What I (and most network admins) would like is a nice central way to manage users, computers, or any other network "object". In order for this to work well the service will probably have to be added to the distro - not just supplied as an external package (hence your envolvement.)
I was thinking that since NetInfo has been opensourced it might be a good solution. I know a Linux port already exists.
Making xxBSD easy to setup and administer would greatly increase its appeal to network administers. During the install procedure you should have the option "connect via NetInfo" where everything is done for you - you shouldn't even have to assign it a root password. All administration, and I mean everything, should be done from a central location. (I know most UNIX gurus probably want their commands like "adduser" - but some type of directory service should still be an option.)
Aah, network nirvana...
Willy
http://people.freebsd.org/~jasone/smp/
cpeterso
The common criteria are far more than the old orange book controls (B1, B2, C1, ...). Part two of ISO 15408 has many things that I'd really like to see (and I'm prepared to help, too).
Why even bother with the old style Orange book stuff, which barely work in a networked environment, when the new style CC definitions are available for free?
Also will you be providing a framework such that deployed TrustedBSD systems are ready for CC evaluation?
Lastly, any plans for a NetBSD version? Want some help?
Andrew van der Stock
A biger question - to what extent are these formal, committee-design secure systems criteria relevant to securing an open source product? What is good about them? What specifically do you find flawed or totally useless? What did you have to improvise because the methodology didn't cover it?
If your children ever found out how lame you are, they'd murder you in your sleep
Damn, people. It's not like OpenSSH is a big secret.
I still say that backbone providers should throw all port 23 traffic on the floor just on principle. It's no different than hiding your friend's car keys until he sobers up.
Kernel vs Kernel
Gnu tools vs Gnu tools
this goes here, this goes there
All of these can become moot details to an experianced admin.
The real question for me is...
Any plans on porting to dpkg and apt?
Novel theory: Modern Man evolved from psychopath
Uhmm....no. *BSD support for USB was done NetBSD a while back and merged into project from there. This was done back in mid '99. Dont say as of 4.1 as that is mere FUD.
When I installed RedHat 7.0...
You're actually using RedHat 7.0!??! Are you on coke? You obviously didn't read about their shitty gcc version they packaged with it. If I remember correctly, Linus called RH7 "Unsuitable for any use". It's ok you're a newbie.
So does FreeBSD have usb support, Yes. Is it as clean and complete as it should be, not yet.
My God thats incorrect. If you have even bothered to follow any mailing lists you'd see you were woefully wrong. Go spread your unsubstantiated FUD elsewhere.
One of the knocks on many the free operating systems was a lack of support for enterprise technologies. I work at a company working on InfiniBand hardware. We will be supporting Linux, as Intel will be releasing IB host drivers for it. It is not known how this code will be released, although Intel seems to be indicating the source will be available. We don't know how, though. For example it may require membership in the IB Trade Org. We are totally willing to release drivers for other OS's like *BSD, but are not willing to write a full OSVerbs InfiniBand driver for it. How and when do FreeBSD and TrustedBSD plan to implement IB support, if at all?
-- soldack
They can't spot a troll when they see one.
(8-DCS)