Now: Tutorial for Web and Software Design > OS > Linux > OS Content
> Secure Your Linux Server [Bookmark it]
Secure Your Linux Server

Secure Your Linux Server

ipchains

ipchains is Linux's answer to a firewall. There are a lot of neat tricks you can perform with ipchains, and you can search for those tricks on Google. The module itself is fairly easy to use once you get the hang of it. I hope you can stay with me on this, as it can sound a bit overtechnical. Please be careful, as you can easily lock yourself out of your own box!



ipchains actually refers to three separate chains. A typical ipchain command consists of several parts. First, it carries one of three commands:

  • -F flushes a chain
  • -P sets the handling for a chain
  • -A adds a new rule to the chain

To set up a chain, you might use:

# ipchains --F input

# ipchains --A input REJECT

This is a blanket command that essentially halts all incoming traffic. The first command flushes the input chain, and the second command adds a new rule to the input chain that rejects all traffic.

You could do this if you were completely disconnected from a network, but most of the world is not. Almost every desktop or server Linux box in the world connects to a network or the internet, so it's not realistic to use such a blanket command.

There are plenty of other options to set up a more intelligent filtering system. Suppose that your Linux box is a development server accessible only on the local LAN. The IP of its network device is 192.168.25.4, with a netmask of 255.255.255.0.

Note that on Linux you can determine the source machine's network IP through ifconfig, or on Windows using ipconfig at the command prompt. The rest of the network is on the 192.168.x.x private block as well.

You might write a rule that looks like:

# ipchains --A input --I eth0  -s 192.168.1.0/255.255.255.0 \

    --d 192.168.25.4 --j ACCEPT

What the heck does that mean?

ipchains --A input adds a rule to the input chain.

-I eth0 tells the firewall that the packet traffic on which to run this rule is attached to Ethernet network device 0 (Eth0).

-s 192.168.1.0/255.255.255.0 identifies the source, or sending IP address, as 192.168.1.0. The number after the slash denotes the netmask, which in this case is 255.255.255.0

The ACCEPT designates that ipchains should allow all traffic from this source. You can also use REJECT to keep traffic out.

The best bet for ipchains firewalling lies within the ipchains how-to.

Other Tricks

Some other tricks you can perform to further secure your server have to do with your servers' hosts* files.

In /etc/hosts.deny and /etc/hosts.allow, you can enable tcp wrappers, which simply wrap a service in a particular rule. Your hosts.allow file might look similar to:

// Allow localhost ALL : 127.0.0.1

// Allow SSH Access to anyone except from 192.168.1.101

sshd : ALL EXCEPT 192.168.1.101 : ALLOW

Your /etc/hosts.deny file might resemble:

// No one can connect via anything except loopback localhost

ALL : ALL EXCEPT 127.0.0.1:DENY

Intrusion Detection

You may want to consider using a package like Tripwire to detect intrusions. It doesn't come with Red Hat 9, but you can get the source and compile it yourself. It creates and compares the hashes of critical files to determine whether any changes have been made.

An effective hacker won't just break into your system. He will also create a back door for himself so that he can gain access at other times. Most of the time, these back doors are in exploited files, and this is one way you can protect against this occurrence.

Summary

There are many other tricks and tips available to the security-conscious system administrator. The key to being effective is to always be on your toes and ready to think outside the box. There's generally more than one way to skin a cat, and hackers are consistently inventing or discovering new means.

Please don't read this article and think this is the last word in system security. These tips merely scratch the surface. Happy guarding!

Aaron Brazell is an author and blogger from Baltimore, Maryland, and is the primary system administrator for b5media, a network of more than 100 blogs.


Return to the Linux DevCenter.

Prev  [1] [2] [3] 

[Bookmark][Print] [Close][To Top]
  • Prev Article-OS:

  • Next Article-OS:
  • Related Materias
    Creating Visual Studio Pro
    Better Registry Searching
    Registry Hacks for Servers
    How To Recover from Regist
    Windows Vista Beta 2 Up Cl
    Build a Web-Based Bug Trac
    Build a Web-Based Bug Trac
    Use ClickOnce to Deploy Wi
    Object-Oriented Data Progr
    Directions in Windows Scri
    Topics
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Graphic Design Tutorial
     

    Coreldraw Tutorial

      Illustrator Tutorial
      3D Graphics Articles
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial&Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial&Articles
     

    XML Style Tutorial

      AJAX Tutorial
      XML Mobile
    Flash Tutorial&Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial&Articles
     

    Linux Tutorial

      Symbian Tutorial
      MacOS Tutorial