Home > Store

Linux Firewalls, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

Linux Firewalls, 3rd Edition


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2006
  • Edition: 3rd
  • Book
  • ISBN-10: 0-672-32771-6
  • ISBN-13: 978-0-672-32771-1

An Internet-connected Linux machine is in a high-risk situation. Linux Firewalls, Third Edition details security steps that any sized implementation--from home use to enterprise level--might take to protect itself from potential remote attackers. As with the first two editions, this book is especially useful for its explanations of iptables, packet filtering, and firewall optimization along with some advanced concepts including customizing the Linux kernel to enhance security.The third edition, while distribution neutral, has been updated for the current Linux Kernel and provides code examples for Red Hat, SUSE, and Debian implementations. Don't miss out on the third edition of the critically acclaimed Linux Firewalls.

Sample Content

Online Sample Chapters

iptables: The Linux Firewall Administration Program

iptables: The Linux Firewall Administration Program

Table of Contents


    The Purpose of This Book.

    Who Should Read This Book.

    Linux Distribution.

    Errors in This Book.

    Companion Website.


1. Preliminary Concepts Underlying Packet-Filtering Firewalls.

    The OSI Networking Model.

      Connectionless Versus Connection-Oriented Protocols.

      Next Steps.

    The IP.

      IP Addressing and Subnetting.

      IP Fragmentation.

      Broadcasting and Multicasting.


    Transport Mechanisms.



    Don’t Forget ARP.

    Hostnames and IP Addresses.

      IP Addresses and Ethernet Addresses.

    Routing: Getting a Packet from Here to There.

    Service Ports: The Door to the Programs on Your System.

      A Typical TCP Connection: Visiting a Remote Website.


2. Packet-Filtering Concepts.

    A Packet-Filtering Firewall.

    Choosing a Default Packet-Filtering Policy.

    Rejecting Versus Denying a Packet.

    Filtering Incoming Packets.

      Remote Source Address Filtering.

      Local Destination Address Filtering.

      Remote Source Port Filtering.

      Local Destination Port Filtering.

      Incoming TCP Connection-State Filtering.

      Probes and Scans.

      Denial-of-Service Attacks.

      Source-Routed Packets.

    Filtering Outgoing Packets.

      Local Source Address Filtering.

      Remote Destination Address Filtering.

      Local Source Port Filtering.

      Remote Destination Port Filtering.

      Outgoing TCP Connection-State Filtering.

    Private Versus Public Network Services.

      Protecting Nonsecure Local Services.

      Selecting Services to Run.


3. iptables: The Linux Firewall Administration Program.

    Differences Between IPFW and Netfilter Firewall Mechanisms.

      IPFW Packet Traversal.

      Netfilter Packet Traversal.

    Basic iptables Syntax.

    iptables Features.

      NAT Table Features.

      mangle Table Features.

    iptables Syntax.

      filter Table Commands.

      filter Table Target Extensions.

      filter Table Match Extensions.

      NAT Table Target Extensions.

      mangle Table Commands.


4. Building and Installing a Standalone Firewall.

    iptables: The Linux Firewall Administration Program.

      Build Versus Buy: The Linux Kernel.

      Source and Destination Addressing Options.

    Initializing the Firewall.

      Symbolic Constants Used in the Firewall Examples.

      Enabling Kernel-Monitoring Support.

      Removing Any Preexisting Rules.

      Resetting Default Policies and Stopping the Firewall.

      Enabling the loopback Interface.

      Defining the Default Policy.

      Stealth Scans and TCP State Flags.

      Using Connection State to Bypass Rule Checking.

      Source Address Spoofing and Other Bad Addresses.

    Protecting Services on Assigned Unprivileged Ports.

      Common Local TCP Services Assigned to Unprivileged Ports.

      Common Local UDP Services Assigned to Unprivileged Ports.

    Enabling Basic, Required Internet Services.

      Allowing DNS (UDP/TCP Port 53).

      Filtering the AUTH User Identification Service (TCP Port 113).

    Enabling Common TCP Services.

      Email (TCP SMTP Port 25, POP Port 110, IMAP Port 143).

      Accessing Usenet News Services (TCP NNTP Port 119).

      Telnet (TCP Port 23).

      SSH (TCP Port 22).

      FTP (TCP Ports 21, 20).

      Web Services.

      Whois (TCP Port 43).

      RealAudio, RealVideo, and QuickTime (TCP Ports 554 and 7070).

    Enabling Common UDP Services.

      traceroute (UDP Port 33434).

      Accessing Your ISP’s DHCP Server (UDP Ports 67, 68).

      Accessing Remote Network Time Servers (UDP Port 123).

    Filtering ICMP Control and Status Messages.

      Error Status and Control Messages.

      ping Echo Request (Type 8) and Echo Reply (Type 0) Control Messages.

    Logging Dropped Incoming Packets.

    Logging Dropped Outgoing Packets.

    Denying Access to Problem Sites Up Front.

    Installing the Firewall.

      Tips for Debugging the Firewall Script.

      Starting the Firewall on Boot with Red Hat and SUSE.

      Starting the Firewall on Boot with Debian.

      Installing a Firewall with a Dynamic IP Address.



