Firestarter: 5 minutes to a Linux firewall

In a recent article, we looked at manually creating a firewall using iptables, the packet-filtering program built into the Linux 2.4 kernel. Now, we're going to look at a front-end graphical user interface (GUI) you can use not only for iptables but for ipchains as well.

This program is called Firestarter, and it is available for use in GNOME and KDE environments. Firestarter provides a clean, powerful interface for quickly creating a firewall and getting it started. Let's begin by looking at how to install Firestarter. Then, we'll explain how you can use it to create a simple or advanced firewall to protect your Linux server.

Downloading and installing Firestarter

You can download the latest version of Firestarter in either source or binary form from its official site. Before starting your installation, you need to be aware of a few dependencies.

First of all, you need libraries for GNOME 1.2 or later. You will also need to have either ipchains or netfilter/iptables installed, depending on which kernel you're running. The Firestarter download page includes links for downloading all of these dependencies.

Installing Firestarter from source follows the standard guidelines. Once you have downloaded the latest tarball (for this article, we'll be using firestarter-0.8.2.tar.gz), extract its contents using the command tar -xpfz firestarter-0.8.2.tar.gz. Next, change directory (cd) to the newly created firestarter-0.8.2 directory and compile and install the program onto your system by running the following commands:


./configure
make
su
make install

The default configuration directory will be /etc/firestarter. Once you run Firestarter, this is where you will find the firewall script that it creates. The system then uses this script, firewall.sh, to configure the firewall at boot time. Once you have this script, you can transport it (along with its companion files in /etc/firestarter) to similar systems and run it independently of the Firestarter GUI. This is handy when administering multiple servers, especially when they don't run X Windows. You just run Firestarter locally on one system and then copy the script to other systems, tweak it for those systems if necessary, and set it up to start at boot time. You can quickly configure a good firewall and then implement it across multiple systems.

Building the firewall

To open Firestarter, start KDE or GNOME, open a terminal window, and run /usr/bin/firestarter. (If you don't find the Firestarter executable here, do a locate firestarter search.) There is also probably an icon for Firestarter in your GNOME menu system, but the location will vary from distribution to distribution. You can create a shortcut on your desktop in KDE by right-clicking on the desktop, clicking Link To Application, and then entering the path to the executable (e.g., /usr/bin/firestarter).

If you're not running X Windows as the root user (which you probably aren't), you'll be prompted for the root password when you open Firestarter. At your first startup, you will be given the option of creating either a Simple or Advanced firewall with the Firestarter Firewall Wizard. If you're configuring a firewall to protect a single system, Simple is the way to go. But if you're using your Linux box as a gateway, the Advanced option lets you configure NAT and other important settings. Let's look at each configuration.

Simple configuration

Upon entering into the Simple dialog box, you will first need to select your network device. This will be your external (Internet) interface, usually eth0. There are also special options for IP addresses assigned with DHCP and for starting the firewall upon connecting via dial-up if you are using a modem.

The next step is to decide whether you want to disable ICMP packets (Figure A). There are eight types of packets, including the common ECHO, TRACEROUTE, REDIRECTION, and UNREACHABLE. You will see many popular Web sites that have ICMP completely disabled. This aids in fighting ICMP-specific denial of service attacks.

Figure A
ICMP
Configure how you want to handle ICMP packets.

Advertisement

Talkback 7 comments

    Linux=SuperEasy ;-) For those ...Anonymous -- 02/05/02

    Linux=SuperEasy ;-)

    For those that in past complained about the higher levels of technical proficiency needed to do serious (i.e firewall & security) work on Linux, eat your words.

    All that remains is spreading the concept that Linux is _easy_ to use.

    Great article, very informativ ...James Hilger -- 02/05/02

    Great article, very informative, keep them coming.

    5 minutes to a Firewall! maybe ...Anonymous -- 04/05/02

    5 minutes to a Firewall! maybe for Red Hat but with SUSE (7.3) and a stack of dependencies, more like 5 hours. Linux has a long way to go before it is 5 minutes to install software. Nonetheless, interesting article, keep em coming

    It may not be 5 minutes for a ...Don -- 10/05/02

    It may not be 5 minutes for a firewall in Suse but that's a *distro* problem, not a Linux problem. If you had Debian GNU/Linux for example, you'd apt-get install firestarter and that's it! If there were dependencies to resolve, it'd download the dependency files for you.

    Piece of cake. Much easier than any installshield install I've ever seen.

    Great! That's how I like it! E ...Emil George Ciuffo -- 28/05/02

    Great!

    That's how I like it! Explaination of theory and manual configuration for understanding, and then an eccellent GUI to it.
    I have just one question: do I have to start firestarter every time I restart my computer or do rules work even when firestarter is not started?
    Thanks!

    very complicated to understand ...Anonymous -- 07/07/02

    very complicated to understand the setup for a layperson like me

    I dont know if anyone faced th ...Anonymous -- 15/01/03

    I dont know if anyone faced this problem....ran firestarter 0.9 on redhat 8.0 and everything goes dandy, until i clicked on resolve all hostnames on the preferences....I used BlackICE on my W2K box and I kinda like to see the hostname for an indication of someone probing my ports.

    Once restarted, firestarter hung. I changed it by reinstalling the rpm and unchecking the hostname section. Anyone with any idea of how to get this to run, or does it run at all?

Add your opinion

Latest Videos

Sponsored content

Power Centre - Content from our premier sponsors

Blogs

  • Suzanne Tindal Sick of broken tender sites
    Some of the state governments desperately need to invest in more user-friendly tender sites so that looking for information on government tenders doesn't have to be a game of blind man's bluff.
  • Array Cyberwar: What is it good for?
    In this week's episode, Cyberwar. What is Australia's place in the world of digital warfare? What are the implications for the NBN?
  • Array Is wholesale-only backhaul just a pipedream?
    The potential acquisition of Pipe Networks by SP Telemedia has raised the question about whether vertically integrated backhaul providers will mean higher wholesale prices for ISP customers.
  • More blogs »

Tags

Back to top

Featured