เริ่มต้นด้วย Iptables: ป้องกันคนเลว (และบอท) ออกจากเซิร์ฟเวอร์ของคุณ

การเปิดเผยข้อมูล: การสนับสนุนของคุณช่วยให้เว็บไซต์ทำงานต่อไป! เราได้รับค่าธรรมเนียมการอ้างอิงสำหรับบริการบางอย่างที่เราแนะนำในหน้านี้.


Iptables เป็นโปรแกรมแอปพลิเคชันพื้นที่ผู้ใช้ Linux ที่ใช้สำหรับกำหนดค่าตาราง IPv4 ที่ใช้โดยไฟร์วอลล์เคอร์เนล Linux Iptables รวมอยู่ในลีนุกซ์ส่วนใหญ่ที่รันบนเคอร์เนล 2.4.x หรือใหม่กว่า.

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

ประวัติย่อ

การพัฒนาโครงการ iptables เริ่มขึ้นในปี 2541 โดย Rusty Russell ผู้พัฒนาซอฟต์แวร์ชาวออสเตรเลีย Iptables ถูกสร้างขึ้นเป็นตัวตายตัวแทนต่อ ipchains, ยูทิลิตี้ไฟร์วอลล์ Linux รุ่นก่อนหน้านี้ยังสร้างโดย Russell.

เมื่อโครงการขยายตัว Rusty Russell ได้ก่อตั้งทีม Netfilter Core ในปี 1999 มันผลิต Netfilter Linux framework และ iptables และปล่อยมันภายใต้ GNU General Public License ในเดือนมีนาคม 2000 Netfilter และ iptables ถูกรวมเข้ากับการฉีดเคอร์เนลของ Linux.

Iptables คุณสมบัติและการออกแบบ

โมดูลเคอร์เนลที่แตกต่างกันใช้สำหรับโปรโตคอลที่แตกต่างกัน – iptables ใช้กับ IPv4, ip6tables กับ IPv6, arptables to ARP, และ ebtables กับเฟรม Ethernet.

Iptables ใช้เพื่อตั้งค่าดูแลรักษาและตรวจสอบตารางของกฎตัวกรองแพ็กเก็ต IPv4 ในเคอร์เนล Linux.

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

หากแพ็กเก็ตตรงกับกฎชะตากรรมของมันจะถูกกำหนดโดยค่าของเป้าหมาย: ACCEPT อนุญาตให้แพ็กเก็ตผ่าน DROP ลดแพ็กเก็ต QUEUE ส่งแพ็กเก็ตไปยังพื้นที่ผู้ใช้ RETURN จะดำเนินการกฎถัดไปในห่วงโซ่การโทรก่อนหน้า.

มีอิสระสูงสุดห้าตารางขึ้นอยู่กับการกำหนดค่าเคอร์เนลและโมดูลที่ใช้งาน:

  • กรอง เป็นตารางเริ่มต้นที่มีเชนในตัว INPUT, FORWARD และ OUTPUT.
  • ชัยนาท ใช้เมื่อแพ็กเก็ตที่สร้างการเชื่อมต่อใหม่เกิดขึ้นซึ่งประกอบด้วยโซ่ในตัว PREROUTING, OUTPUT และ POSTROUTING.
  • ฉีก – ใช้สำหรับการเปลี่ยนแพ็คเก็ตแบบพิเศษโดยมีโซ่ในตัว PREROUTING, INPUT, OUTPUT, FORWARD และ POSTROUTING.
  • ดิบ ใช้สำหรับการกำหนดค่าการยกเว้นจากการติดตามการเชื่อมต่อรวมกับเป้าหมาย NOTRACK ให้โซ่ในตัว PREROUTING และ OUTPUT.
  • ความปลอดภัย ใช้สำหรับกฎเครือข่ายควบคุมการเข้าถึง (MAC) พร้อมกับอินพุท INPUT, OUTPUT และ FORWARD.

ตัวเลือกที่รู้จักโดย iptables แบ่งออกเป็นคำสั่งพารามิเตอร์และตัวเลือกอื่น ๆ.

ใช้ Iptables

Iptables เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่ติดตั้งไว้ล่วงหน้าใน Linux ดิสทริบิวชันส่วนใหญ่ ในกรณีที่คุณต้องการอัปเดตหรือติดตั้ง iptables คุณสามารถใช้คำสั่งต่อไปนี้:

sudo apt-get install iptables

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

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

คุณสามารถแสดงรายการกฎ iptables ที่กำหนดค่าปัจจุบันโดยใช้:

iptables –L

ในกรณีส่วนใหญ่คุณจะต้องการให้ระบบของคุณยอมรับการเชื่อมต่อเป็นค่าเริ่มต้นโดยใช้คำสั่งเหล่านี้:

iptables – นโยบายรับอินพุต
iptables – ยอมรับผลลัพธ์โดยตรง
iptables – นโยบายยอมรับล่วงหน้า

หลังจากนี้คุณสามารถใช้ iptables เพื่อปฏิเสธการเชื่อมต่อจากที่อยู่ IP หรือพอร์ตที่ต้องการเช่น:

iptables -A INPUT -s 192.168.10.10 -j DROP

หรือคุณสามารถบล็อกการเชื่อมต่อจากช่วงของที่อยู่ IP ดังนี้:

iptables -A INPUT -s 192.168.10.0/24 -j DROP