5. Firewall Optimization.

    Rule Organization.

      Begin with Rules That Block Traffic on High Ports.

      Use the State Module for ESTABLISHED and RELATED Matches.

      Consider the Transport Protocol.

      Place Firewall Rules for Heavily Used Services as Early as Possible.

      Use the Multiport Module to Specify Port Lists.

      Use Traffic Flow to Determine Where to Place Rules for Multiple Network Interfaces.

    User-Defined Chains.

    Optimized Example.

      User-Defined Chains in the Script.

      Firewall Initialization.

      Installing the Chains.

      Building the User-Defined EXT-input and EXT-output Chains.



      local_dhcp_client_query and remote_dhcp_server_response.



      Logging Dropped Packets.

    What Did Optimization Buy?


6. Packet Forwarding.

    The Limitations of a Standalone Firewall.

    Basic Gateway Firewall Setups.

    LAN Security Issues.

    Configuration Options for a Trusted Home LAN.

      LAN Access to the Gateway Firewall.

      LAN Access to Other LANs: Forwarding Local Traffic Among Multiple LANs.

    Configuration Options for a Larger or Less Trusted LAN.

      Dividing Address Space to Create Multiple Networks.

      Selective Internal Access by Host, Address Range, or Port.

    A Formal Screened-Subnet Firewall Example.

      Symbolic Constants Used in the Firewall Examples.

      Setting the Stage on the Choke Firewall.

      Removing Any Preexisting Rules from the Choke Firewall.

      Defining the Choke Firewall’s Default Policy.

      Enabling the Choke Machine’s Loopback Interface.

      Stealth Scans and TCP State Flags.

      Using Connection State to Bypass Rule Checking.

      Source-Address Spoofing and Other Bad Addresses.

      Filtering ICMP Control and Status Messages.

      Enabling DNS (UDP/TCP Port 53).

      Filtering the AUTH User Identification Service (TCP Port 113).

      Email (TCP SMTP Port 25, POP3 Port 110, IMAP Port 143).

      Accessing Usenet News Services (TCP NNTP Port 119).

      Telnet (TCP Port 23).

      SSH (TCP Port 22).

      FTP (TCP Ports 21 and 20).

      Web Services.

      Choke as a Local DHCP Server (UDP Ports 67 and 68).


    Converting the Gateway from Local Services to Forwarding.


7. NAT—Network Address Translation.

    The Conceptual Background of NAT.

    iptables NAT Semantics.

      Source NAT.

      Destination NAT.

    Examples of SNAT and Private LANs.

      Masquerading LAN Traffic to the Internet.

      Applying Standard NAT to LAN Traffic to the Internet.

    Examples of DNAT, LANs, and Proxies.

      Host Forwarding.

      Host Forwarding and Port Redirection.

      Host Forwarding to a Server Farm.

      Host Forwarding to Servers in a Privately Addressed DMZ.

      Local Port Redirection—Transparent Proxying.


