Como recuperar o acesso SSH depois de ser bloqueado pelo iptables?

10

TL: DR

Fiz alterações na minha configuração do iptables e agora o SSH está recusando todas as conexões. Posso corrigir isso sem entrar em contato com minha empresa de hospedagem?


Versão longa

Ok, isso provavelmente é 100% minha culpa ...

Na preparação de mover um site para um servidor dedicado, obtivemos uma nova máquina hospedada executando o CentOS 5.6. A máquina possui iptables bem travadas, permitindo apenas ssh (22) e http (80), mas também é necessário aceitar FTP pela porta 20 en 21.

Esta tarde, adicionei linhas às minhas tabelas de ip para aceitar a conexão de entrada às portas 20 e 21. No início, isso não funcionou porque havia uma reject alllinha acima das linhas adicionadas para o ftp. Então, movi a linha para baixo, salvei e reiniciei o iptables e o ftp estava funcionando.

2 horas depois, quando tento conectar novamente, o port 22: Connection refused mesmo é para http.

Portanto, não consigo acessar o servidor através do SSH. Existe alguma maneira de corrigir isso sem entrar em contato com minha empresa de hospedagem?

Jan Henckens
fonte

Respostas:

13

Infelizmente não. A menos que você tenha alguma outra interface de gerenciamento disponível, como um console serial remoto, iDRAC, iLO, etc. Gere a experiência e lembre-se de testar as configurações antes de sair da próxima vez;)

Michael Lowman
fonte
12
Ou, se você experimenta o iptables, defina temporariamente um trabalho cron que redefina o conjunto de regras a cada 15 minutos.
mailq
1
Lição aprendida :)
Jan Henckens
Como você habilitaria a porta SSH 22 usando o iDRAC?
precisa saber é o seguinte
@ terrid25 em que você efetuaria login usando o console serial que escuta na porta serial à qual o iDRAC fornece acesso. você pode consertar o iptables e seguir seu caminho alegre. é claro, se as coisas fora da banda não estiverem configuradas com console remoto e você ficará tão paralisado quanto seu amigo, sem gerenciamento remoto.
Michael Lowman
7

Supondo que você ainda possa fazer o ftp no servidor e fazer login como root via ftp (improvável e geralmente desaconselhável) em um ambiente sem chroot (etc):

Coloque um arquivo em /etc/cron.d com este conteúdo:

* * * * * root /sbin/service iptables stop 
Mark Wagner
fonte
Isso me ajudou, porque eu posso conectar remotamente uma imagem de recuperação e acessar o sistema de arquivos.
Daniel W.
0

De acordo com estas instruções , você também pode anexar:

scripts2/doautofixer?autofix=iptablesflush

... ao seu URL do WHM. Fiz isso e acabei com um URL:

https://mysite:2087/SESSION_ID/scripts2/doautofixer?autofix=iptablesflush

Ele redefiniu minhas tabelas de ip e tudo estava bem com o mundo novamente. :)

coderama
fonte
0

No CentOS, você tem o arquivo, /etc/sysconfig/iptablesse não o tiver, pode criá-lo simplesmente usando iptables-savepara despejar o conjunto de regras atual em um arquivo.

iptables-save > /etc/sysconfig/iptables

Para carregar o arquivo, você não precisa reiniciar a máquina, use iptables-restore

iptables-restore < /etc/sysconfig/iptables
Janus Rokkjær
fonte