¿Cómo se configura IPTables para que funcione?solopermitir la entrada SSH y no permitir ningún otro tráficoo fuera?
¿Alguna precaución de seguridad que alguien pueda recomendar?
Tengo un servidor quecreerse ha migrado fuera de GoDaddy con éxito y yocreerya no está en uso.
Pero quiero asegurarme sólo porque... nunca se sabe. :)
Tenga en cuenta que este es un servidor virtual dedicado de GoDaddy... Eso significa que no hay respaldo y prácticamente no hay soporte.
Respuesta1
Solo necesita configurar la política predeterminada en DROP en las cadenas de ENTRADA y SALIDA.
Para permitir la entrada de SSH, necesita los siguientes comandos:
$ sudo iptables -P INPUT DROP
$ sudo iptables -P OUTPUT DROP
$ sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$ sudo iptables -A OUTPUT -o lo -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Los dos últimos comandos permiten el tráfico de bucle invertido, ya que algunas aplicaciones lo requieren para funcionar correctamente. Puede restringir el acceso SSH desde una IP específica usando -s source_ip
la opción.
La ejecución de los comandos en el orden que se muestra arriba hará que su sesión SSH actual se bloquee. Esto se debe a que los comandos de iptables entran en vigor de inmediato. Debe ejecutarlos en un script de shell para evitar perder la capacidad de conectarse a su máquina al ejecutarlos de forma remota.
Respuesta2
Algo como esto:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT # or iptables -P INPUT DROP
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j REJECT # or iptables -P OUTPUT DROP