รู้เบื้องต้นเกี่ยวกับ IPTABLES: กำหนดค่าไฟร์วอลล์บน Linux

iptables

ไปยัง กำหนดค่าไฟร์วอลล์หรือไฟร์วอลล์ใน Linux เราสามารถใช้ iptables ได้ซึ่งเป็นเครื่องมือทรงพลังที่ผู้ใช้หลายคนลืมไป แม้ว่าจะมีวิธีการอื่น ๆ เช่น ebtables และ arptables เพื่อกรองทราฟฟิกที่ระดับลิงค์หรือ Squid ที่ระดับแอพพลิเคชั่น แต่ iptables จะมีประโยชน์มากในกรณีส่วนใหญ่การใช้การรักษาความปลอดภัยที่ดีในระบบของเราในระดับการรับส่งข้อมูลและการขนส่งของเน็ต .

เคอร์เนล Linux ใช้ iptables ซึ่งเป็นส่วนหนึ่งที่ ดูแลการกรองแพ็กเก็ต และในบทความนี้เราสอนให้คุณกำหนดค่าด้วยวิธีง่ายๆ พูดง่ายๆก็คือ iptables จะระบุว่าข้อมูลใดที่สามารถเข้าและไม่ได้โดยแยกทีมของคุณออกจากภัยคุกคามที่อาจเกิดขึ้น และแม้ว่าจะมีโปรเจ็กต์อื่น ๆ เช่น Firehol, Firestarter เป็นต้น แต่โปรแกรมไฟร์วอลล์เหล่านี้จำนวนมากใช้ iptables ...

ดี มาเริ่มทำงานกันเถอะพร้อมตัวอย่างที่คุณจะเข้าใจทุกอย่างได้ดีขึ้น (สำหรับกรณีเหล่านี้จำเป็นต้องมีสิทธิ์ดังนั้นใช้ sudo หน้าคำสั่งหรือกลายเป็นรูท):

วิธีทั่วไปในการใช้ iptables ในการสร้างนโยบายตัวกรองคือ:

IPTABLES -ARGUMENTS I / O ACTION

-ARGUMENT อยู่ที่ไหน อาร์กิวเมนต์ที่เราจะใช้โดยปกติ -P จะสร้างนโยบายเริ่มต้นแม้ว่าจะมีนโยบายอื่น ๆ เช่น -L เพื่อดูนโยบายที่เรากำหนดค่า -F เพื่อลบนโยบายที่สร้างขึ้น -Z เพื่อรีเซ็ตตัวนับไบต์และแพ็กเก็ตเป็นต้น อีกทางเลือกหนึ่งคือ -A เพื่อเพิ่มนโยบาย (ไม่ใช่โดยค่าเริ่มต้น), -I เพื่อแทรกกฎที่ตำแหน่งเฉพาะและ -D เพื่อลบกฎที่กำหนด นอกจากนี้ยังมีอาร์กิวเมนต์อื่น ๆ เพื่อชี้ไปที่โปรโตคอล -p, - พอร์ตต้นทางพอร์ต, - พอร์ตสำหรับพอร์ตปลายทาง, -i ​​อินเทอร์เฟซขาเข้า, -o อินเทอร์เฟซขาออก, - ที่อยู่ IP ต้นทางและ -d ที่อยู่ IP ปลายทาง

อินพุตเอาต์พุต iptables

นอกจากนี้ I / O จะแสดงถึง if การเมือง ใช้กับอินพุต INPUT ไปยังเอาต์พุต OUTPUT หรือเป็นการเปลี่ยนเส้นทางการรับส่งข้อมูล FORWARD (มีอื่น ๆ เช่น PREROUTING, POSTROUTING แต่เราจะไม่ใช้) สุดท้ายสิ่งที่ฉันเรียกว่า ACTION สามารถรับค่า ACCEPT ได้หากเรายอมรับปฏิเสธหากเราปฏิเสธหรือปล่อยทิ้งหากเรากำจัด ความแตกต่างระหว่าง DROP และ REJECT ก็คือเมื่อแพ็กเก็ตถูกปฏิเสธด้วย REJECT เครื่องที่มานั้นจะรู้ว่าถูกปฏิเสธ แต่ด้วย DROP จะทำงานอย่างเงียบ ๆ และผู้โจมตีหรือต้นทางจะไม่รู้ว่าเกิดอะไรขึ้นหรือไม่ ทราบว่าไฟร์วอลล์หรือการเชื่อมต่อล้มเหลว นอกจากนี้ยังมีอื่น ๆ เช่น LOG ซึ่งส่งการติดตามของ syslog ...