ในบางกรณีคุณสามารถใช้วิธีตรงกันข้ามกับวิธีที่อธิบายไว้ข้างต้น คุณสามารถปฏิเสธการเชื่อมต่อทั้งหมดและระบุการเชื่อมต่อที่คุณต้องการอนุญาตด้วยตนเอง การตั้งค่านี้สามารถใช้กับเซิร์ฟเวอร์ที่มีข้อมูลสำคัญที่เชื่อมต่อกับที่อยู่ IP ที่ไม่ซ้ำกัน.

iptables – อินพุตหยดน้ำแข็ง
iptables – โพรไฟล์เอาท์พุทน้ำแข็ง
iptables – POLROP DROP ไปข้างหน้า
iptables -A INPUT -s 192.168.10.10 -j ACCEPT

เป็นสิ่งสำคัญที่จะต้องทราบว่าการเปลี่ยนแปลงทั้งหมดที่ทำกับกฎ iptables จะไม่ถูกบันทึกโดยอัตโนมัติ คุณต้องบันทึกการเปลี่ยนแปลงด้วยตนเองโดยใช้คำสั่งซึ่งอาจแตกต่างกันไปขึ้นอยู่กับการกระจายของคุณ นี่คือคำสั่ง Ubuntu:

sudo / sbin / iptables- บันทึก

ในกรณีที่คุณลืมบันทึกการเปลี่ยนแปลงที่คุณทำกับ iptables การเปลี่ยนแปลงเหล่านั้นจะหายไปในครั้งถัดไปที่บริการ iptables เริ่มต้นใหม่.

คุณยังสามารถใช้คำสั่ง flush เพื่อล้างกฎที่กำหนดค่าไว้ทั้งหมด:

iptables -F

ทรัพยากรที่มีให้

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

  • คู่มืออย่างเป็นทางการของ Iptables มีรายละเอียดและให้การอ้างอิงที่มีประโยชน์สำหรับคำสั่งและพารามิเตอร์ iptables.
  • Linux 2.4 Packet Filtering เอกสาร HOWTO เป็นคำอธิบายโดยละเอียดเกี่ยวกับการกรองแพ็คเก็ตซึ่งเขียนโดย Rusty Russell สิ่งที่น่าสนใจเป็นพิเศษคือส่วนการใช้ Iptables.
  • Iptables How To เป็นคำแนะนำที่ดีของ iptables.

Iptables Books

ไม่มีหนังสือมากมายที่เกี่ยวข้องกับ iptables แม้ว่า iptables ถูกกล่าวถึงในหนังสือหลายเล่มที่เขียนบนเครือข่าย Linux และไฟร์วอลล์.

ด้วยแหล่งข้อมูลออนไลน์คุณภาพจำนวนมากจึงไม่น่าแปลกใจที่จะไม่มีหนังสือเกี่ยวกับ iptables เพิ่มขึ้น ดังนั้นเราจึงแยกหนังสือเล่มหนึ่งออกมาบน iptables:

  • Linux Iptables Pocket Reference โดย Gregor Purdy: การอ้างอิงพ็อกเก็ตนี้จะช่วยคุณในช่วงเวลาวิกฤติเมื่อมีคนขอให้คุณเปิดหรือปิดพอร์ตด้วยความเร่งรีบไม่ว่าจะเป็นการเปิดใช้งานทราฟฟิกที่สำคัญหรือบล็อกการโจมตี หนังสือเล่มนี้จะทำให้ไวยากรณ์ตรงไปตรงมาและช่วยให้คุณจำค่าทั้งหมดที่คุณต้องป้อนเพื่อให้มีความปลอดภัยที่สุด.

ข้อสรุป

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

นอกจากนี้ยังหมายความว่าไม่มีทรัพยากร iptables คุณภาพออนไลน์ขาดแคลน แต่ถ้าคุณสนุกกับกระดาษย่น ๆ คุณจะมีเวลาหาหนังสือ iptables ได้ยาก ยังคงมีปริมาณของทรัพยากร iptables ดิจิตอลมากกว่าทำขึ้นสำหรับการขาดทรัพยากรกระดาษกลับ.

Iptables เป็นยูทิลิตี้ที่ทรงพลัง แต่ใช้งานง่าย กูรู Linux ที่ต้องการทุกคนควรเชี่ยวชาญ.

การอ่านและทรัพยากรเพิ่มเติม

เรามีคำแนะนำเพิ่มเติมบทแนะนำและอินโฟกราฟิกที่เกี่ยวข้องกับการใช้คอมพิวเตอร์:

  • คำแนะนำและแหล่งข้อมูลเกี่ยวกับการเขียนโปรแกรม Linux: การดำน้ำลึกในการเขียนโปรแกรมลีนุกซ์จะลงไปในเคอร์เนลซึ่งการกระทำทั้งหมดนั้นคืออะไร.
  • การเขียนโปรแกรมเครือข่ายด้วยซ็อกเก็ตอินเทอร์เน็ต: เรียนรู้ทุกอย่างเกี่ยวกับเครือข่ายบนอินเทอร์เน็ต.

ทรัพยากรการเขียนโปรแกรม Unix

หากคุณเข้าสู่ Linux จริงๆและต้องการเริ่มสร้างโปรแกรมให้กับเราเรามีสถานที่ที่เหมาะสำหรับคุณที่จะเริ่มเรียนรู้: Unix Programming Resources.

รายการสุดยอดของเครื่องมือเว็บมาสเตอร์ A-Z
ทรัพยากรการเขียนโปรแกรม Unix

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map