Ejemplo real — Firewall.sh —

115
    Este es un ejemplo real y más completo que se tiene en servicio en uno de muchos servidores que LinuxSC ha confifurado.

A continuacion anexo el script.

 

#!/bin/sh
#  Firewall.sh –  Firewall configurable para WS o Server. Host por host
#  (c) Linux Solutions Center
#  Probe: True
#  Date: 29-Ago-07

 

echo ” “
echo ” Aplicando reglas de Firewall …”
echo ” “

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables –flush       
iptables –delete-chain

 

## Firewall minimo para  WS – Servers ##
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -A INPUT -i lo –source 127.0.0.1 –destination 127.0.0.1 -j ACCEPT

 

# Entrada al servidor desde determinados hosts
# Funciona como un TCP-Wrappers

iptables -A INPUT -s 111.222.333.444 -j ACCEPT
iptables -A INPUT -s 11.22.33.0/24 -j ACCEPT
iptables -A INPUT -s 1.2.3.4 -j ACCEPT

#
#Aceptamos pings #
iptables -A INPUT -m state –state “ESTABLISHED,RELATED” -j ACCEPT
iptables -A INPUT -p icmp –icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp –icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT

 

# Servicios que corren en el servidor #
#iptables -A INPUT -p tcp –dport ssh -j ACCEPT
iptables -A INPUT -p tcp –dport smtp -j ACCEPT
iptables -A INPUT -p tcp –dport http -j ACCEPT
iptables -A INPUT -p tcp –dport https -j ACCEPT
iptables -A INPUT -p tcp –dport domain -j ACCEPT
iptables -A INPUT -p udp –dport domain -j ACCEPT
iptables -A INPUT -p tcp –dport 110 -j ACCEPT
iptables -A INPUT -p tcp –dport imap -j ACCEPT
#
# Cerramos el rango de los puertos privilegiados. Cuidado con este tipo de
# barreras, antes hay que abrir a los que si tienen acceso.
iptables -A INPUT -p tcp –dport 1:1024 -j DROP
iptables -A INPUT -p udp –dport 1:1024 -j DROP

# Salvamos los logs del Firewall.
iptables -A INPUT -j LOG -m limit –limit 40/minute
iptables -A INPUT -j DROP
# Savamos las politicas
iptables-save > /etc/sysconfig/iptables

echo “: Done.”
echo “”