Ejemplo real — Firewall.sh —

0
1643

    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 ""
#
##
#

LEAVE A REPLY

Please enter your comment!
Please enter your name here