การจัดการกฎ iptables ใน Linux


17

ฉันมีกฎมากมายสำหรับการตั้งค่า iptables ของฉัน (การกำหนดเส้นทาง, ssh แบนและอื่น ๆ ) ฉันยังเลือกรายการของไอพีที่จะห้ามจากที่นี่http://blacklist.linuxadmin.orgและตอนนี้มันซับซ้อนมาก

ฉัน/etc/sysconfig/iptablesยาวจริงๆ มีวิธีจัดการกฎโดยรวมกฎจากไฟล์ภายนอกหรือไม่

ตัวอย่างเช่น:

#include "pre_routing_rules"
#include "ssh_bans"

ซึ่งจะรวมถึงกฎที่เพิ่มในไฟล์ "pre_routing_rules" และ "ssh_bans" ด้วยวิธีนี้ฉันสามารถจัดการกฎของฉันได้อย่างง่ายดายโดยไม่ต้องไปcat /etc/sysconfig/iptablesไหนมาไหน

คำตอบ:


11

ลองipsets iptables' ipsets มีการกำหนดค่าแยกต่างหากและสิ่งเหล่านี้จะเร็วขึ้นหากคุณมีที่อยู่ IP เพียงพอที่จะจัดการ

กฎ iptables สามารถอ้างถึง ipset ดังนี้:

iptables -A ไปข้างหน้า - ชุด m - ชุดรายการบล็อก src, dst -j DROP


ปัญหาที่ใหญ่ที่สุดของฉันคือที่อยู่ IP ดังนั้นฉันจึงสามารถใช้สิ่งนี้ได้

ฉันใช้คุณสมบัตินี้ IP ของบัญชีดำ / ขาวของฉันใหญ่ที่สุดดังนั้นพวกเขาจึงสามารถไปในไอพีเซ็ตได้ ฉันคิดว่าสิ่งที่กำหนดเส้นทางล่วงหน้าสามารถอยู่ในรายการกำหนดค่าหลักได้

กระทู้ฟอรัมนี้มีตัวอย่างบางส่วนของสคริปต์ที่ใช้ ipsets: forums.gentoo.org/viewtopic-t-863121.html
mivk

3

ทางออกหนึ่งที่ง่ายคือการใช้สคริปต์ทุบตีหลายอย่างสำหรับแต่ละส่วนเช่น:

iptables-routing.sh
iptables-ssh-bans.sh
iptables-blacklist.sh

และเรียกใช้ไฟล์นี้จากสคริปต์หลัก


ใช่นั่นคือสิ่งที่ฉันทำ แต่ถ้าฉันต้องดูรายการกฎ iptables (เช่น cat / etc / sysconfig / iptables) มันจะแสดงกฎทั้งหมดที่เพิ่มเข้ามาผ่าน iptables-routing.sh iptables-blacklist.sh

2

iptables ไม่อ่านไฟล์โดยตรงซึ่งทำโดยโปรแกรมที่เรียกว่า iptables-restore โดยปกติจะเรียกจากสคริปต์เริ่มต้นของคุณ

คุณสามารถเพิ่มไฟล์อินพุตพิเศษในบรรทัด iptables-restore ของคุณ คุณจะต้องค้นหาว่าบรรทัดนี้อยู่ในระบบของคุณ แต่ในกล่อง Debain ของฉันมันอยู่ใน /etc/init.d/nat

ตอนนี้บรรทัดอ่านเช่นนี้:

/sbin/iptables-restore < /etc/network/iptables

บางทีมันอาจเปลี่ยนเป็นอะไรแบบนี้:

cat /etc/network/iptables \
    /etc/network/pre_routing_tables \
    /etc/network/ssh_bans | /sbin/iptables-restore

2

ฉันมักจะใช้สคริปต์ / เครื่องมือไฟร์วอลล์บน iptables จำนวนมากเช่น Firestarter หรือ Shorewall พวกเขามาพร้อมกับไฟล์จำนวนมากคั่นด้วยวัตถุประสงค์เพิ่มกฎที่น่าสนใจเพื่อป้องกันแพ็กเก็ตปลอมบางประเภทและพวกเขามักจะทำงาน ดี.


ใช้งานได้ผ่านทางบรรทัดคำสั่งหรือไม่ เซิร์ฟเวอร์ของฉันเป็นรีโมตและฉันไม่ต้องการทำ X มากกว่า SSH

Shorewall เป็นชุดของไฟล์ข้อความแบบแฟลตที่สร้างกฎ iptables มันใช้งานได้ดีมากจากบรรทัดคำสั่งและมีเอกสารและเครื่องมือวินิจฉัยที่ยอดเยี่ยม
พอลเกียร์

0

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

. / etc / sysconfig / pre_routing_rules

หรือเช่นที่ด้านบนของไฟล์ iptables ที่คุณอ้างถึง


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