วิธีการเข้าถึง SSH อีกครั้งหลังจาก beeing ถูกล็อกโดย iptables


10

TL: DR

ฉันทำการเปลี่ยนแปลง iptables config ของฉันและตอนนี้ SSH ปฏิเสธการเชื่อมต่อทั้งหมด ฉันสามารถแก้ไขได้โดยไม่ต้องติดต่อ บริษัท ที่ให้บริการพื้นที่ของฉันหรือไม่


รุ่นยาว

ตกลงนี่น่าจะเป็นความผิดของตัวเองมากที่สุด 100% ...

ในการเตรียมการย้ายเว็บไซต์ไปยังเซิร์ฟเวอร์เฉพาะเรามีเครื่องโฮสต์ใหม่ที่ใช้งาน CentOS 5.6 เครื่องมี iptables ค่อนข้างล็อคลงอนุญาตเฉพาะ ssh (22) และ http (80) แต่เรายังต้องการให้ยอมรับ FTP ผ่านพอร์ต 20 และ 21

บ่ายนี้ฉันเพิ่มสายลงใน iptables ของฉันเพื่อยอมรับการเชื่อมต่อขาเข้ากับพอร์ต 20 และ 21 ตอนแรกที่ใช้งานไม่ได้เพราะมีreject allบรรทัดด้านบนบรรทัดที่ฉันเพิ่มสำหรับ ftp ดังนั้นฉันจึงย้ายบรรทัดนั้นลงไปด้านล่างบันทึกและรีสตาร์ท iptables และ ftp ทำงานได้

2 ชั่วโมงต่อมาเมื่อฉันพยายามเชื่อมต่ออีกครั้งport 22: Connection refused เหมือนกันสำหรับ http

ดังนั้นฉันไม่สามารถเข้าถึงเซิร์ฟเวอร์ผ่าน SSH มีวิธีใดบ้างที่ฉันสามารถแก้ไขได้โดยไม่ต้องติดต่อ บริษัท ที่ให้บริการพื้นที่ของฉัน

คำตอบ:


13

น่าเสียดายที่ไม่มี ไม่เว้นเสียแต่ว่าคุณจะมีอินเทอร์เฟซการจัดการอื่น ๆ ที่พร้อมใช้งานเช่นคอนโซลอนุกรมระยะไกล, iDRAC, iLO เป็นต้นจดบันทึกเพื่อสัมผัสและจดจำการทดสอบการตั้งค่าก่อนที่คุณจะออกจากระบบในครั้งต่อไป;)


12
หรือถ้าคุณทดลองกับ iptables ตรวจสอบให้แน่ใจว่าคุณตั้งค่างาน cron ชั่วคราวที่รีเซ็ตชุดกฎทุก ๆ 15 นาที
mailq

1
บทเรียนได้เรียนรู้ :)
Jan Henckens

คุณจะเปิดใช้งาน SSH พอร์ต 22 โดยใช้ iDRAC อย่างไร
terrid25

@ terrid25 คุณจะเข้าสู่ระบบโดยใช้ serial console listen บนพอร์ตอนุกรมที่ iDRAC ให้คุณเข้าถึง จากนั้นคุณสามารถแก้ไข iptables และเป็นวิธีร่าเริงของคุณ แน่นอนถ้าสิ่งนอกวงดนตรีของคุณไม่ได้ตั้งค่าด้วยรีโมทคอนโซลและคุณจะติดอยู่กับเพื่อนโดยไม่มีการจัดการจากระยะไกล
Michael Lowman

7

สมมติว่าคุณยังคงสามารถ ftp ไปยังเซิร์ฟเวอร์และคุณสามารถเข้าสู่ระบบในฐานะ root ผ่านทาง ftp (ไม่น่าเป็นไปได้และไม่ได้รับคำแนะนำตามปกติ) ในสภาพแวดล้อมที่ไม่ chrooted (ฯลฯ ):

วางไฟล์ใน /etc/cron.d พร้อมเนื้อหาเหล่านี้:

* * * * * root /sbin/service iptables stop 

สิ่งนี้ช่วยฉันได้เพราะฉันสามารถเชื่อมต่ออิมเมจการกู้คืนจากระยะไกลและเข้าถึงระบบไฟล์ได้
Daniel W.

0

ตามคำแนะนำเหล่านี้คุณยังสามารถผนวก:

scripts2/doautofixer?autofix=iptablesflush

... ไปยัง URL WHM ของคุณ ฉันทำอย่างนั้นและลงเอยด้วย URL:

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

มันรีเซ็ต iptables ของฉันและทุกอย่างดีกับโลกอีกครั้ง :)


0

ใน CentOS คุณมีไฟล์/etc/sysconfig/iptablesหากคุณไม่มีไฟล์นั้นคุณสามารถสร้างมันได้ง่ายๆโดยใช้iptables-saveการถ่ายโอนข้อมูลกฎปัจจุบันที่ตั้งค่าไว้ในไฟล์

iptables-save > /etc/sysconfig/iptables

ในการโหลดไฟล์ที่คุณไม่จำเป็นต้องรีสตาร์ทเครื่องคุณสามารถใช้ iptables-restore

iptables-restore < /etc/sysconfig/iptables
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.