Summary
bull; This book is the bible of Internet security. Whatever else is in the market, this one is at the very top of the list. Notable for its engaging style, technical depth, and the clear real-world experiences of the authors. bull; Nearly a complete rewrite of the first edition; reviewers say it's even better. bull; First edition has sold more than 68, 000 copies! (1/e was Y; 2/e is X.)
Author Biography
William R. Cheswick (http://cheswick.com) is Chief Scientist at Lumeta Corporation, which explores and maps clients' network infrastructures and finds perimeter leaks. Formerly he was a senior researcher at Lucent Bell Labs, where he did pioneering work in the areas of firewall design and implementation, PC viruses, mailers, and Internet munitions.
Steven M. Bellovin (http://stevebellovin.com) is a Fellow at AT&T Labs Research, where he works on networks, security, and, especially, why the two don't get along. He is a member of the National Academy of Engineering and is one of the Security Area directors of the Internet Engineering Task Force. Long ago he was one of the creators of NetNews.
Aviel D. Rubin (http://avirubin.com) is an Associate Professor in the Computer Science Department at Johns Hopkins University and serves as the Technical Director of their Information Security Institute. He was previously Principal Researcher in the Secure Systems Research Department at AT&T Laboratories and is the author of several books.
020163466XAB01302003
Table of Contents
Preface to the Second Edition |
|
xiii | |
Preface to the First Edition |
|
xvii | |
|
|
1 | (92) |
|
|
3 | (16) |
|
|
3 | (4) |
|
Picking a Security Policy |
|
|
7 | (3) |
|
|
10 | (1) |
|
|
10 | (1) |
|
Strategies for a Secure Network |
|
|
11 | (5) |
|
The Ethics of Computer Security |
|
|
16 | (2) |
|
|
18 | (1) |
|
A Security Review of Protocols: Lower Layers |
|
|
19 | (22) |
|
|
19 | (9) |
|
Managing Addresses and Names |
|
|
28 | (6) |
|
|
34 | (3) |
|
Network Address Translators |
|
|
37 | (1) |
|
|
38 | (3) |
|
Security Review: The Upper Layers |
|
|
41 | (32) |
|
|
41 | (5) |
|
|
46 | (1) |
|
|
47 | (5) |
|
|
52 | (6) |
|
|
58 | (4) |
|
Simple Network Management Protocol---SNMP |
|
|
62 | (1) |
|
The Network Time Protocol |
|
|
63 | (1) |
|
|
64 | (4) |
|
|
68 | (1) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
71 | (2) |
|
The Web: Threat or Menace? |
|
|
73 | (20) |
|
|
74 | (5) |
|
|
79 | (6) |
|
|
85 | (4) |
|
Web Servers vs. Firewalls |
|
|
89 | (2) |
|
|
91 | (1) |
|
|
91 | (2) |
|
|
93 | (42) |
|
|
95 | (24) |
|
|
95 | (3) |
|
|
98 | (2) |
|
|
100 | (3) |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
105 | (1) |
|
Exponential Attacks---Viruses and Worms |
|
|
106 | (1) |
|
Denial-of-Service Attacks |
|
|
107 | (10) |
|
|
117 | (1) |
|
|
117 | (2) |
|
The Hacker's Workbench, and Other Munitions |
|
|
119 | (16) |
|
|
119 | (2) |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (3) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
128 | (4) |
|
|
132 | (3) |
|
III Safer Tools and Services |
|
|
135 | (38) |
|
|
137 | (16) |
|
|
138 | (6) |
|
Time-Based One-Time Passwords |
|
|
144 | (1) |
|
Challenge/Response One-Time Passwords |
|
|
145 | (1) |
|
Lamport's One-Time Password Algorithm |
|
|
146 | (1) |
|
|
147 | (1) |
|
|
147 | (1) |
|
|
148 | (1) |
|
SASL: An Authentication Framework |
|
|
149 | (1) |
|
Host-to-Host Authentication |
|
|
149 | (1) |
|
|
150 | (3) |
|
Using Some Tools and Services |
|
|
153 | (20) |
|
|
153 | (1) |
|
Ssh---Terminal and File Access |
|
|
154 | (4) |
|
|
158 | (1) |
|
Network Administration Tools |
|
|
159 | (3) |
|
Chroot---Caging Suspect Software |
|
|
162 | (3) |
|
Jailing the Apache Web Server |
|
|
165 | (2) |
|
Aftpd---A Simple Anonymous FTP Daemon |
|
|
167 | (1) |
|
|
168 | (1) |
|
|
168 | (1) |
|
Samba: An SMB Implementation |
|
|
169 | (1) |
|
|
170 | (1) |
|
Adding SSL Support with Sslwrap |
|
|
170 | (3) |
|
|
173 | (72) |
|
|
175 | (22) |
|
|
176 | (9) |
|
Application-Level Filtering |
|
|
185 | (1) |
|
|
186 | (2) |
|
|
188 | (5) |
|
|
193 | (1) |
|
|
194 | (3) |
|
|
197 | (14) |
|
Reasonable Services to Filter |
|
|
198 | (8) |
|
|
206 | (1) |
|
|
207 | (2) |
|
|
209 | (1) |
|
|
210 | (1) |
|
|
211 | (22) |
|
|
212 | (2) |
|
|
214 | (1) |
|
Building a Firewall from Scratch |
|
|
215 | (12) |
|
|
227 | (3) |
|
|
230 | (3) |
|
|
233 | (12) |
|
|
234 | (2) |
|
Virtual Private Networks (VPNs) |
|
|
236 | (6) |
|
|
242 | (3) |
|
V Protecting an Organization |
|
|
245 | (40) |
|
|
247 | (12) |
|
|
248 | (1) |
|
|
249 | (4) |
|
|
253 | (2) |
|
|
255 | (2) |
|
|
257 | (2) |
|
Safe Hosts in a Hostile Environment |
|
|
259 | (20) |
|
What Do We Mean by ``Secure''? |
|
|
259 | (1) |
|
Properties of Secure Hosts |
|
|
260 | (5) |
|
|
265 | (1) |
|
|
266 | (4) |
|
|
270 | (1) |
|
Administering a Secure Host |
|
|
271 | (6) |
|
Skinny-Dipping: Life Without a Firewall |
|
|
277 | (2) |
|
|
279 | (6) |
|
|
280 | (1) |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
282 | (3) |
|
|
285 | (48) |
|
|
287 | (14) |
|
|
287 | (3) |
|
|
290 | (4) |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
296 | (2) |
|
|
298 | (3) |
|
|
301 | (12) |
|
|
302 | (1) |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
304 | (6) |
|
|
310 | (1) |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
312 | (1) |
|
Secure Communications over Insecure Networks |
|
|
313 | (16) |
|
The Kerberos Authentication System |
|
|
314 | (4) |
|
|
318 | (1) |
|
|
318 | (4) |
|
Application-Level Encryption |
|
|
322 | (7) |
|
Where Do We Go from Here? |
|
|
329 | (4) |
|
|
329 | (1) |
|
|
330 | (1) |
|
|
330 | (1) |
|
|
331 | (1) |
|
|
331 | (1) |
|
|
332 | (1) |
|
|
333 | (22) |
|
A An Introduction to Cryptography |
|
|
335 | (14) |
|
|
335 | (2) |
|
A.2 Secret-Key Cryptography |
|
|
337 | (2) |
|
|
339 | (3) |
|
A.4 Public Key Cryptography |
|
|
342 | (1) |
|
A.5 Exponential Key Exchange |
|
|
343 | (1) |
|
|
344 | (2) |
|
A.7 Secure Hash Functions |
|
|
346 | (1) |
|
|
347 | (2) |
|
|
349 | (6) |
|
|
350 | (1) |
|
|
351 | (1) |
|
|
352 | (1) |
|
B.4 Vendor Security Sites |
|
|
352 | (1) |
|
|
353 | (2) |
Bibliography |
|
355 | (34) |
List of s |
|
389 | (2) |
List of Acronyms |
|
391 | (6) |
Index |
|
397 | |
Excerpts
But after a time, as Frodo did not show any sign of writing a book on the spot, the hobbits returned to their questions about doings in the Shire. Lord of the Rings J.R.R. TOLKIEN The first printing of the First Edition appeared at the Las Vegas Interop in May, 1994. At that same show appeared the first of many commercial firewall products. In many ways, the field has matured since then: You can buy a decent firewall off the shelf from many vendors. The problem of deploying that firewall in a secure and useful manner remains. We have studied many Internet access arrangements in which the only secure component was the firewall itselfit was easily bypassed by attackers going after the "protected" inside machines. Before the trivestiture of AT&T/Lucent/NCR, there were over 300,000 hosts behind at least six firewalls, plus special access arrangements with some 200 business partners. Our first edition did not discuss the massive sniffing attacks discovered in the spring of 1994. Sniffers had been running on important Internet Service Provider (ISP) machines for monthsmachines that had access to a major percentage of the ISP's packet flow. By some estimates, these sniffers captured over a million host name/user name/password sets from passing telnet, ftp, and rloginsessions. There were also reports of increased hacker activity on military sites. It's obvious what must have happened: If you are a hacker with a million passwords in your pocket, you are going to look for the most interesting targets, and .mil certainly qualifies. Since the First Edition, we have been slowly losing the Internet arms race. The hackers have developed and deployed tools for attacks we had been anticipating for years. IP spoofing Shimomura, 1996 and TCP hijacking are now quite common, according to the Computer Emergency Response Team (CERT). ISPs report that attacks on the Internet's infrastructure are increasing. There was one attack we chose not to include in the First Edition: the SYN-flooding denial-of- service attack that seemed to be unstoppable. Of course, the Bad Guys learned about the attack anyway, making us regret that we had deleted that paragraph in the first place. We still believe that it is better to disseminate this information, informing saints and sinners at the same time. The saints need all the help they can get, and the sinners have their own channels of communication. Crystal Ball or Bowling Ball? The first edition made a number of predictions, explicitly or implicitly. Was our foresight accurate? Our biggest failure was neglecting to foresee how successful the Internet would become. We barely mentioned the Web and declined a suggestion to use some weird syntax when listing software resources. The syntax, of course, was the URL... Concomitant with the growth of the Web, the patterns of Internet connectivity vastly increased. We assumed that a company would have only a few external connectionsfew enough that they'd be easy to keep track of, and to firewall. Today's spaghetti topology was a surprise. We didn't realize that PCs would become Internet clients as soon as they did. We did, however, warn that as personal machines became more capable, they'd become more vulnerable. Experience has proved us very correct on that point. We did anticipate high-speed home connections, though we spoke of ISDN, rather than cable modems or DSL. (We had high-speed connectivity even then, though it was slow by today's standards.) We also warned of issues posed by home LANs, and we warned about the problems caused by roaming laptops. We were overly optimistic about the deployment of IPv6 (which was called IPng back then, as the choice hadn't been finalized). It stillhasn't been deployed, and its future is still somewhat uncertain. We were correct, though, about the most fundamental point we made: Buggy host software is a major security issue. In fact, we called it the "fundamental theorem of firewalls": Most hosts cannot meet our requirements: they run too many programs that are too large. Therefore, the only solution is to isolate them behind a firewall if you wish to run any programs at all. If anything, we were too conservative. Our Approach This book is nearly a complete rewrite of the first edition. The approach is different, and so are many of the technical details. Most people don't build their own firewalls anymore. There are far more Internet users, and the economic stakes are higher. The Internet is a factor in warfare. The field of study is also much largerthere is too much to cover in a single book. One reviewer suggested that Chapters 2 and 3 could be a six-volume set. (They were originally one mammoth chapter.) Our goal, as always, is to teach an approach to security. We took far too long to write this edition, but one of the reasons why the first edition survived as long as it did was that we concentrated on the concepts, rather than details specific to a particular product at a particular time. The right frame of mind goes a long way toward understanding security issues and making reasonable security decisions. We've tried to include anecdotes, stories, and comments to make our points. Some complain that our approach is too academic, or too UNIX-centric, that we are too idealistic, and don't describe many of the most common computing tools. We are trying to teach attitudes here more than specific bits and bytes. Most people have hideously poor computing habits and network hygiene. We try to use a safer world ourselves, and are trying to convey how we think it should be. The chapter outline follows, but we want to emphasize the following: #xA0;#xA0;#xA0;#xA0;#xA0; It is OK to skip the hard parts. If we dive into detail that is not useful to you, feel free to move on. The introduction covers the overall philosophy of security, with a variety of time-tested maxims. As in the first edition, Chapter 2 discusses most of the important protocols, from a security point of view. We moved material about higher-layer protocols to Chapter 3. The Web merits a chapter of its own. The next part discusses the threats we are dealing with: the kinds of attacks in Chapter 5, and some of the tools and techniques used to attack hosts and networks in Chapter 6. Part III covers some of the tools and techniques we can use to make our networking world safer. We cover authentication tools in Chapter 7, and safer network servicing software in Chapter 8. Part IV covers firewalls and virtual private networks (VPNs). Chapter 9 introduces various types of firewalls and filtering techniques, and Chapter 10 summarizes some reasonable policies for filtering some of the more essential services discussed in Chapter 2. If you don't find advice about filtering a service you like, we probably think it is too dangerous (refer to Chapter 2). Chapter 11 covers a lot of the deep details of firewalls, including their configuration, administration, and design. It is certainly not a complete discussion of the subject, but should give readers a good start. VPN tunnels, including holes through firewalls, are covered in some detail in Chapter 12. There is more detail in Chapter 18. In Part V, we apply these tools and lessons to organizations. Chapter 13 examines the problems and practices on modern intranets. See Chapter 15 for information about deploying a hacking-resistant host, which is useful in any part of an intranet. Though we don't especially like intrusion detection systems (IDSs)very much, they do play a role in security, and are discussed in Chapter 15. The last