Skip to main content

Hardening the Linux server - Part 3

<< Part 2                                                                                                    Part 4 >>
Hardening the Linux server - Part 3

Write firewall rules
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:
  1. From the command line, type sudo aptitude install ufw
  2. Press Enter and enter your password. Press Enter again to install the package.
  3. To enable the firewall, type the following: sudo ufw enable
  4. 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:
# sudo ufw allow 65000
That command allows access over port 65000 and lets SSH traffic into your server.
To deny access over this port, use the following:
# sudo ufw deny 65000
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 and your server had an IP address of, you could allow only your computer's IP address the ability to establish an SSH connection:
# sudo ufw allow proto tcp from 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
# sudo delete [rule]

<< Part 2                                                                                                                 Part 4 >>


Popular posts from this blog

CentOS / Redhat : Configure CentOS as a Software Router with two interfaces

Linux can be easily configured to share an internet connection using iptables. All you need to have is, two network interface cards as follows: a) Your internal (LAN) network connected via eth0 with static ip address b) Your external WAN) network is connected via eth1 with static ip address  ( public IP provided by ISP ) Please note that interface eth1 may have public IP address or IP assigned by ISP. eth1 may be connected to a dedicated DSL / ADSL / WAN / Cable router: Step # 1: Enable Packet Forwarding Login as the root user. Open /etc/sysctl.conf file # vi /etc/sysctl.conf Add the following line to enable packet forwarding for IPv4: net.ipv4.conf.default.forwarding=1 Save and close the file. Restart networking: # service network restart Step # 2: Enable IP masquerading In Linux networking, Network Address Translation (NAT) or Network Masquerading (IP Masquerading) is a technique of transceivin

Virtual Box and Alt/Tab Keys

I use virtual box for all my testing activities. It comes too often that I have a virtual box VM window open & I want to switch to my host machine to see some stuff like tutorials etc.. If you press the alt+tab combination it just works inside the VM & doesn't switches to host machine. In these scenarios you can press the host key once ( not hold it ) & then whatever you press goes to host machine. So in general where host key is the default Right Ctrl, just press Right Ctrl once & now press the alt+tab & it will switch you out to host machine. This is really helpful when you have the VM windows open or you're working on seamless mode. Hope it help others too.

Set date and time in Linux

There are few ways to set the date and time on Linux command line. In order to do this, you must login as root and execute the following methods as follow: For you to remember the syntax, issue the command “date” first [root@linuxtechtips ~]# date Mon Aug 20 18:30:29 SGT 2012 Let say you want to change it to Sept 6, 2012, 3pm, just follow the pattern above [root@linuxtechtips ~]# date 090615002012 Thu Sep  6 15:00:00 SGT 2012 where as: 09 = month (September) 06 = day 15 = hour 00 = min 2012 = year Now it’s set, as simple as that: [root@linuxtechtips ~]# date Thu Sep  6 15:00:01 SGT 2012 Another example, you want it to change to 20th of December, 2012, 10:45pm [root@linuxtechtips ~]# date 122022452012 Thu Dec 20 22:45:00 SGT 2012 Viola!!! [root@linuxtechtips ~]# date Thu Dec 20 22:45:03 SGT 2012 Now if you want to challenge yourself, then you can use this as well: Using our example date above, use the date comman