วิธีกำหนดค่าไฟร์วอลล์ใน Linux ด้วย IPtables

ลินุกซ์ iptable

แม้ว่าบางครั้งฉันยังคงสัมผัส Windows ด้วยตัวเอง และในหลายๆ อย่างอื่น พวกเขาบังคับฉัน (marditoh rodoreh) เมื่อฉันต้องทำสิ่งต่างๆ นอกคอมพิวเตอร์ สำหรับฉันแล้ว การพูดเกี่ยวกับ Windows เป็นเหมือนสิ่งที่ถูกทิ้งไว้ตามกาลเวลา เมื่อฉันใช้มันเป็นระบบหลักของฉัน (ฉันไม่มีอย่างอื่น) ฉันพยายามปกป้องมันด้วยซอฟต์แวร์เช่นโปรแกรมป้องกันไวรัสของ Kaspersky และไฟร์วอลล์เป็นครั้งคราว ท่ามกลางเครื่องมือรักษาความปลอดภัยอื่นๆ อีกมากมาย ใน Linux เราไม่เคยเปิดเผยเท่าใน Windows แต่ก็มีซอฟต์แวร์ที่ช่วยให้เราใจเย็นขึ้นเช่น ไอพีเทเบิลไฟร์วอลล์หรือไฟร์วอลล์

ไฟร์วอลล์คือระบบรักษาความปลอดภัยที่มีหน้าที่ควบคุมทราฟฟิกเครือข่ายที่เข้าและออกจากระบบปฏิบัติการ หนึ่งในสิ่งที่แพร่หลายที่สุดใน Linux คือ IPtables ดังกล่าว จนถึงจุดที่อาจและโดยที่คุณไม่รู้ตัว มันถูกติดตั้งในระบบปฏิบัติการของคุณแล้วตั้งแต่คุณเปิดตัว สิ่งที่เราจะพยายามทำในบทความนี้คือการอธิบาย วิธีกำหนดค่าไฟร์วอลล์ใน linux ด้วย IPtables

IPtables บน Linux สิ่งที่คุณต้องรู้

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

นอกจากนี้ และสำหรับสิ่งที่อาจเกิดขึ้น หากเรามีไฟร์วอลล์อื่นบนระบบ Linux ของเรา และเรากำลังจะเริ่มปรับแต่งสิ่งต่างๆ ใน ​​IPtables มันก็คุ้มค่าที่จะทำสำเนาสำรองของการกำหนดค่าไฟร์วอลล์ปัจจุบันของเรา ด้วยความชัดเจนทั้งหมดนี้ เราจะเริ่มพูดคุยเกี่ยวกับการกำหนดค่าของ IPtables อย่างครบถ้วน

  1. สิ่งแรกที่เราต้องทำคือติดตั้งแพ็คเกจ ลีนุกซ์ส่วนใหญ่มีการติดตั้งไว้เป็นค่าเริ่มต้น แต่นี่ไม่ใช่กรณีเสมอไป หากต้องการทราบว่าเราได้ติดตั้ง IPtables ในระบบปฏิบัติการของเราหรือไม่ ให้เปิดเทอร์มินัลแล้วเขียน iptables -v. ในกรณีของฉันและในขณะที่เขียนบทความนี้ เทอร์มินัลของฉันส่งคืนให้ฉัน iptable v1.8.8. ในกรณีที่ไม่ได้ติดตั้ง สามารถติดตั้งได้ด้วย:

Ubuntu/Debian หรืออนุพันธ์:

sudo apt ติดตั้ง iptables

Fedora/Redhat หรืออนุพันธ์:

sudo yum ติดตั้ง iptables

Arch ลินุกซ์ และอนุพันธ์

sudo pacman -Siptables

หลังจากติดตั้งแล้วจะเปิดใช้งานด้วย:

sudo systemctl เปิดใช้งาน iptables sudo systemctl เริ่ม iptables

และคุณสามารถดูสถานะได้ด้วย:

sudo systemctl สถานะ iptables
  1. เมื่อติดตั้งไฟร์วอลล์แล้ว คุณต้องกำหนดค่ากฎ กฎ IPtables แบ่งออกเป็นตาราง (ซึ่งเราจะพูดถึงในรายละเอียดเพิ่มเติมในบทความนี้): ตัวกรอง แนท และแมงเกิล ซึ่งเราต้องเพิ่มข้อมูลดิบและความปลอดภัย ตารางตัวกรองใช้เพื่อควบคุมการรับส่งข้อมูลขาเข้าและขาออก ตาราง nat ใช้เพื่อทำ NAT (การแปลที่อยู่เครือข่าย) และตาราง mangle ใช้เพื่อแก้ไขแพ็กเก็ต IP ในการกำหนดค่ากฎของตารางตัวกรอง จะใช้คำสั่งต่อไปนี้:
  • iptables -A INPUT -j ACCEPT (อนุญาตทราฟฟิกขาเข้าทั้งหมด)
  • iptables -A OUTPUT -j ACCEPT (อนุญาตการรับส่งข้อมูลขาออกทั้งหมด)
  • iptables -A FORWARD -j ACCEPT (อนุญาตการรับส่งข้อมูลเส้นทางทั้งหมด) อย่างไรก็ตาม การกำหนดค่านี้อนุญาตการรับส่งข้อมูลทั้งหมด และไม่แนะนำสำหรับระบบที่ใช้งานจริง สิ่งสำคัญคือต้องระบุกฎไฟร์วอลล์ตามความต้องการเฉพาะของระบบ ตัวอย่างเช่น หากคุณต้องการบล็อกการรับส่งข้อมูลขาเข้าบนพอร์ต 22 (SSH) คุณสามารถใช้คำสั่ง:
