IPTables: permite solo acceso SSH, nada más dentro o fuera

IPTables: permite solo acceso SSH, nada más dentro o fuera

¿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_ipla 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

información relacionada