วิธีเปลี่ยนเส้นทางทราฟฟิกทั้งหมดยกเว้น SSH ไปยังพอร์ตภายในเครื่องหนึ่งที่มี iptables


3

โฮสต์ระบบปฏิบัติการ: Ubuntu 16.06 LTS
ฉันมีเซิร์ฟเวอร์ของฉันฟังพอร์ต 1233 ฉันต้องเปลี่ยนเส้นทางการรับส่งข้อมูล TCP และ UDP ทั้งหมดไปยังพอร์ต 1233 ยกเว้นพอร์ต SSH ฉันเปลี่ยนเส้นทางพอร์ตทั้งหมดของฉันเป็น 1233 สำเร็จด้วยกฎ IPTable ต่อไปนี้

*filter 
:INPUT ACCEPT [89:12442] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [114:10536] 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
COMMIT 
*nat 
:PREROUTING ACCEPT [2:64] 
:INPUT ACCEPT [2:261] 
:OUTPUT ACCEPT [8:524] 
:POSTROUTING ACCEPT [8:524] 
-A PREROUTING -p tcp -m tcp -j REDIRECT --to-ports 1233 
-A PREROUTING -p udp -j REDIRECT --to-ports 1233 
COMMIT

ฉันได้เพิ่มกฎสำหรับพอร์ต SSH แล้ว แต่ฉันไม่สามารถสร้างการเชื่อมต่อ SSH กับเซิร์ฟเวอร์ของฉันได้สำเร็จเนื่องจาก PREROUTING โซ่จะดำเนินการก่อน หลังจากค้นหาฉันพบคำถามมากมายที่มีลักษณะเกี่ยวข้องกับเรื่องนี้ แต่ไม่ใช่คำถามเดียวที่ครอบคลุมสถานการณ์นี้

คุณอาจสงสัยเกี่ยวกับกรณีการใช้งานของการใช้งานประเภทนี้ มันเป็นเซิร์ฟเวอร์ honeypot และความคิดของเราคือการตั้งค่า honeypot เพื่อรับฟังการรับส่งข้อมูลทั้งหมดยกเว้น SSH ฉันรู้ว่าฉันสามารถกำหนดช่วงของพอร์ตหรือใช้สิ่งอำนวยความสะดวกหลายพอร์ตของ iptables แต่ฉันต้องเปลี่ยนเส้นทางพอร์ตทั้งหมดของฉันยกเว้น 22

คำตอบ:


2

SSH ของฉันคือเซิร์ฟเวอร์ฟังที่พอร์ต 22 ฉันประสบความสำเร็จกับกฎ IPTables ต่อไปนี้

iptables -t nat -A PREROUTING -p tcp --dport 1:21 -j REDIRECT --to-port 5000 iptables -t nat -A PREROUTING -p tcp --dport 23:65389 -j REDIRECT --to-port 5000 iptables -t nat -A PREROUTING -p udp -j REDIRECT --to-port 5000 service iptables-persistent save service iptables-persistent reload

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