iptables -A อินพุต -p tcp --dport 22 -j DROP
  1. สิ่งสำคัญอีกประการหนึ่งคือการบันทึกการตั้งค่าเพื่อไม่ให้สูญเสียไปเมื่อรีบูตระบบ บน Ubuntu และ Debian คำสั่ง "iptables-save" ใช้เพื่อบันทึกการกำหนดค่าปัจจุบันลงในไฟล์ บน Red Hat และ Fedora คำสั่ง "service iptables save" ใช้เพื่อบันทึกการกำหนดค่า หากคุณไม่แน่ใจว่าจะใช้คำสั่งใด คำสั่ง Ubuntu/Debian มักจะใช้งานได้กับการกระจายมากกว่า

โหลดการกำหนดค่าหลังจากรีบูต

ไปยัง โหลดการตั้งค่าที่บันทึกไว้คำสั่งเดียวกันกับที่ใช้ในการบันทึกจะถูกใช้ แต่ด้วยการกระทำ "กู้คืน" แทน "บันทึก" บน Ubuntu และ Debian คำสั่ง "iptables-restore" ใช้เพื่อโหลดการกำหนดค่าที่บันทึกไว้จากไฟล์ บน Red Hat และ Fedora คำสั่ง "service iptables restore" ใช้เพื่อโหลดการกำหนดค่าที่บันทึกไว้ อีกครั้ง หากคุณสงสัยว่าจะใช้คำสั่งใด คำสั่ง Ubuntu/Debian มักจะทำงานได้ดีที่สุด

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

ตารางใน IPtables

มีประเภท 5 วาด ใน IPTables และแต่ละกฎจะใช้กฎที่แตกต่างกัน:

  • กรอง : นี่คือตารางหลักและตารางเริ่มต้นเมื่อใช้ IPTables ซึ่งหมายความว่าหากไม่มีการกล่าวถึงตารางเฉพาะเมื่อใช้กฎ กฎจะถูกนำไปใช้กับตารางตัวกรอง ตามชื่อที่แนะนำ บทบาทของตารางตัวกรองคือการตัดสินใจว่าจะอนุญาตให้แพ็กเก็ตไปถึงปลายทางหรือปฏิเสธคำขอ
  • แน็ต (การแปลที่อยู่เครือข่าย): ตามชื่อที่แนะนำ ตารางนี้ช่วยให้ผู้ใช้สามารถระบุการแปลที่อยู่เครือข่ายได้ บทบาทของตารางนี้คือการพิจารณาว่าจะปรับเปลี่ยนที่อยู่แพ็กเก็ตต้นทางและปลายทางหรือไม่และอย่างไร
  • ฉีก: ตารางนี้ช่วยให้เราแก้ไขส่วนหัว IP ของแพ็กเก็ต ตัวอย่างเช่น สามารถปรับ TTL ให้ยาวขึ้นหรือสั้นลงของฮ็อพเครือข่ายที่แพ็กเก็ตสามารถรองรับได้ ในทำนองเดียวกัน ส่วนหัวของ IP อื่น ๆ ก็สามารถแก้ไขได้ตามความต้องการของคุณ
  • ดิบ: การใช้งานหลักของตารางนี้คือการติดตามการเชื่อมต่อเนื่องจากมีกลไกสำหรับการทำเครื่องหมายแพ็กเก็ตเพื่อดูแพ็กเก็ตซึ่งเป็นส่วนหนึ่งของเซสชันที่กำลังดำเนินอยู่
  • ความปลอดภัย: การใช้ตารางความปลอดภัย ผู้ใช้สามารถใช้แฟล็กบริบทความปลอดภัย SELinux ภายในกับแพ็กเก็ตเครือข่าย

สองตารางสุดท้ายแทบไม่ได้ใช้ จนถึงจุดที่เอกสารส่วนใหญ่พูดถึงตัวกรอง แนท และแมงเกิลเท่านั้น

ในไฟล์วิธีใช้ เราสามารถหาตัวอย่างเกี่ยวกับวิธีการจัดการ IPtables หากต้องการดูเราจะเปิดเทอร์มินัลแล้วพิมพ์ iptables -h.

แม้ว่า iptables จะเป็นหนึ่งในตัวเลือกที่ดีที่สุดสำหรับ Linux แต่ถ้าคุณต้องการสิ่งที่ง่ายกว่าด้วยอินเทอร์เฟซแบบกราฟิก คุณสามารถดูได้ที่ Firewalld.


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

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

*

*

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