Score:1

การสร้าง / กำหนดค่าไฟร์วอลล์โดยใช้ iptables

ธง cn

ฉันต้องการตั้งค่าไฟร์วอลล์โดยใช้ iptables

เซิร์ฟเวอร์กำลังดำเนินการบริการ httpd (httpd) ระบบปฏิบัติการคือ Centos7 และข้อมูลด้านล่างคือหลังจากติดตั้ง iptables-services และเริ่ม iptables โดยไม่ต้องแก้ไขอะไรเลย

[root@iptables ~]# iptables -nL --line-numbers
เชนอินพุท (ยอมรับนโยบาย)
num target prot เลือกปลายทางต้นทาง
1 ยอมรับทั้งหมด -- 0.0.0.0/0 0.0.0.0/0 รัฐที่เกี่ยวข้อง จัดตั้งขึ้น
2 ยอมรับ icmp -- 0.0.0.0/0 0.0.0.0/0
3 ยอมรับทั้งหมด -- 0.0.0.0/0 0.0.0.0/0
4 ยอมรับ tcp -- 0.0.0.0/0 0.0.0.0/0 สถานะ ใหม่ tcp dpt:22
5 ปฏิเสธทั้งหมด -- 0.0.0.0/0 0.0.0.0/0 ปฏิเสธด้วย icmp-host-prohibited

ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
num target prot เลือกปลายทางต้นทาง
1 ปฏิเสธทั้งหมด -- 0.0.0.0/0 0.0.0.0/0 ปฏิเสธด้วย icmp-host-prohibited

Chain OUTPUT (ยอมรับนโยบาย)
num target prot เลือกปลายทางต้นทาง

อย่างที่คุณเห็นใน INPUT chain Line num3 ดูเหมือนว่าเซิร์ฟเวอร์ใด ๆ ที่เปิดอยู่

แต่เข้าหน้าเว็บผ่านบราวเซอร์ไม่ได้

มีอะไรที่ฉันต้องตั้งค่าหรือไม่?

เป็นผลลัพธ์ของ iptables-บันทึก (นำมาจากความคิดเห็น):

# สร้างโดย iptables-save v1.4.21 เมื่อพฤ. 16 ก.ย. 13:41:53 น. 2564
*กรอง
:อินพุต ยอมรับ [0:0]
:ส่งต่อ ยอมรับ [0:0]
: ยอมรับเอาต์พุต [527:50260]
-A INPUT -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ACCEPT
-A อินพุต -p icmp -j ยอมรับ
-A อินพุต -i lo -j ยอมรับ
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ยอมรับ
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
ให้สัญญา
# เสร็จสิ้นเมื่อ พฤ. ก.ย. 59 13:41:53 น. 2564
Nikita Kipriyanov avatar
za flag
โปรดแสดงผลของ `iptables-save` เป็นการยากที่จะถอดรหัสว่า iptables -L แสดงสิ่งต่างๆ อย่างไร ตัวอย่างเช่น ในบรรทัดของคุณอาจเป็นรายการที่ตรงกันหรือคำสั่งเพิ่มเติม ซึ่งจะไม่แสดงในลักษณะนี้เป็นต้น
Seung Hoon Paek avatar
cn flag
สวัสดี ขอบคุณสำหรับการตอบกลับของคุณ ในที่สุดฉันก็พบสาเหตุ หลังจากคำสั่ง iptables-save ฉันได้รับสาเหตุ อีกครั้ง ขอขอบคุณสำหรับความช่วยเหลือของคุณ ฉันซาบซึ้งจริงๆ
Score:0
ธง za

อย่างที่ฉันสงสัยว่า iptables -L ซ่อนการจับคู่เพิ่มเติม แต่ iptables-บันทึก ทรงแสดงความจริงที่เปลือยเปล่า กฎ #3 ของคุณตรงกับเฉพาะสำหรับ แท้จริง â อินเทอร์เฟซย้อนกลับ ไฟร์วอลล์นี้ยอมรับการเชื่อมต่อกับ tcp/22 (SSH) จากภายนอกเท่านั้น

วิธีแก้ปัญหาที่ง่ายที่สุดคือ:

iptables -I อินพุต 4 -p tcp --dport 80 -j ยอมรับ
iptables -I อินพุต 5 -p tcp --dport 443 -j ยอมรับ

คุณสามารถกรองเพิ่มเติมด้วย conntrack และรวมกฎทั้งสองเป็นกฎเดียวด้วยหลายพอร์ต:

iptables -I INPUT 4 -m conntrack --ctstate NEW -p tcp -m multiport --dports 80,443 -j ACCEPT -m comment --comment "บริการ HTTP/HTTPS"

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

อย่าใช้ -m สถานะ. สิ่งนี้ล้าสมัย มันใช้จริงๆ -m คอนโทรล ภายใต้ประทุนและมันโปร่งใสกว่าที่จะสะกดแบบนี้อย่างชัดเจน

อย่าใช้ iptables -L. อย่างที่คุณได้เห็น เอาต์พุตมันดู "สวยกว่า" และข้อดีก็จบลงที่นี่ แต่ยังไม่สามารถแสดงรายละเอียดที่จำเป็นทั้งหมดได้ ผลลัพธ์ของ iptables-บันทึก ดูสวยน้อยกว่า แต่แสดงรายละเอียดที่ดีที่สุดทั้งหมด ดังนั้นควรใช้อย่างหลังเสมอ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา