Acceso SSH bloqueado con las reglas de iptables

Acceso SSH bloqueado con las reglas de iptables

Configuré estas reglas de iptables y me bloqueó el acceso ssh (y todo lo demás):

*filter

# Allow loopback
-I INPUT 1 -i lo -j ACCEPT

# Allow DNS
-A OUTPUT -p udp --dport 53 -j ACCEPT

# allow outbound connection to several website
-A OUTPUT -p tcp -d www.google.com -j ACCEPT
-A OUTPUT -p tcp -d example.com -j ACCEPT
-A OUTPUT -p tcp -d myotherwebsite.tld -j ACCEPT

#allow inbound connection after an allowed outbound
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

#allow me and my website to communicate
-A INPUT -s 2.2.2.2/32 -j ACCEPT
-A INPUT -s 1.1.1.1/32 -j ACCEPT

-A INPUT -s 127.0.0.1/8 -j ACCEPT

-A INPUT -j LOG
-A OUTPUT -j LOG

#drop everything else
-P INPUT DROP

COMMIT

En este ejemplo mi ip es 1.1.1.1, mi sitio web es 2.2.2.2 y este servidor es 3.3.3.3. Bloqueo todas las conexiones ipv6 (mi pc solo está configurada en ipv4). Estoy casi seguro de que estas reglas funcionaron en el pasado, pero ahora no.

Respuesta1

Agregue una regla a su OUTPUTcadena que permita paquetes para conexiones ya establecidas. La regla típica para agregar a su conjunto de reglas sería:

-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Para la conexión SSH, esto tendrá el mismo propósito que la regla que describió entu respuesta anterior. Sin embargo, es más genérico y también se aplicará para permitir flujos bidireccionales de paquetes relacionados con cualquier otra INPUTregla de cadena que pueda agregar en el futuro, sin más reglas explícitas en su OUTPUTcadena.

Respuesta2

Parece que se necesita una regla bidireccional, agregar la siguiente línea me permite acceder a mi servidor:

-A OUTPUT -d 1.1.1.1/32 -j ACCEPT

información relacionada