เพื่อแก้ไขกฎเราสามารถแก้ไขไฟล์ iptables ด้วยโปรแกรมแก้ไขข้อความที่ต้องการ nano, gedit, ... หรือสร้างสคริปต์ที่มีกฎ (หากคุณต้องการแทนที่พวกเขาคุณสามารถทำได้โดยใส่ # ไว้หน้าบรรทัดเพื่อให้เป็น ละเว้นเป็นความคิดเห็น) ผ่านคอนโซลด้วยคำสั่งตามที่เราจะอธิบายที่นี่ ใน Debian และอนุพันธ์คุณยังสามารถใช้เครื่องมือ iptables-save และ iptables-restore ...

นโยบายที่รุนแรงที่สุดคือการปิดกั้นทุกอย่างการจราจรทั้งหมดอย่างแน่นอน แต่สิ่งนี้จะทำให้เราโดดเดี่ยวด้วย:

iptables -P INPUT DROP

ที่จะยอมรับมันทั้งหมด:

iptables -P INPUT ACCEPT

ถ้าเราต้องการอย่างนั้น การรับส่งข้อมูลขาออกทั้งหมดจากทีมงานของเราได้รับการยอมรับ:

iptables -P OUTPUT ACEPT

La การกระทำที่รุนแรงอีกอย่างหนึ่งก็คือการลบล้างนโยบายทั้งหมด จาก iptables ด้วย:

iptables -F

ไปที่กฎที่เป็นรูปธรรมมากขึ้นลองนึกภาพว่าคุณมีเว็บเซิร์ฟเวอร์ดังนั้นจึงต้องอนุญาตการรับส่งข้อมูลผ่านพอร์ต 80:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

และถ้านอกเหนือจากกฎก่อนหน้านี้เราต้องการทีมที่มี iptables คอมพิวเตอร์จะเห็นเฉพาะในเครือข่ายย่อยของเรา และไม่มีใครสังเกตเห็นโดยเครือข่ายภายนอก:

iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT

ในบรรทัดก่อนหน้านี้สิ่งที่เรากำลังพูดกับ iptables คือการเพิ่มกฎ -A เพื่อให้ยอมรับอินพุต INPUT และโปรโตคอล TCP ผ่านพอร์ต 80 ตอนนี้จินตนาการว่าคุณต้องการให้ฉันทำ การท่องเว็บถูกปฏิเสธ สำหรับเครื่องท้องถิ่นที่ผ่านเครื่องที่ใช้ iptables:

iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP

ฉันคิดว่าการใช้งานนั้นง่ายโดยคำนึงถึงพารามิเตอร์ของ iptables แต่ละตัวเราสามารถเพิ่มกฎง่ายๆ คุณสามารถทำชุดค่าผสมและกฎทั้งหมดที่เราจินตนาการ ... เพื่อไม่ให้ตัวเองขยายตัวมากขึ้นเพียงเพิ่มอีกสิ่งหนึ่งและนั่นคือถ้าเครื่องถูกรีบูตนโยบายที่สร้างขึ้นจะถูกลบ ตารางจะเริ่มต้นใหม่และจะยังคงเหมือนเดิมดังนั้นเมื่อคุณกำหนดกฎได้ดีแล้ว หากคุณต้องการทำให้ถาวรคุณต้องเปิดใช้จาก /etc/rc.local หรือหากคุณมี Debian หรืออนุพันธ์ให้ใช้เครื่องมือที่เรามอบให้ (iptables-save, iptables-restore และ iptables-apply)


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   จิมมี่โอลาโน dijo

    นี่เป็นบทความแรกที่ฉันเห็นเกี่ยวกับ IPTABLES ที่แม้ว่าจะต้องมีความรู้ในระดับปานกลางอย่างหนาแน่น แต่ก็ตรงไปที่ธัญพืช

    ฉันขอแนะนำให้ทุกคนใช้เป็น "คู่มืออ้างอิงฉบับย่อ" เนื่องจากมีการย่อและอธิบายไว้เป็นอย่างดี 8-)

  2.   พระเยซูคริสต์ dijo

    ฉันต้องการให้คุณพูดคุยในบทความในอนาคตเกี่ยวกับการเปลี่ยนแปลง systemd ในการกระจาย linux ส่วนใหญ่มีผลต่อความปลอดภัยของ linux โดยทั่วไปในทางใดบ้างและหากการเปลี่ยนแปลงนี้ดีขึ้นหรือแย่ลงในอนาคตและการกระจาย linux ฉันต้องการทราบสิ่งที่รู้เกี่ยวกับอนาคตของ devuan (debian ที่ไม่มี systemd)
    ขอบคุณมากที่คุณสร้างบทความที่ดีมาก

  3.   Slevin dijo

    คุณช่วยสร้างบทความอธิบายตารางโกง

  4.   เซบาสเตียน dijo

    บล็อก Facebook เท่านั้น?