Appendix A. Resources

Resources

Though I may have wanted to, it proved impossible to cover all possible wrinkles of PF configuration within these pages. I hope that the resources listed here fill in some details or present a slightly different perspective. Some of them are even quite enjoyable reads for their own sake.

General Networking and BSD Resources on the Internet

The following are the general web-accessible resources cited throughout the book. It’s worth looking at the various BSD projects’ websites for the most up-to-date information.

  • Of particular interest for OpenBSD users is the online OpenBSD Journal (http://undeadly.org/). It offers news and articles about OpenBSD and related issues.

  • OpenBSD’s website, http://www.openbsd.org/, is the main reference for OpenBSD information. If you’re using OpenBSD, you’ll be visiting this site every now and then.

  • You’ll find a collection of presentations and papers by OpenBSD developers at http://www.openbsd.org/papers/. This site is a good source of information about ongoing developments in OpenBSD.

  • OpenBSD’s Frequently Asked Questions (http://www.openbsd.org/faq/index.html) is more of a user guide than a traditional question-and-answer document. This is where you’ll find a generous helping of background information and step-by-step instructions on how to set up and run your OpenBSD system.

  • Henning Brauer’s presentation “Faster Packets—Performance Tuning in the Network Stack and PF” (http://quigon.bsws.de/papers/2009/eurobsdcon-faster_packets/) is the current main PF developer’s overview of the work done in recent OpenBSD releases to improve network performance, with PF as a main component.

  • PF: The OpenBSD Packet Filter (http://www.openbsd.org/faq/pf/index.html), also known as the PF User Guide or the PF FAQ, is the official PF documentation maintained by the OpenBSD team. This guide is updated for each release, and it’s an extremely valuable reference resource for PF practitioners.

  • Bob Beck’s “pf. It’s not just for firewalls anymore” (http://www.ualberta.ca/~beck/nycbug06/pf/) is an NYCBUG 2006 presentation that covers PF’s redundancy and reliability features, illustrated by real-world examples taken from the University of Alberta network.

  • Daniel Hartmeier’s PF pages (http://www.benzedrine.cx/pf.html) are his collection of PF-related material with links to resources around the Web.

  • Daniel Hartmeier’s “Design and Performance of the OpenBSD Stateful Packet Filter (pf)” (http://www.benzedrine.cx/pf-paper.html) is the paper he presented at Usenix 2002. It describes the initial design and implementation of PF.

  • Daniel Hartmeier’s three-part undeadly.org PF series includes “PF: Firewall Ruleset Optimization” (http://undeadly.org/cgi?action=article&sid=20060927091645), “PF: Testing Your Firewall (http://undeadly.org/cgi?action=article&sid=20060928081238), and “PF: Firewall Management” (http://undeadly.org/cgi?action=article&sid=20060929080943). The three articles cover their respective subjects in great detail yet manage to be quite readable.

  • RFC 1631, The IP Network Address Translator (NAT), May 1994 (http://www.ietf.org/rfc/rfc1631.txt, written by K. Egevang and P. Francis) is the first part of the NAT specification, which has proved longer-lived than the authors had apparently intended. While still an important resource for understanding NAT, it has been largely superseded by the updated RFC 3022 (http://www.ietf.org/rfc/rfc3022.txt, written by P. Srisuresh and K. Egevang), dated January 2001.

  • RFC 1918, Address Allocation for Private Internets, February 1996 (http://www.ietf.org/rfc/rfc1918.txt, written by Y. Rebhter, B. Moskowitz, D. Karrenberg, G.J. de Groot, and E. Lear) is the second part of the NAT and private address space puzzle. This RFC describes the motivations for the allocation of private, nonroutable address space and defines the address ranges. RFC 1918 has been designated a Best Current Practice.

  • If you’re looking for a text that gives you a thorough and detailed treatment of network protocols with a clear slant toward the TCP/IP worldview, Charles M. Kozierok’s The TCP/IP Guide (No Starch Press, October 2005), available online with updates at http://www.tcpipguide.com/, has few, if any, serious rivals. At more than 1,600 pages, it’s not exactly a pocket guide, but it’s very useful to have on your desk or in a browser window to set the record straight on any networking terms that you find insufficiently explained in other texts.

A number of people have been kind enough to write up their experiences and make sample configurations available on the Web. The following are some of my favorites.

  • Marcus Ranum’s “The Six Dumbest Ideas in Computer Security” (http://www.ranum.com/security/computer_security/editorials/dumb/index.html), from September 1, 2005, is a longtime favorite of mine. This article explores some common misconceptions about security and their unfortunate implications for real-world security efforts.

  • Randal L. Schwartz’s “Monitoring Net Traffic with OpenBSD’s Packet Filter” (http://www.stonehenge.com/merlyn/UnixReview/col51.html) shows a real-life example of traffic monitoring and using labels for accounting. Some details about PF and labels have changed in the intervening years, but the article is still quite readable and presents several important concepts well.

  • The Swedish user group Unix.se’s Brandvägg med OpenBSD (http://unix.se/Brandv%E4gg_med_OpenBSD) and its sample configurations, such as the basic ALTQ configurations, were quite useful to me early on. The site serves as a nice reminder that volunteer efforts, such as local user groups, can be excellent sources of information.

  • The #pf IRC channel wiki (http://www.probsd.net/pf/) is a collection of documentation, sample configurations, and other PF information maintained by participants in the #pf IRC channel discussions. It’s another example of a very worthwhile volunteer effort.

  • Daniele Mazzocchio, an OpenBSD fan from Italy, maintains the website Kernel Panic, which houses a collection of useful articles and tutorial-like documents on various OpenBSD topics at http://www.kernel-panic.it/openbsd.html (in English and Italian). It’s well worth the visit for a fresh perspective on various interesting topics from someone who seems to be dedicated to keeping the material up-to-date with the latest stable OpenBSD versions.

  • Kenjiro Cho’s “Managing Traffic with ALTQ” (http://www.usenix.org/publications/library/proceedings/usenix99/cho.html) is the original paper that describes the ALTQ design and early implementation on FreeBSD.

  • Jason Dixon’s “Failover Firewalls with OpenBSD and CARP,” from the May 2005 SysAdmin Magazine (http://planet.admon.org/howto/failover-firewalls-with-openbsd-and-carp/) is an overview of CARP and pfsync, with some practical examples.

  • Theo de Raadt’s OpenCON 2006 presentation “Open Documentation for Hardware: Why hardware documentation matters so much and why it is so hard to get” (http://openbsd.org/papers/opencon06-docs/index.html) was an important inspiration for the note in Appendix B about hardware for free operating systems in general and for OpenBSD in particular.

PF on Other BSD Systems

PF has been ported from OpenBSD to the other BSDs, and while the stated goal for these efforts naturally is to be as up-to-date as possible in relation to the newest PF versions coming out of OpenBSD, it’s useful to keep track of the PF projects in the other BSDs.

  • The FreeBSD packet filter (pf) home page (http://pf4freebsd.love2party.net/) describes the early work with PF on FreeBSD and the project goals. At the moment, the page isn’t quite up-to-date with the latest developments, but it’ll hopefully spring to life again once Max Laier notices that he’s referenced in a printed book.

  • The NetBSD project maintains its PF pages at http://www.netbsd.org/docs/network/pf.html, where you can find updated information about PF on NetBSD.

BSD and Networking Books

In addition to what appears to be an ever-expanding number of online resources, several books may be useful as companions or supplements to this book.

  • Michael W. Lucas, Absolute OpenBSD, 2nd edition (No Starch Press, 2013). This volume offers a thorough walk-through of OpenBSD with a wealth of hands-on, practical material.

  • Michael W. Lucas, Network Flow Analysis (No Starch Press, 2010). One of a select few books about network analysis and management using free NetFlow-based tools, this book shows you the tools and methods to discover just what really happens in your network.

  • Brandon Palmer and Jose Nazario, Secure Architectures with OpenBSD (Addison-Wesley, 2004). This book provides an overview of OpenBSD’s features with a marked slant toward building secure and reliable systems. The book references OpenBSD 3.4 as the then up-to-date version.

  • Douglas R. Mauro and Kevin J. Schmidt, Essential SNMP, 2nd edition (O’Reilly Media, 2005). As the title says, this is an essential reference book about SNMP.

  • Jeremy C. Reed (editor), The OpenBSD PF Packet Filter Book (Reed Media Services, 2006). The book, based on the PF User Guide, extends to cover PF on FreeBSD, NetBSD, and DragonFly BSD and includes some additional material on third-party tools that interoperate with PF.

  • Christopher M. Buechler and Jim Pingle, pfSense: The Definitive Guide (Reed Media Services, 2009). At some 515 pages, this is a comprehensive guide to the FreeBSD- and PF-based firewall appliance distribution. A revised edition is planned for 2014 publication as of this writing.

Wireless Networking Resources

Kjell Jørgen Hole’s Wi-Fi courseware (http://www.nowires.org/) is an excellent resource for understanding wireless networks. The courseware is mainly aimed at University of Bergen students who take Professor Hole’s courses, but it’s freely available and well worth reading.

If handling email is part of your life (or is likely to be in the future), you’ve probably enjoyed the descriptions of spamd, tarpitting, and greylisting in this book. If you want a little more background information than what you find in the relevant RFCs, the following documents and web resources provide it.

  • Greylisting.org (http://www.greylisting.org/) has a useful collection of greylisting-related articles and other information about greylisting and SMTP in general.

  • Evan Harris’s “The Next Step in the Spam Control War: Greylisting” (http://greylisting.org/articles/whitepaper.shtml) is the original greylisting paper.

  • Bob Beck’s “OpenBSD spamd—greylisting and beyond” (http://www.ualberta.ca/~beck/nycbug06/spamd/) is an NYCBUG presentation that explains how spamd works, leading up to a description of spamd’s role in University of Alberta’s infrastructure. (Note that much of the “future work” mentioned in the presentation has already been implemented.)

  • “Effective spam and malware countermeasures” (http://bsdly.blogspot.com/2014/02/effective-spam-and-malware.html), originally my BSDCan 2007 paper with some updates, includes a best-practice description of how to use greylisting, spamd, and various other free tools and OpenBSD to successfully fight spam and malware in your network.

  • A promising new development is Peter Hessler’s BGP-spamd project, which abuses the BGP routing protocol slightly to distribute spamd data between participating hosts. See the project’s website at http://bgp-spamd.net/ for further information.

Book-Related Web Resources

For news and updates about this book, check the book’s home page at the No Starch Press website (http://www.nostarch.com/pf3/). That page contains links to pages on my personal web space, where various updates and book-related resources will appear as they become available. I’ll post book-related news and updates at http://www.bsdly.net/bookofpf/. Announcements relevant to the book are likely to turn up via my blog at http://bsdly.blogspot.com/, too.

I maintain the tutorial manuscript “Firewalling with OpenBSD’s PF packet filter,” which is the forerunner of this book. My policy is to make updates when appropriate, usually as I become aware of changes or features of PF and related software and while preparing for appearances at conferences. The tutorial manuscript is available under a BSD license and can be downloaded in several formats from my web space at http://home.nuug.no/~peter/pf/. Updated versions will appear at that URL more or less in the natural course of tinkering in between events.

Buy OpenBSD CDs and Donate!

If you’ve enjoyed this book or found it useful, please go to the OpenBSD.org ordering page at http://www.openbsd.org/orders.html to buy CD sets, or for that matter, go to the donations page at http://www.openbsd.org/donations.html to support further development work by the OpenBSD project via a monetary contribution.

If you’re the kind of entity that’s more comfortable with donating to a corporation, you can contact the OpenBSD foundation, a Canadian nonprofit corporation created in 2007 for that specific purpose. See the OpenBSD Foundation website at http://www.openbsdfoundation.org/ for more information.

If you’ve found this book at a conference, there might even be an OpenBSD booth nearby where you can buy CDs, T-shirts, and other items.

Remember that even free software takes real work and real money to develop and maintain.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.57.172