Hardening the Linux server - Part 3

You can deny access to your server through your firewall. Ubuntu Server uses a firewall called Uncomplicated FireWall (UFW), which is actually a management tool for iptables. Iptables filters network packets based on a series of rules written by the system administrator. Iptables can be complicated for beginners, so UFW simplifies it. Using UFW can help you harden your server; but if you're truly interested in server security, learning how to write rules for iptables will let you fine-tune a server's security.

To get started with UFW, you need to install it. Follow these steps:

From the command line, type sudo aptitude install ufw

Press Enter and enter your password. Press Enter again to install the package.

To enable the firewall, type the following: sudo ufw enable

Press Enter. You see the message Firewall started and enabled on system startup. Now you can create rules for your firewall.

Remember how you changed the port for SSH earlier? To open the port through UFW by creating a rule, type the following at the command line:

To allow or deny traffic specifically on TCP port 65000, use the following command:

# sudo ufw allow 65000/tcp

You can also allow or deny traffic according by the protocol it uses. For instance, to block all HTTP traffic, you can use this command:

# sudo ufw deny http

You can create more complicated rules to deny or allow a service based on its IP address. For instance, if your desktop had the IP address 192.168.1.30 and your server had an IP address of 192.168.1.5, you could allow only your computer's IP address the ability to establish an SSH connection:

# sudo ufw allow proto tcp from 192.168.1.30 to 192.1681.5 port 65000

To check which rules you're currently running with UFW, use

# sudo ufw status

You're presented with a list of rules you've written for your firewall. If you see a rule that you wish to delete, type