8. Debugging the Firewall Rules.

    General Firewall-Development Tips.

    Listing the Firewall Rules.

      filter Table Listing Formats.

      nat Table Listing Formats.

      mangle Table Listing Formats.

    Checking the Input, Output, and Forwarding Rules.

      Checking the Input Rules.

      Checking the Output Rules.

      Checking the Forwarding Rules.

    Interpreting the System Logs.

      syslog Configuration.

      Firewall Log Messages: What Do They Mean?

    Checking for Open Ports.

      netstat -a [ -n -p -A inet ].

      Checking a Process Bound to a Particular Port with fuser.





9. Intrusion Detection and Response.

    Detecting Intrusions.

    Symptoms Suggesting That the System Might Be Compromised.

      System Log Indications.

      System Configuration Indications.

      Filesystem Indications.

      User Account Indications.

      Security Audit Tool Indications.

      System Performance Indications.

    What to Do If Your System Is Compromised.

    Incident Reporting.

      Why Report an Incident?

      What Kinds of Incidents Might You Report?

      To Whom Do You Report an Incident?

      What Information Do You Supply?

      Where Do You Find More Information?


10. Intrusion Detection Tools.

    Intrusion Detection Toolkit: Network Tools.

      Switches and Hubs and Why You Care.

      Sniffer Placement.


    Rootkit Checkers.

      Running Chkrootkit.

      What If Chkrootkit Says the Computer Is Infected?

      Limitations of Chkrootkit and Similar Tools.

      Using Chkrootkit Securely.

      When Should Chkrootkit Be Run?

    Filesystem Integrity.

    Log Monitoring.


    How to Not Become Compromised.

      Secure Often.

      Update Often.

      Test Often.


11. Network Monitoring and Attack Detection.

    Listening to the Ether.

      Three Valuable Tools.

    TCPDump: A Simple Overview.

      Obtaining and Installing TCPDump.

      TCPDump Options.

      TCPDump Expressions.

      Beyond the Basics with TCPDump.

    Using TCPDump to Capture Specific Protocols.

      Using TCPDump in the Real World.

      Attacks Through the Eyes of TCPDump.

      Recording Traffic with TCPDump.

    Automated Intrusion Monitoring with Snort.

      Obtaining and Installing Snort.

      Configuring Snort.

      Testing Snort.

      Receiving Alerts.

      Final Thoughts on Snort.

    Monitoring with ARPWatch.


12. Filesystem Integrity.

    Filesystem Integrity Defined.

      Practical Filesystem Integrity.

    Installing AIDE.

    Configuring AIDE.

      Creating an AIDE Configuration File.

      A Sample AIDE Configuration File.

      Initializing the AIDE DB.

      Scheduling AIDE to Run Automatically.

    Monitoring AIDE for Bad Things.

    Cleaning Up the AIDE Database.

    Changing the Output of the AIDE Report.

      Obtaining More Verbose Output.

    Defining Macros in AIDE.

    The Types of AIDE Checks.


13. Kernel Enhancements.

    Security Enhanced Linux.

      SELinux Architecture.

    Greater Security with GrSecurity.

    A Quick Look Around the Kernel.

      What’d You Call That?

      What’s Your Number?

      The Kernel: From 20,000 Feet.

    To Patch or Not to Patch.

      Enhanced Security Without Grsec.

    Using a GrSecurity Kernel.

      Downloading Grsec and a Fresh Kernel.

      Compiling Your First Kernel.

      Improving the Kernel Build.


      Applying the Grsec Patch.

      Choosing Grsec Features.

      Building the Grsec Kernel.

      Beyond the Basics with GrSecurity.

    Conclusion: Custom Kernels.


Appendix A. Security Resources.

    Security Information Sources.

    Reference Papers and FAQs.


Appendix B. Firewall Examples and Support Scripts.

    iptables Firewall for a Standalone System from Chapter 4.

    Optimized iptables Firewall from Chapter 5.

    iptables Firewall for a Choke Firewall from Chapter 6.

Appendix C. VPNs.

    Overview of Virtual Private Networks.

    VPN Protocols.



    Linux and VPN Products.



      Virtual Private Network Daemon.

      PPTP Linux Solutions.

      Virtual Tunnel.

    VPN Configurations.

      Roaming User.

    Connecting Networks.

    VPN and Firewalls.


Appendix D. Glossary.


Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020