[eside-ghost] Protegiendo el acceso mediante ssh con iptables
Saúl Ibarra
saghul en gmail.com
Mar Jun 5 01:33:27 CEST 2007
Hoola!
Me he puesto a enredar con iptables, para lo que he habilitado una DMZ
a una maquina de mi red. El firewall tiene por defecto una politica de
DROP, y todas las reglas funcionan bien, pero recuerdo que lei que se
ouede proteger el acceso por SSH 'contando' las conexiones en un
tiempo determinado y haciendo DROP si las supera.
El script me ha quedado asi:
#!/bin/sh
IPT="/sbin/iptables"
echo "Aplicando reglas IPTables..."
## FLUSH de reglas
$IPT -F
$IPT -X
## Establecemos politica por defecto: DROP
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
## Como la polᅵtica por defecto es DROP, tenemos que ABRIR los
puertos que queramos.
# Operar en localhost sin limitaciones
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
## Servidor Web en el puerto TCP 80
$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --sport 80 -m state --state
RELATED,ESTABLISHED -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --sport 22 -m state --state
RELATED,ESTABLISHED -j ACCEPT
Hasta aqui todo funciona bien, pero si anyado esto:
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent
--update --seconds 60 --hitcount 4 -j DROP
Ya no puedo acceder por ssh. entonces pense que me faltaba una regla
output y anyadi esto:
$IPT -A OUTPUT -p tcp -m tcp --sport 22 -m state --state
RELATED,ESTABLISHED -j ACCEPT
Pero nada... Necesito una ayudita plizz.
PD: No puedo poner la enye porque estoy en un teclado americano xD.
--
Saúl -- "Some people say why, other just say, why not."
----------------------------------------------------------------
http://www.saghul.net/
Más información sobre la lista de distribución eside-ghost