In this interview, Bob introduces his new book, discusses the "seven deadly sins" of Linux security, and outlines the benefits of the open source software model. He also points out the pitfalls that many system administrators fall into and how to avoid them.
Recently
I got the opportunity to speak to Bob Toxen, the author of "Real
World Linux Security: Intrusion Prevention, Detection and Recovery."
He is a long time contributor to many Linux/Unix projects and currently works
as an independent consultant. When Bob isn't securing Linux systems,
writing articles/books, he is riding around Atlanta in his Rolls-Royce
Silver Shadow proudly displaying his front "Linux" license plate.
You will find that Bob's approach to security is one that is simple but
effective. I encourage you to take the time and read what he has
to say. You'll come away with a new perspective on security.
LinuxSecurity.com-
Please give our readers a brief introduction to your new
book, "Real World Linux Security: Intrusion Prevention, Detection
and Recovery." Who does the book appeal to? Where can it be
purchased?
Bob Toxen-
Rather than simply providing a guide to crackers or serving as a theoretical
treatise, it is a very "hands on" step-by-step guide to securing almost
any Linux or Unix system to the extent desired. Along the way I explain
why the various things must be done to secure a system, in a way that does
not require a PhD in computer science.
It helps any system administrator
understand how and why Linux and Unix can be made secure and enables administrators
to gain a deeper understanding of security and why Linux and Unix do things
the way that they do. I mention a number of real incidents to give
people a "feel" for what they might encounter in a real break-in and to
avoid the "this cannot happen to me" mentality. I have used humor
throughout the book to make it fun.
One of the unique features
is Chapter 2, "Quick Fixes For Common Problem". It allows a system
administrator to take care of the most severe problems without a large
investment in time. I realize that most system administrators are
overworked and that "if it takes too long" they will not bother. There
are jokes or puns behind almost every example. Many of the examples
are complete and ready for use.
I also explain the most common
attacks and some of the most subtle. This is done to smash common
misconceptions that prevent people for solving security problems.
One of the most common misconceptions is that throwing a firewall up between
the a company network and the Internet magically will solve all of the
security problems. I did this by explaining how easily a cracker
can tunnel through a firewall or do an end run around it.
In later chapters, various
subsystems, problems, and techniques are examined in depth. The use
of security tools are explained in detail. Methods of detecting attacks,
locking the would-be cracker out automatically, and paging and emailing
the SysAdmin are shown. Ways to recover quickly from successful attacks
are discussed in depth.
Many of the ideas, such as
the technique that can be used by an E-Commerce site for protecting customers'
credit card data and the "Adaptive TCP Wrappers" and "Cracker Trap" are
my own ideas. The reader will not see them elsewhere. Rather
than their being "crackpot" ideas, though, the best security experts could
not break my credit card solution. While my Adaptive TCP Wrappers and Cracker
Trap solutions may not be appropriate for large sites, they are very effective
for home systems and small to medium shops and have proven themselves to
be very effective in a year of continuous use at several sites. The
book offers complete IP Chain examples, including the use of a DMZ and
how to separate services on different servers for maximum security.
There is extensive cross-referencing,
including page numbers, that also allow the book to be used as a reference
to look up related problems. There is an extensive index and appendices
listing online and other resources. The accompanying CD-ROM contains
the security programs and scripts I created to easily detect open ports,
implement the "Adaptive TCP Wrappers", "Cracker Trap", automatic paging
and light flashing alert, defaced web page detector, implement firewall
rules, etc., as well as many popular security-related tools.
The book can be purchased
online now at www.softpro.com, Borders.com,
Amazon.com,
bn.com, and fatbrain.com.
It is stocked in SoftPro, Borders, and MicroCenter stores and at some Barnes
& Noble stores. Some stores have been having trouble keeping
it in stock; readers may want to phone ahead and have a copy reserved.
Almost any bookstore can order it for pickup in a few days. The ISBN
is 0-13-028187-5. The publisher is Prentice Hall.
---
Bob mentions TCP Wrappers
and IPChains. If you would like to further research these topics,
here are a few resources that may be helpful. Both TCP Wrappers and
IPChains are instrumental in the development of a secure network.
TCP Wrappers:
An
introduction to TCP wrappers Linux
Security: TCP-Wrappers? Linux
Security Administrator's Guide
IPChains:
Linux
IPCHAINS-HOWTO A
Firewall for Linux with Ipchains Linux
Networking: Using Ipchains
LinuxSecurity.com-
What lead you to writing a book? How did you find a
publisher and approximately how long did it take to write.
Bob Toxen-
The number one reason for writing it was to help Linux win the war to provide
quality software to the world. Even my non-computer friends are trying
Linux and finding it productive. I do not know of anyone who has
replaced a Linux system with another operating system unless forced to
by someone who does not have to maintain it.
I saw the greatest weakness
with Linux being that almost nobody knows how to secure it. I think
that it is capable of being orders of magnitude more secure than Windows,
including 2000 and NT, and my goal with the book was to provide this knowledge
to everyone. I think that this will help turn the tide. The
royalties I stand to make on book sales are far less than the value of
the time that I took away from my Linux and Unix consulting business to
write it. I consider this to be my major contribution to Linux.
A publisher found me and
asked me to write a book on one of several Linux topics. I picked
security. I thought that my 25 years of Unix with a continuing interest
in security, 5 years of Linux, and 10 years of network programming gave
me a unique ability to write on security.
Unfortunately, that publisher
subsequently stopped returning phone calls, possibly due to a competing
project. Having already done the basic book design and having started
writing it, I went to the 1999 Atlanta Linux Showcase and met Miles Williams
of Prentice Hall. While a quick but poor quality product can be more
profitable, Miles allowed me to "do it right".
I already had worked part
time for almost a year. After that, I worked almost all of my waking
moments, seven days a week for six months writing and editing the book.
My six excellent technical reviewers cut me no slack. Vulnerabilities that
I did not originally talk about were discussed. Unnecessary material was
removed. Unclear passages were rewritten, sometimes several times.
Miles had me alter the organization a bit for better clarity.
I am very grateful to have
had two of the world's leading Linux and Unix security experts as technical
reviewers to help me make it complete and accurate. These were Kurt
Seifried of SecurityPortal.com and Mike Warfield, Wizard of Internet Security
Systems.
Two other reviewers were
experienced Linux system administrators and helped me make rough parts
more understandable. One newbie friend asked to read drafts.
While targeted for the experienced SysAdmin, she understood almost all
of it. We worked to add clarity to the remaining bits. The
sixth reviewer has a strong security bent and had lots of suggestions.
Eric Raymond wrote the Foreword.
Steve Bourne, creator of the Bourne Shell, provided a cover quote.
LinuxSecurity.com-
Please explain the "Seven Deadly Sins of Linux Security"
and how you cover this topic in your book.
Bob Toxen-
These are the most common problems that allow a Linux or Unix system to
be broken into. Larry Gee wrote this part of the book as well as
the section on Samba. These sins are:
1. Weak passwords
2. Open network ports
3. Old software versions
4. Poor Physical Security
5. Insecure CGIs [web server helper programs]
6. Stale and unnecessary accounts
7. Procrastination
We explain how each problem
can be avoided. I explain how good passwords can be created.
I discuss how a system can be scanned for open network ports and I provide
a program that I wrote on the accompanying CD-ROM that does this more easily
than netstat and which also recognizes the most common cracker server ports.
It also flags any port above 1023 in the listen state that is not known
to be legitimate and which may be a cracker server waiting for the word
to attack.
I explain how to get on mailing
lists to be notified when security fixes are available for various Linux
and Unix distributions. I explain why CGIs tend to be insecure and
that this endangers a web server's most important data even though they
do not run as root.
While procrastination may
be obvious, many break-ins are at least partially due to it. By listing
this as one of the deadly sins, I hope to get many system administrators
to resolve the other problems NOW.
---
LinuxSecurity.com offers
many resources that are helpful in reducing the level of system vulnerability
due to the "seven deadly sins." Here I have outlined articles that
provide additional information on each of the topics above.
-
Choosing
Secure Passwords
-
Scanning
and Defending Networks with Nmap Scanning
Tools
-
Keeping
Up to Date
-
Physical
Security
-
User,
System, and Process Accounting
-
Security
is an Interactive Sport
LinuxSecurity.com-
I understand that your book provides solutions and further
explanations of problems mentioned in Bruce Schneier's book, "Secrets
and Lies: Digital Security in a Networked World." What
are some examples of the problems and your proposed solutions?
Bob Toxen-
Bruce's book should be required reading for all CEOs and managers who think
that a firewall and Windows solves their computer security problems. Bruce
seems to take the attitude now that because security never can be perfect,
we ought to simply give up. My words are my own opinions.
Both Bruce and I discuss
the problems of laptop computers containing confidential data being stolen,
risking the data's exposure. My book explains how to keep data on
the disk in an encrypted form using the Free Software Foundation's GPG
program that implements PGP security. I also suggest that the reader use
the PPDD encrypted disk driver that encrypts all data before writing it
to the disk. He says that many laptops are stolen at airports.
I explain the technique and how to prevent it from being used against you.
Bruce talks about the problems
of buffer overflow attacks as if it was a never ending unsolvable problem.
He says that in 1998 over 66% of all CERT advisories were for buffer overflow
vulnerabilities and that during two weeks in 1999, 18 buffer overflow security
flaws were found in Windows NT.
The latter problem can be
avoided by replacing those NT systems with Linux. His statistics
for 1998 (which include non-Linux systems) are, of course, obsolete now.
In 2000 there were few buffer overflow vulnerabilities discovered and most
of these could have been blocked by one of several techniques I discuss
in the book. My favorite is installing Libsafe. It's easy to
install and use. It blocks approximately 50% of buffer overflow vulnerabilities.
It works by being invoked
instead of some standard dynamic library routines that crackers commonly
take advantage of. It provides hardened versions of these routines
used to overflow buffers, such as gets() and strcpy(). These hardened
versions determine -- in real-time and without affecting performance --
if any attempted operation would cause overwriting of the stack.
They will cause the program to terminate rather than risk an overflow.
Libsafe was created by Bell Labs, which also created Unix.
I also discuss techniques
for causing commonly attacked programs, such as named, sendmail, Apache,
and CGIs to be invoked with sufficiently limited privileges that most vulnerability
found by crackers will not allow much harm. I also discuss separating
out different services onto different systems so that, say, a successful
CGI attack cannot be used to attack web pages, mail, DNS, or other services.
I explain a technique that prevents even a successful CGI, Apache, or network
sniffing attack from allowing a cracker to get a company's customer credit
card data. This technique is impervious to virtually all attacks.
When reading Bruce's book after reading mine, other examples will occur
to a reader.
---
For additional information
on Libsafe, please refer to the Secure
Programming for Linux and Unix HOWTO.
Libsafe:
Protecting Critical Elements of Stacks
"The libsafe library
protects a process against the exploitation of buffer overflow vulnerabilities
in process stacks. Libsafe works with any existing pre-compiled executable
and can be used transparently, even on a system-wide basis. The method
intercepts all calls to library functions that are known to be vulnerable.
A substitute version of the corresponding function implements the original
functionality, but in a manner that ensures that any buffer overflows are
contained within the current stack frame. Libsafe has been shown to detect
several known attacks and can potentially prevent yet unknown attacks.
Experiments indicate that the performance overhead of libsafe is negligible.
Copyright (C) 1999 Bell Labs, Lucent Technologies."
LinuxSecurity.com-
What are some of the major pitfalls Linux Administrators
fall into? How can your book help to avoid these problems?
Bob Toxen-
Many think that Linux is secure out of the box, which it is not. I've seen
shocking weaknesses in Red Hat, Slackware, and Debian. I'm sure that if
I did out of the box installs of most other Linux and Unix distributions,
I'd see problems. Even Mandrake's "pick your security level" is not
a cure-all and it is not clear what each security level actually does.
Many think that break-ins
are rare and so they should worry about other problems instead. Perhaps
50% of networks connected to the Internet have suffered break-ins.
Any medium to large entity is guaranteed to suffer break-ins.
Some think that just throwing
money at a firewall or router company or just running an intrusion detection
system will solve their problems. I debunk this by explaining how
these "solutions" can and do fail.
Some think that it will take
too long and that they do not have time. Some have a fatalistic attitude.
I offer Chapter 2's "quick fixes" for the most commonly exploited vulnerabilities.
---
Many articles have been
written to help administrators secure their "out of the box" Linux
install. Some of them include, "Post
Installation: Is it secure out of the box?" "Securing
and Optimizing Linux: Red Hat Edition" and "Securing
the Linux Environment Part One: Installation Issues."
LinuxSecurity.com-
You mention, "Almost all steps can be done on production
systems without rebooting or even disrupting current services." Please
explain your reason for taking this approach and give a few examples of
problems that can be fixed quickly and easily without rebooting the system.
Bob Toxen-
Most large companies have policies against taking their large systems down
any more than absolutely necessary. One of my clients forbids scheduled
downtime between 8 am and 9 pm during the week. Most SysAdmins would
rather be elsewhere at other times and this causes some not to do what
is necessary to secure their systems. Linux has an advantage here
over Windows security fixes that often require a reboot.
Some of the problems that
can be fixed quickly and easily without rebooting including using Crack
to discover weak passwords, implementing shadowed MD5 passwords to make
it harder for crackers to break whatever passwords are used, using the
"find" program to find and fix files with inappropriate permissions, e.g.
world-writable or inappropriate set-UID bits, and finding unnecessary open
network ports (services) and shutting them off.
Even updating sendmail can
be done by moving the new version to the correct place and issuing a single
command line to kill the sendmail process listening on port 25 and restarting
it. During this 20 millisecond window, any remote systems that try
to connect simply will try again shortly. This relies on a unique
Linux and Unix feature when the mv command (or similar command) moves the
new version to where the old version of a program was. If some user
is running the old version at the time, it will continue to run until finished
even though this old version was removed from its directory on disk.
This works for similar daemons too.
LinuxSecurity.com-
What do you feel is the most common Linux system vulnerability?
What can be done to prevent this?
Bob Toxen-
NFS and its cohorts mountd, portmap, statd, etc. is the most common vulnerability.
If at all possible, turn them off! Ssh is a secure alternative for
copying files between systems or doing remote and no reboot is required.
If one cannot live without NFS, set up an isolated network containing the
NFS servers and clients. Protect this network from the Internet and
an entity's large internal network with a Linux firewall. Be sure that
the firewall that protects one's entire network from the Internet blocks
these ports.
If the NFS systems are physically
separated, link them with a Linux VPN (Virtual Private Network)/firewall.
In the book, I cover an innovative solution using PPP over a ssh secure
encrypted connection. I have implemented this solution for a client's
network of Unix systems that suffered some break-ins.
NFS's design prevents it
from being made secure but it can be so useful. This is why it is such
a problem. Many Linux distributions and and some Unix versions enable
it by default and that is a really bad idea.
Next to NFS, buffer overflows
seem to be the greatest problem. The FTP daemon and Sendmail most
frequently are attacked this way. Libsafe is an excellent innovative
solution; keeping one's software up-to-date is critical. My clients
have demanded that I provide a security patch update service for them so
that they do not have to worry about it. Weak passwords are a major
problem too.
---
Security
and NFS from the NFS HOW-TO.
LinuxSecurity.com-
Do you believe the open source nature of Linux provides a
superior vehicle to making security vulnerabilities easier to spot and
fix?
Bob Toxen-
Absolutely! This allows hundreds of people to look for vulnerabilities
in any piece of code instead of the half dozen or so that might have access
to a proprietary piece of code. Those half dozen may be under time
pressure to finish a project. When a programming project is behind
schedule, as almost all are, security and testing are the first parts to
be cut.
While the white hats will
not have access to proprietary code, the black hats usually will get a
copy. This recently happened to Microsoft's "crown jewels".
It has happened to Cisco's code. No doubt, most cases of illegally
obtained code never are publicized. A good cracker could just disassemble
the executable program instead and some do and find vulnerabilities.
I also find open source programs
to be of a much higher quality than proprietary code. As cutting
edge technology, Linux, and Unix before it, has attracted the world's best
programmers. It is a matter of pride and integrity to do the best
job possible.
LinuxSecurity.com-
Where do you see IT security and Linux going in the future?
What will it take to make vendors and users more security conscience?
Bob Toxen-
I see the various Linux distributions being much more secure "out of the
box" due to competitive pressure. I also see them "walking the SysAdmin"
through the process of securing their systems. I see the statefull
and content-based features of some of the best proprietary firewalls become
standard open source solutions on Linux.
I see monitoring of networks,
with humans to backup up intrusion detection programs, to respond to suspicious
activity. I offer this service as do a number of other firms.
Only the largest entities have the in-house capability to do this.
Many sites will have "Security Backup" systems that can be deployed within
minutes or seconds in case of a security breach, possibly automatically.
This is discussed in the book.
Most entities will do remote
monitoring of their web sites for defacement and will do periodic security
scans of their important systems for signs of successful break-ins and
planted Trojans. I'm already doing this for clients and myself.
Already, many system administrators
select Linux and BSD Unix due to their excellent security and ease of use.
Those that do not accept this will lose market share or even go bankrupt.
The recent breach of Egghead's IIS server comes to mind. Cracker
tools have gotten so good that everyone will be forced to maintain good
security or get cracked.
LinuxSecurity.com-
What are your future plans? Do you plan on writing
any other books/articles?
Bob Toxen-
I plan to help my clients secure their Linux and Unix systems and networks.
I have opened the eyes of many and take pleasure in helping others see.
I hope to turn more people from what some consider to be the Dark Side
of the Force. I have no future book plans, other than revising this
book in a year or two. I have been invited to write magazine articles,
give security classes, and speak at events. I look forward to doing
this.
LinuxSecurity.com-
Tell us a little bit about the history behind your car.
Have you installed any type of security system?
Bob Toxen-
I purchased my Rolls-Royce Silver Shadow at auction on eBay at the end
of March 1999. I could not resist telling all of my friends about
my acquisition on April 1. To my amazement two actually believed
me. Some didn't for months. It may be seen around Atlanta with
a "Linux" front license tag and at:
http://www.cavu.com/rolls.html
My principal client at the
time was growing rapidly. To help everyone get to know each other
better, the office manager sent email to everyone asking that we tell all
what our favorite dessert was, what our fantasy car would be, etc.
When I said that my fantasy car was a Rolls-Royce, she said that one was
being auctioned off on eBay.
My bluff was called!
With much trepidation and questioning of my sanity I started bidding.
I knew next to nothing about them other than that they were beautiful,
built to last a lifetime, and fit for royalty. As the bids grew,
I did more research and got a friend who is a mechanic with some Rolls-Royce
experience to agree to fly out to Reno to see it.
While it does have an alarm
system, Rolls-Royces are so rare and instantly recognizable that few professional
thieves would steal one and amateurs probably would not get far.
I am careful where I park it. To avoid carjacking, I always drive
with the doors locked and carry arms. This would be excellent practice
for anyone.
LinuxSecurity.com-
Can you offer a brief description of your background? How
long have you been working with Linux and Security?
Bob Toxen-
I spent four years at the University of California, Berkeley majoring in
Computer Science. My Freshman year was the one that Ken Thompson
came on sabbatical to create and teach the Operating Systems class and
to port Unix to the PDP 11/70. When I took the class two years later,
it was the identical class and I greatly benefited from it. Berkeley's
strengths were in operating
systems, compiler theory and construction, and structured programming;
these skills have served me very well ever since.
Like many great universities,
though, at Berkeley the professors were gods, graduate students their priests,
and undergraduates the peons. Because of this, undergraduates were
denied the opportunity to improve the Unix kernel or utilities. The
solution taken by myself and a few friends was to break into the system
and make improvements in secret.
Doug Merritt and I worked
to enhance the terminal driver so that a control-H would blank out the
character deleted and control-U would blank out the entire line on the
screen. To my knowledge this was the first implementation of this
feature on Unix in the world. We made other improvements, some in
secret and some in the open. We also influenced development of many
of the utilities, especially vi and Berkeley Mail.
I was the first person at
Berkeley to start enhancing the shell. I was able to do this only
when a security lapse allowed me to read and copy its source. If
I had it to do again, instead I would have spent more effort to be allowed
to do my research in the open. I created the Berkeley Unix lock program
overtly. Variations of lock now are universal on Unix, Linux, and
Windows.
Following school, I consulted
for a few years and then worked at Onyx porting Unix to their microcomputers,
the first micros to run Unix. On the side, I gave seminars on Unix and
wrote magazine columns and articles on it. Steve Bourne then hired
me at Silicon Graphics to be part of the four person team to port Unix
to their first workstation. I then spent five years at Stratus Computer
creating a fault-tolerant Unix and later a fault-tolerant NFS server, both
running on top of a non-Unix native operating system.
Since 1990 I have been an
independent consultant and I now have people working for me.
Bob, I would like to thank you for having this interview. We look forward
to seeing your future projects, articles, and contributions to Linux and
security.
Only registered users can write comments. Please login or register. Powered by AkoComment! |