# ----------- BEGIN OF CUSTOM RULES ----------- # # Allow ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # # ------------ END OF CUSTOM RULES ------------Now you can activate these rules as described here.
Sunday, April 25, 2010
Allow ping using iptables
If you already have basic firewall, just add the following:
Allow HTTP/HTTPS traffic with iptables
If you already have basic firewall, just add the following:
# ----------- BEGIN OF CUSTOM RULES ----------- # # Allows HTTP and HTTPS connections from anywhere -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT # # ------------ END OF CUSTOM RULES ------------Now you can activate these rules as described here.
Port knocking using iptables
The following let you in basic firewall through sequential port knocking to open SSH access for 5 seconds:
# ----------- BEGIN OF CUSTOM RULES ----------- # # Note: Knock ports 100,200,300,400 to open SSH port for 5 seconds. -N INTO-PHASE2 -A INTO-PHASE2 -m recent --name PHASE1 --remove -A INTO-PHASE2 -m recent --name PHASE2 --set -A INTO-PHASE2 -j LOG --log-prefix "INTO PHASE2: " -A INTO-PHASE2 -j DROP -N INTO-PHASE3 -A INTO-PHASE3 -m recent --name PHASE2 --remove -A INTO-PHASE3 -m recent --name PHASE3 --set -A INTO-PHASE3 -j LOG --log-prefix "INTO PHASE3: " -A INTO-PHASE3 -j DROP -N INTO-PHASE4 -A INTO-PHASE4 -m recent --name PHASE3 --remove -A INTO-PHASE4 -m recent --name PHASE4 --set -A INTO-PHASE4 -j LOG --log-prefix "INTO PHASE4: " -A INTO-PHASE4 -j DROP -A INPUT -m recent --name PHASE1 --update -A INPUT -p tcp --dport 100 -i eth0 -m recent --set --name PHASE1 -A INPUT -p tcp --dport 200 -m recent --rcheck --name PHASE1 -j INTO-PHASE2 -A INPUT -p tcp --dport 300 -m recent --rcheck --name PHASE2 -j INTO-PHASE3 -A INPUT -p tcp --dport 400 -m recent --rcheck --name PHASE3 -j INTO-PHASE4 -A INPUT -p tcp --dport 22 -i eth0 -m recent --rcheck --seconds 5 --name PHASE4 -j ACCEPT # # ------------ END OF CUSTOM RULES ------------If you are knocking from windows client you can use nmap tool. Download command-line zipfile nmap-5.21-win32.zip. Add to knockin.cmd:
@echo off echo Knock in... %1 nmap -PN --host_timeout 1501 --max-retries 0 -p %2 %1 1>&0 2>&0 nmap -PN --host_timeout 1501 --max-retries 0 -p %3 %1 1>&0 2>&0 nmap -PN --host_timeout 1501 --max-retries 0 -p %4 %1 1>&0 2>&0 nmap -PN --host_timeout 1501 --max-retries 0 -p %5 %1 1>&0 2>&0Run as the following (suppose you are knocking to 192.168.1.100):
C:\Program Files\nmap-5.00>knockin.cmd 192.168.1.100 100 200 300 400Right after you issued above command the SSH port remains open for 5 seconds. Use your favorite SSH client to login. Just in case have a look here.
Basic iptables firewall
Here are basic firewall features:
- allows lo0 traffic
- accepts established connections
- allows all outgoing traffic
- log everything denied.
*filter # # http://wiki.debian.org/iptables # # Defaults are to DROP anything sent to firewall or internal # network, permit anything going out. -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT # Flush all specific rules -F INPUT -F FORWARD -F OUTPUT # Allows all loopback (lo0) traffic and drop all traffic to 127/8 # that doesn't use lo0 -A INPUT -i lo -j ACCEPT -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT # Accepts all established inbound connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allows all outbound traffic # You could modify this to only allow certain traffic -A OUTPUT -j ACCEPT # ----------- BEGIN OF CUSTOM RULES ----------- # Add your custom rules here, e.g. port knocking, ignore netbios, etc. # # ------------ END OF CUSTOM RULES ------------ # log iptables denied calls (access via 'dmesg' command) -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 # Reject all other inbound - default deny unless explicitly # allowed policy: -A INPUT -j DROP -A FORWARD -j DROP COMMITNow you can activate these rules as described here.
Activate iptables rules after reboot
List iptables rules:
iptables -LActivate rules from file:
iptables-restore < iptables.rulesSave rules:
iptables-save > /etc/iptables.up.rulesThese rules need to be restored when the network connection is going up.
touch /etc/network/if-pre-up.d/iptables chmod +x /etc/network/if-pre-up.d/iptablesAdd the following to /etc/network/if-pre-up.d/iptables:
#!/bin/sh /sbin/iptables-restore < /etc/iptables.up.rules
Subscribe to:
Posts
(
Atom
)