Acesso SSH bloqueado com as regras do iptables

Acesso SSH bloqueado com as regras do iptables

Eu configurei essas regras do iptables e isso bloqueou o acesso ssh (e tudo mais):

*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

Neste exemplo meu ip é 1.1.1.1, meu site é 2.2.2.2 e este servidor é 3.3.3.3 Bloqueio toda conexão ipv6 (meu pc só está configurado em ipv4). Tenho quase certeza de que essas regras funcionaram no passado, mas não funcionam agora.

Responder1

Adicione uma regra à sua OUTPUTcadeia que permita pacotes para conexões já estabelecidas. A regra típica para adicionar ao seu conjunto de regras seria:

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

Para a conexão SSH, isso terá o mesmo propósito da regra que você descreveu emsua resposta anterior. No entanto, é mais genérico e também se aplicará para permitir fluxos bidirecionais de pacotes relacionados a quaisquer outras INPUTregras de cadeia que você possa adicionar no futuro, sem outras regras explícitas em sua OUTPUTcadeia.

Responder2

Parece que é necessária uma regra bidirecional. Adicionar a seguinte linha me permite acessar meu servidor:

-A OUTPUT -d 1.1.1.1/32 -j ACCEPT

informação relacionada