Wie kann ich den SSH-Zugriff wiedererlangen, nachdem ich von iptables gesperrt wurde?

9

TL: DR

Ich habe Änderungen an meiner iptables-Konfiguration vorgenommen und jetzt lehnt SSH alle Verbindungen ab. Kann ich das beheben, ohne mein Hosting-Unternehmen zu kontaktieren?


Lange Version

Ok, das ist höchstwahrscheinlich zu 100% meine eigene Schuld ...

Zur Vorbereitung des Verschiebens einer Website auf einen dedizierten Server haben wir einen neuen gehosteten Computer mit CentOS 5.6 erhalten. Die Maschine hat iptables ziemlich gesperrt, erlaubt nur ssh (22) und http (80), aber wir brauchten es auch, um FTP über Port 20 und 21 zu akzeptieren.

Heute Nachmittag habe ich Leitungen zu meinen iptables hinzugefügt, um eingehende Verbindungen zu den Ports 20 und 21 zu akzeptieren. Zuerst hat das nicht funktioniert, da es eine reject allLeitung über den Leitungen gab, die ich für ftp hinzugefügt habe. Also habe ich diese Zeile nach unten verschoben, iptables gespeichert und neu gestartet, und ftp hat funktioniert.

2 Stunden später, wenn ich erneut versuche, eine Verbindung herzustellen, gilt das port 22: Connection refused Gleiche für http.

Ich kann also nicht über SSH zum Server gelangen. Gibt es eine Möglichkeit, dies zu beheben, ohne meine Hosting-Firma zu kontaktieren?

Jan Henckens
quelle

Antworten:

12

Unglücklicherweise nicht. Nur wenn Sie über eine andere Verwaltungsschnittstelle verfügen, z. B. eine serielle Remote-Konsole, iDRAC, iLO usw. Machen Sie sich mit den Einstellungen vertraut, bevor Sie sich das nächste Mal abmelden.

Michael Lowman
quelle
12
Wenn Sie mit iptables experimentieren, stellen Sie sicher, dass Sie vorübergehend einen Cron-Job festlegen, der den Regelsatz alle 15 Minuten zurücksetzt.
Mailq
1
Lektion gelernt :)
Jan Henckens
Wie würden Sie den SSH-Port 22 mit iDRAC aktivieren?
Terrid25
@ terrid25 Sie würden sich mit der seriellen Konsole anmelden, die den seriellen Anschluss überwacht, auf den iDRAC Ihnen Zugriff gewährt. Sie können dann iptables reparieren und auf Ihrem fröhlichen Weg sein. Wenn Ihr Out-of-Band-Material nicht mit einer Remote-Konsole eingerichtet ist, stecken Sie natürlich genauso fest wie Ihr Freund ohne Remote-Verwaltung.
Michael Lowman
7

Angenommen, Sie können weiterhin FTP auf dem Server ausführen und sich als Root über FTP (unwahrscheinlich und normalerweise schlecht beraten) in einer Umgebung ohne Chroot (usw.) anmelden:

Fügen Sie eine Datei mit folgenden Inhalten in /etc/cron.d ein:

* * * * * root /sbin/service iptables stop 
Mark Wagner
quelle
Dies hat mir geholfen, da ich ein Wiederherstellungsimage remote verbinden und auf das Dateisystem zugreifen kann.
Daniel W.
0

Gemäß diesen Anweisungen können Sie auch Folgendes anhängen:

scripts2/doautofixer?autofix=iptablesflush

... zu Ihrer WHM-URL. Ich habe das getan und am Ende eine URL erhalten:

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

Es hat meine iptables zurückgesetzt und alles war wieder gut mit der Welt. :) :)

Coderama
quelle
0

In CentOS haben Sie die Datei, /etc/sysconfig/iptableswenn Sie sie dort nicht haben. Sie können sie einfach erstellen, indem Sie iptables-saveden aktuellen Regelsatz in eine Datei kopieren.

iptables-save > /etc/sysconfig/iptables

Um die Datei zu laden, müssen Sie den Computer nicht neu starten iptables-restore

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