ขณะนี้เรากำลังใช้นโยบายเริ่มต้นโดยทั่วไปแล้วยอมรับ ACCEPT
เพียงพอสำหรับ OUTPUT เนื่องจาก Netfilter ไม่จำเป็นต้องมีกฎพิเศษในการเริ่มการติดตามการเชื่อมต่อที่มีสถานะ
แต่ถ้าคุณต้องการกรองทราฟฟิกขาเข้าตามนโยบาย" default deny " คุณสามารถทำได้ด้วยการสลับINPUT
-chain ไปที่DROP
:iptables -P INPUT DROP
หลังจากนั้นทั้งหมดจะถูกกำหนดด้วยกฎเพียง 2 ข้อ :
iptables -A INPUT -j ACCEPT -i lo
iptables -A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
ให้ความสนใจกับกฎที่อนุญาตให้ทราฟฟิกอินพุตบนอินเทอร์เฟซวนรอบ - ดังที่ฉันได้ชี้ให้เห็นในบล็อกโพสต์ของฉันว่า " ไฟร์วอลล์น้อยที่สุดสำหรับผู้ใช้ " เว้นแต่ว่าได้รับอนุญาตอย่างชัดเจน ปริมาณการใช้ข้อมูลผ่าน, พูด, eth0
.
เพื่อให้แน่ใจว่าโหลดชุดกฎขั้นต่ำนี้ " ตามที่เป็น " โดยไม่รบกวนกฎที่อาจมีอยู่แล้วสะดวกในการใช้iptables-restore
ใน SHELL-session:
lptables-restore <<__EOF__
-P INPUT DROP
-A INPUT -j ACCEPT -i lo
-A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
__EOF__
ก่อนที่จะทำเช่นนั้นตรวจสอบให้แน่ใจว่าคุณจะไม่ตัดการเชื่อมต่อเครือข่ายของคุณเอง1แม้ว่าเซสชัน SSH ที่เปิดอยู่แล้วควรทำงานได้ตามปกติ แต่ความพยายามในการเปิดใหม่จะไม่ทำงาน
__
- แน่นอนคุณสามารถเพิ่มกฎอื่น ๆ เพื่ออนุญาตการเชื่อมต่อดังกล่าว สามารถทำได้ง่ายเพียงแค่
-A INPUT -j ACCEPT -p tcp --dport 22
- ไม่จำเป็นต้องคนจรจัด-m state
ที่นี่ อย่าลืมแก้ไขlptables-restore
กลับไปiptables-restore
ก่อนลอง;)