Este documento describe reglas para iptables configurables para un servidor con las siguientes políticas y condiciones:

Script

Llame al siguiente script securefw.sh, ubíquelo en /usr/local/bin

#!/bin/sh
# Internet Address
WAN_IP="XXX.XXX.XXX.XXX"
WAN_IT="eth1"
# Internal Information
LAN_IP="YYY.YYY.YYY.YYY"
LAN_IT="eth0"

# Accepted Incoming ports
INC_PORTS="22,80,443,14000,8080"

# Flushing all rules
iptables -F
iptables -X
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Allow unlimited traffic on loopback and internal interface
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i $LAN_IT -j ACCEPT
iptables -A OUTPUT -o $LAN_IT -j ACCEPT

# Allow selected  incoming ports
PORTS=$(echo $INC_PORTS | tr "," "\n")
for PORT in $PORTS
do
        iptables -A INPUT -p tcp -s 0/0 -d $WAN_IP --dport $PORT -m state --state NEW,ESTABLISHED -j ACCEPT
        iptables -A OUTPUT -p tcp -s $WAN_IP -d 0/0 --sport $PORT -m state --state ESTABLISHED -j ACCEPT
done

# make sure we can go out from this SERVER
iptables -A INPUT  -i $WAN_IT  -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o $WAN_IT -j ACCEPT

# Allow ping
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d $WAN_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -s $WAN_IP -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -s $WAN_IP -d 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 0/0 -d $WAN_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

Deploy

Pruebas

A continuación encuentra un script para hacer limpieza de las reglas de firewall, nómbrelo como openfw.sh y ubíquelo en /usr/local/bin, para darle uso y probar reglas de securefw.sh aplique el siguiente comando:

#!/bin/sh
#open firewall
sleep 1m
iptables -F
iptables -t nat -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

FirewallIptables (last edited 2010-08-05 17:49:35 by IgorTamara)