The Bash Script To Configure The Firewall Using IPTABLES
|
Submitted by ajaonchat (Contact Author) (Forums) on Thu, 2008-06-26 12:58. :: PCLinuxOS | Security | Shell
The Bash Script To Configure The Firewall Using IPTABLESAbout the Script:This script is about to build a firewall in Linux OS by using iptables, the user only needs to follow and answer the simple and easy steps and the script will generate the user specified iptables rule in its original form. I HAVE TESTED THE SCRIPT ON PCLINUXOS, FEDORA-9, DREAM_LINUX, UBUNTU-8. This is my iptables Version 1.0 (USMAN AKRAM - Lucky) About iptables: Network security is a primary consideration in any decision to host a website as the threats are becoming more widespread and persistent every day. One means of providing additional protection is to invest in a firewall. Though prices are always falling, in some cases you may be able to create a comparable unit using the Linux iptables package on an existing server for little or no additional expenditure. Originally, the most popular firewall/NAT package running on Linux was ipchains, but it had a number of shortcomings. To rectify this, the Netfilter organization decided to create a product called iptables.
Starting of the ScriptA Menu will appear like this: *****Main Menu*****
1. Check Iptables PackageNow let the user select the option 1. Check iptable Package from the menu by pressing "1" from the keyboard.Now the script confirms that the user must be Root, and we know that the UID of Root is zero ( 0 ). So first I have to compare the UID of the current user with zero ( 0 ), if the UID doesn't match with the UID of root then it will display the following message: ****You must be the root user to run this script!**** and if the UID matches with root's UID then it displays the following message and runs the script:***Identity Verified_You are the Root*** We can check the UID of the current user by typing the following command in the terminal: echo $UID If the identity of the user is verified as root, then the script will check the iptables package in the Linux OS by using the following command. rpm -q iptables *****Main Menu***** Now if the user selects the option 2. Iptables Services then the checkstatus function will be called. In this function there are some options for the user: *****Note: Save your Iptables before stop/Restart the iptables Services***** If the user selects 1. Save the iptables the iptables rules will be saved in the Linux OS by using the following command: /etc/init.d/iptables save If the user selects 2. Status of iptables the current status of iptables will be displayed, using the following command: /etc/init.d/iptables status Chain INPUT (policy ACCEPT) If the user selects 3. Start iptables Services then iptables will be started, using the following command: /etc/init.d/iptables start If the user selects 4. Stop iptables Services then iptables will be stopped, using the following command: /etc/init.d/iptables stop If the user selects 5. Restart iptable Services then iptables will be restarted, using the following command, it will load the saved iptables rules: /etc/init.d/iptables restart If the user selects 6. Flush iptables then iptables will be flushed, (**use Carefully_it will remove all the rules from iptables**), using the following command, it will flush the saved iptables rules: iptables -F To go back to the Main Menu the user must select option 7. Go back to Main Menu. *****Main Menu***** Option 3. Build your Firewall with Iptables is the heart of this script, by using this option users can create the firewall with iptables using simple steps, when a user selects the option 3. Build your Firewall with Iptables then the script will ask the user to create the firewall. Using Which Chain of Filter Table? The above menu will ask the user to select the chain where he/she wants to put the rule. Now the script will ask the user to get the IP information from the Source side... 1. Firewall using Single Source IP Then the above menu ask the user the above three question, if the user selects the option 1. Firewall using Single Source IP then the script will ask the user to enter the IP address. If the user selects option 2. Firewall using Source Subnet then the script will ask the user to enter the subnet in the form of "192.168.1.0/24". If the user selects option 3. Firewall using for All Source Networks then the script will put 0/0 in the variable named "ip_source" in the script. Now the script will ask the user to get the IP information from the Destination side... 1. Firewall using Single Destination IP Then the above menu asks the user the above three questions, if the user selects option 1. Firewall using Single Destination IP then the script will ask the user to enter the IP address. If the user selects option 2. Firewall using Destination Subnet then the script will ask the user to enter the subnet in the form of "192.168.1.0/24" If the user selects option 3. Firewall using for All Destination Networks then the script will put 0/0 in the variable named "ip_dest" in the script. Now the script asks the user to select the PROTOCOL: 1. Block All Traffic of TCP Now from the above displayed menu if the user selects 1. Block All Traffic of TCP then the script will block all the TCP Traffic. If the user selects 2. Block Specific TCP Service, now the script will ask the user to enter the TCP Service of his/her choice (e.g ICMP). Note: the TCP Service name should be in CAPITAL LETTERS!!! If the user selects 3. Block Specific Port the script will ask the user to enter the PORT number. Now the script prompts the user What to do with the Above Created Rule? What to do with Rule? If the user selects 1. Accept the Packet then the packet will be accepted. If the user selects 2. Reject the Packet then the packet will be rejected. If the user selects 3. Drop the Packet then the packet will be dropped. If the user selects 4. Create Log then only the log will be created. Now the following message will be shown to the user: Press Enter key to Generate the Complete Rule!!! When the user presses the Enter key then the script generates the original rule with the correct syntax and displays it to the user, in my case: The Generated Rule is Now the script shows the following message to the user: Do you want to Enter the Above rule to the IPTABLES? Yes=1 , No=2 If the above rule is correct then the user presses 1 for Yes and adds the rule to iptables Here is the whole script: #!/bin/bash ##############USMAN AKRAM "FA05-BTN-005" (~*Lucky*~) BTN-6######## All the above contents are copyrighted by USMAN AKRAM _ FA05-BTN-005 (~*Lucky*~) COMSATS IIT ABBOTTABAD
|
Join the discussion.
www.seamlessenterprise.com
IP Convergence
Integrate your wireless and wireline networks.
Learn how from the experts at Sprint.
www.seamlessenterprise.com
Wireless & Wireline Integration
Thoughts, strategies and solutions: join the discussion
www.seamlessenterprise.com
Unified Communications 2009
Join the Discussion. Now.
www.seamlessenterprise.com







Recent comments
22 hours 12 min ago
23 hours 40 min ago
1 day 3 hours ago
1 day 6 hours ago
1 day 9 hours ago
1 day 9 hours ago
1 day 10 hours ago
1 day 11 hours ago
1 day 12 hours ago
1 day 12 hours ago