Firewalls
From ArchWiki
| i18n |
|---|
| English |
| Italiano |
Contents |
[edit] Firewalling Arch
A firewall is a system designed to prevent unauthorized access to or from a private network (which could be just one machine). Firewalls can be implemented in both hardware and software, or a combination of both. Firewalls are frequently used to prevent unauthorized Internet users from accessing private networks connected to the Internet, especially intranets. All messages entering or leaving the intranet pass through the firewall, which examines each message and allows, proxys, or denies the traffic based on specified security criteria.
There is a nice list of firewalls here, and a nice comparison of some firewalls here.
There are many posts on the forums about different firewall apps and scripts so here they all are condensed into one page - please add your comments about each firewall, especially ease of use and a security check at Shields Up
[edit] iptables
Kernel itself has very powerful and secure firewall called iptables. The other firewalls are usually just frontends to it. To use iptables in arch, you need to download its userland utilies first:
# pacman -S iptables
Then define some rules and run /etc/rc.d/iptables save. This script will call iptables-save and save your rules into /etc/iptables/iptables.rules.
Now you can start iptables, this will call iptables-restore and load your rules:
# /etc/rc.d/iptables start
You can add it into DAEMONS array in /etc/rc.conf, preferably before 'network', so it will be loaded everytime you boot:
DAEMONS=(... iptables network ...)
In fact, iptables is more than just a firewall. You can use it to share your internet connection for your private network. If you have your internal network already working but you can't access internet, just add this rule to your gateway-pc iptables:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Comment by Dheart For some reason the above postrouting line didn't work for me so I used
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to xxx.xxx.xxx.xxx
where xxx.xxx.xxx.xxx is the ip address of my eth0 (the LAN card that has internet connection)
More info:
- Simple stateful firewall HOWTO
- http://gentoo-wiki.com/HOWTO_Iptables_for_newbies
- man iptables http://unixhelp.ed.ac.uk/CGI/man-cgi?iptables+8
- http://tldp.org/HOWTO/Masquerading-Simple-HOWTO/
- http://netfilter.org/documentation/HOWTO/NAT-HOWTO.html
- http://iptables-tutorial.frozentux.net/iptables-tutorial.html
- How to install and configure APF Firewall for cPanel?
[edit] Firewall
Simple /etc/rc.d/ firewall, configured with /etc/conf.d/firewall firewall pkgbuild
[edit] ferm
ferm - for Easy Rule Making ferm is a tool to maintain complex firewalls, without having the trouble to rewrite the complex rules over and over again. ferm allows the entire firewall rule set to be stored in a separate file, and to be loaded with one command. The firewall configuration resembles structured programming-like language, which can contain levels and lists. ferm home page
[edit] uruk
uruk loads an rc file, which defines network service access policy, and invokes iptables to set up firewall rules implementing this policy. uruk home page
[edit] Guarddog
Requires kdelibs, but is a really easy to use GUI for configuring iptables. After setting up a basic desktop configuration it passes all Shields Up tests perfectly.
To have the firewall settings applied at bootup you must run /etc/rc.firewall from inside /etc/rc.local or something similar.
[edit] Firestarter
A good GUI based firewall, uses gnome dependencies. Firestarter has the ability to use both white and black lists for regulating traffic. Very simple and easy to use, with good documentation available on their website.
[edit] Firewall Builder
[edit] KMyFirewall
Graphical front-end with good setup-wizard.
Firewall editing capabilities are simple enough to use to be suitable for beginners, but also allow for sophisticated tweaking of the firewall settings.
[edit] Quicktables
Script. Step by step questions with great explanations
[edit] Arno's Firewall
Arno's IPTABLES Firewall Script is a secure stateful firewall for both single and multi-homed machines.
The script:
- EASY to configure and highly customizable
- daemon script included
- a filter script that makes your firewall log more readable
Supports:
- NAT and SNAT
- port forwarding
- ADSL ethernet modems with both static and dynamically assigned IPs
- MAC address filtering
- stealth port scan detection
- DMZ and DMZ-2-LAN forwarding
- protection against SYN/ICMP flooding
- extensive user definable logging with rate limiting to prevent log flooding
- all IP protocols and VPNs such as IPSec
- plugin support to add extra features.
[edit] gShield
Really simple iptable configuration. (Nothing to do with gnome) Easy to configure, blocks everything not needed (almost) by default. Controlled by only one config file. It gave me all stealth on grc.com
Pros:
- Easy to configure
- Only one config file
- Will give you a iptables configuration, which is the best firewall
Cons:
- No GUI
[edit] Shorewall
The Shoreline Firewall, more commonly known as "Shorewall", is high-level tool for configuring Netfilter. You describe your firewall/gateway requirements using entries in a set of configuration files. Shorewall reads those configuration files and with the help of the iptables utility, Shorewall configures Netfilter to match your requirements. Shorewall can be used on a dedicated firewall system, a multi-function gateway/router/server or on a standalone GNU/Linux system. Shorewall does not use Netfilter's ipchains compatibility mode and can thus take advantage of Netfilter's connection state tracking capabilities.
[edit] Firehol
FireHOL is a language to express firewalling rules, not just a script that produces some kind of a firewall. It makes building even sophisticated firewalls easy - the way you want it.
[edit] FireFlier
Looks like a nice alternative, has Java/Qt/Gtk frontends for iptables.
Website | Server Package | Client Package
[edit] Firetable
iptables-based firewall with "human readable" syntax.
WikiMigration--dlanor 14:55, 23 Jul 2005 (EDT)