Como você configura o IPTables para que ele funcioneapenaspermitir a entrada de SSH e não permitir nenhum outro tráfegoou fora?
Alguma precaução de segurança que alguém possa recomendar?
Eu tenho um servidor que euacreditarfoi migrado do GoDaddy com sucesso e euacreditarnão está mais em uso.
Mas quero ter certeza só porque... nunca se sabe. :)
Observe que este é um servidor virtual dedicado da GoDaddy... Isso significa nenhum backup e praticamente nenhum suporte.
Responder1
Você precisa apenas definir a política padrão como DROP nas cadeias INPUT e OUTPUT.
Para permitir a entrada SSH, você precisa dos seguintes 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
Os dois últimos comandos permitem o tráfego de loopback, pois isso é exigido por alguns aplicativos para funcionar corretamente. Você pode restringir o acesso SSH de um IP específico usando -s source_ip
a opção.
Executar os comandos na ordem mostrada acima fará com que sua sessão SSH atual seja interrompida. Isso ocorre porque os comandos do iptables entram em vigor imediatamente. Você precisa executá-los em um script de shell para evitar perder a capacidade de conexão com sua máquina ao executá-los remotamente.
Responder2
Algo assim:
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