การตั้งค่า IPTables ใน CentOS 7

Anonim

การตั้งค่า IPTables ใน CentOS 7

ในระบบปฏิบัติการทั้งหมดตามเคอร์เนล Linux มีไฟร์วอลล์ในตัวการควบคุมและการกรองการเข้าชมขาเข้าและขาออกตามกฎที่ระบุหรือแพลตฟอร์ม ในการกระจาย CentOS 7 ยูทิลิตี้ iptables ดำเนินการฟังก์ชั่นการโต้ตอบกับไฟร์วอลล์ Netfilter ในตัว บางครั้งผู้ดูแลระบบหรือผู้จัดการเครือข่ายต้องกำหนดค่าการทำงานขององค์ประกอบนี้กำหนดกฎที่เกี่ยวข้อง เป็นส่วนหนึ่งของบทความในปัจจุบันเราต้องการพูดคุยเกี่ยวกับพื้นฐานของการกำหนดค่า iptables ในระบบปฏิบัติการดังกล่าวข้างต้น

กำหนดค่า iptables ใน CentOS 7

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

อ่านเพิ่มเติม: ปิดใช้งาน Firewalld ใน CentOS 7

อย่างที่คุณทราบโปรโตคอล IPv4 และ IPv6 สามารถใช้ได้ในระบบ วันนี้เราจะมุ่งเน้นไปที่ตัวอย่าง IPv4 แต่ถ้าคุณต้องการกำหนดค่าสำหรับโปรโตคอลอื่นคุณจะต้องใช้แทนทีมiptablesในการใช้คอนโซลIP6Tables.

การติดตั้ง iptables

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

  1. การดำเนินการเพิ่มเติมทั้งหมดจะทำในคอนโซลแบบคลาสสิกดังนั้นให้ทำงานด้วยวิธีที่สะดวก
  2. การเริ่มต้นเทอร์มินัลเพื่อกำหนดค่ายูทิลิตี iptables ใน CentOS 7

  3. คำสั่ง sudo yum ติดตั้ง iptables-services มีหน้าที่รับผิดชอบในการติดตั้งบริการ ป้อนมันแล้วกดปุ่ม Enter
  4. การติดตั้ง Iptables Utilities ใน Centos 7

  5. ยืนยันบัญชี Superuser โดยการระบุรหัสผ่านจากมัน โปรดทราบว่าเมื่อเคียวรี sudo อักขระที่ป้อนในแถวไม่เคยปรากฏขึ้น
  6. ป้อนรหัสผ่านเพื่อติดตั้ง iptables ใน CentOS 7 ผ่านเทอร์มินัล

  7. มันจะถูกเสนอให้เพิ่มหนึ่งแพคเกจไปยังระบบยืนยันการกระทำนี้โดยเลือกรุ่น Y
  8. การยืนยันการเพิ่มแพ็คเกจบริการ iptables ใหม่ใน CentOS 7

  9. เมื่อเสร็จสิ้นการติดตั้งให้ตรวจสอบรุ่นปัจจุบันของเครื่องมือ: Sudo Iptables - Version
  10. การตรวจสอบรุ่นของยูทิลิตี้ iptables ใน Centos 7 ผ่านเทอร์มินัล

  11. ผลลัพธ์จะปรากฏในสตริงใหม่
  12. การแสดงยูทิลิตี้ iptables เวอร์ชันปัจจุบันใน Centos 7 ผ่านเทอร์มินัล

ตอนนี้ระบบปฏิบัติการพร้อมให้พร้อมสำหรับการกำหนดค่าไฟร์วอลล์เพิ่มเติมผ่านยูทิลิตี้ iptables เราขอแนะนำให้ทำความคุ้นเคยกับการกำหนดค่าในรายการเริ่มต้นด้วยบริการจัดการ

การหยุดและเปิดใช้บริการ IPTables

จำเป็นต้องมีการจัดการโหมด iptables ในกรณีที่คุณต้องตรวจสอบการกระทำของกฎบางอย่างหรือเพียงรีสตาร์ทส่วนประกอบ สิ่งนี้ทำโดยใช้คำสั่งฝังตัว

  1. ป้อน Sudo Service Iptables หยุดและคลิกที่ปุ่ม Enter เพื่อหยุดบริการ
  2. การหยุดบริการสาธารณูปโภค iptables ใน CentOS 7 ผ่านเทอร์มินัล

  3. เพื่อยืนยันขั้นตอนนี้ให้ระบุรหัสผ่าน Superuser
  4. การป้อนรหัสผ่านเพื่อหยุดยูทิลิตี้ iptables ใน CentOS 7

  5. หากกระบวนการสำเร็จสตริงใหม่จะปรากฏขึ้นเพื่อระบุการเปลี่ยนแปลงในไฟล์กำหนดค่า
  6. การแจ้งเตือนเกี่ยวกับการหยุดบริการสาธารณูปโภค iptables ใน CentOS 7

  7. การเปิดตัวบริการจะดำเนินการเกือบแบบเดียวกันเพียงเส้นเดียวที่ได้รับ Sudo Service Iptables เริ่มดู
  8. เรียกใช้บริการ Iptables Utilities ใน Centos 7 ใน Terminal

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

ดูและลบกฎ

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

แสดงรายการกฎยูทิลิตี้ IPTables ปัจจุบันทั้งหมดใน CentOS 7

ในผลลัพธ์ที่แสดงจะมีข้อมูลเกี่ยวกับสามโซ่: "อินพุต", "เอาท์พุท" และ "ไปข้างหน้า" - การเข้าชมขาเข้าออกและส่งต่อตามลำดับ

มุมมองของรายการยูทิลิตี้กฎทั้งหมด IPTables ใน CentOS 7

คุณสามารถกำหนดสถานะของโซ่ทั้งหมดได้โดยป้อน sudo iptables -s

การแสดงรายการของวงจรยูทิลิตี้ iptables ใน CentOS 7

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

รายการที่ชัดเจนของยูทิลิตี Iptables Iptables ทั้งหมดใน CentOS 7

เมื่อคุณต้องการส่งผลกระทบเฉพาะนโยบายจากโซ่เดียวบางอย่างอาร์กิวเมนต์เพิ่มเติมจะถูกเพิ่มเข้าไปในบรรทัด:

sudo iptables -f อินพุต

sudo iptables -f เอาท์พุท

sudo iptables -f ไปข้างหน้า

ล้างรายการกฎสำหรับห่วงโซ่ iptables เฉพาะใน CentOS 7

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

รับและวางการจราจรในโซ่

แต่ละห่วงโซ่ถูกกำหนดค่าแยกต่างหากสำหรับการรับหรือบล็อกการรับส่งข้อมูล โดยการตั้งค่าความหมายที่แน่นอนสามารถทำได้เช่นนั้นตัวอย่างการรับส่งข้อมูลที่เข้ามาทั้งหมดจะถูกบล็อก เมื่อต้องการทำเช่นนี้คำสั่งจะต้องเป็น sudo iptables --policy Input Drop ที่อินพุตเป็นชื่อของโซ่และการวางเป็นค่าการปล่อย

รีเซ็ตแบบสอบถามขาเข้าในยูทิลิตี้ iptables ใน CentOS 7

พารามิเตอร์เดียวกันทั้งหมดถูกตั้งค่าสำหรับวงจรอื่น ๆ เช่น sudo iptables - การส่งออกเกือบจะลดลง หากคุณต้องการตั้งค่าเพื่อรับปริมาณการใช้งานการเปลี่ยนแปลงการลดลงในการยอมรับและปรากฎว่า Sudo Iptables --Policy Input ยอมรับ

ความละเอียดพอร์ตและล็อค

อย่างที่คุณทราบแอปพลิเคชันเครือข่ายและกระบวนการทั้งหมดทำงานผ่านพอร์ตที่แน่นอน โดยการปิดกั้นหรือแก้ไขที่อยู่ที่แน่นอนคุณสามารถตรวจสอบการเข้าถึงเครือข่ายทั้งหมด ลองวิเคราะห์พอร์ตไปข้างหน้าตัวอย่างเช่น 80 ในเทอร์มินัลมันจะเพียงพอที่จะเข้าสู่ sudo iptables -a อินพุต -p TCP - DPORT 80 -J ยอมรับคำสั่ง -a - การเพิ่มกฎใหม่อินพุต - คำแนะนำของ นิยามโซ่, -p - โปรโตคอลในกรณีนี้ TCP, A - Deport เป็นพอร์ตปลายทาง

กฎสำหรับการเปิดพอร์ต 80 ในยูทิลิตี้ iptables ใน CentOS 7

คำสั่งเดียวกันทั้งหมดที่ใช้กับพอร์ต 22 ซึ่งใช้โดย SSH Service: Sudo iptables -A อินพุต -P TCP - DVPORT 22 -J ยอมรับ

กฎสำหรับการเปิดพอร์ต 22 ในยูทิลิตี้ iptables ใน Centos 7

ในการบล็อกพอร์ตที่ระบุสตริงจะใช้เป็นประเภทเดียวกันอย่างเดียวในตอนท้ายของการเปลี่ยนแปลงการยอมรับที่จะลดลง เป็นผลให้มันปรากฎตัวอย่างเช่น sudo iptables -a อินพุต -p TCP - DROP 2450 -J ลดลง

กฎสำหรับการห้ามพอร์ตในยูทิลิตี้ iptables ใน CentOS 7

กฎเหล่านี้ทั้งหมดจะถูกป้อนลงในไฟล์การกำหนดค่าและคุณสามารถดูได้ตลอดเวลา เราเตือนคุณว่ามันทำผ่าน sudo iptables -l หากคุณต้องการอนุญาตให้ที่อยู่ IP ของเครือข่ายกับพอร์ตพร้อมกับพอร์ตสตริงจะถูกแก้ไขเล็กน้อย - หลังจากเพิ่ม TPC -s และที่อยู่เอง Sudo iptables -A การป้อนข้อมูล -p TCP -s 12.12.12.12/32 - DESPORT 22 -J ยอมรับที่ 12.12.12.12/32 เป็นที่อยู่ IP ที่จำเป็น

กฎการยอมรับที่อยู่ IP และพอร์ตใน iptables ใน CentOS 7

การปิดกั้นเกิดขึ้นในหลักการเดียวกันโดยการเปลี่ยนค่าของค่าที่ยอมรับในการลดลง จากนั้นก็ปรากฎขึ้นตัวอย่างเช่น Sudo Iptables -A อินพุต -p TCP -s 12.12.12.0/224 - DREP 22 -J DROP

กฎสำหรับการปิดกั้นที่อยู่ IP และพอร์ตใน iptables ใน CentOS 7

การปิดกั้น ICMP

ICMP (Internet Control Message Protocol) - โปรโตคอลที่รวมอยู่ใน TCP / IP และมีส่วนร่วมในการส่งข้อความแสดงข้อผิดพลาดและสถานการณ์ฉุกเฉินเมื่อทำงานกับปริมาณการใช้งาน ตัวอย่างเช่นเมื่อเซิร์ฟเวอร์ที่ร้องขอไม่พร้อมใช้งานเครื่องมือนี้ให้บริการฟังก์ชั่นบริการ ยูทิลิตี้ Iptables ช่วยให้คุณสามารถปิดกั้นได้ผ่านไฟร์วอลล์และคุณสามารถใช้งานได้โดยใช้ Sudo Iptables -A เอาต์พุต -P ICMP - คำสั่ง DROP TYPE 8 -J มันจะบล็อกคำขอจากคุณและไปยังเซิร์ฟเวอร์ของคุณ

กฎข้อแรกในการบล็อกการเสียบ iptables ใน CentOS 7

คำขอขาเข้าจะถูกบล็อกแตกต่างกันเล็กน้อย จากนั้นคุณต้องป้อน Sudo iptables -i อินพุต -p ICMP - ICMP-Type 8 -J Drop หลังจากเปิดใช้งานกฎเหล่านี้เซิร์ฟเวอร์จะไม่ตอบสนองต่อการร้องขอ Ping

กฎที่สองเพื่อล็อคการเสียบใน iptables ใน CentOS 7

ป้องกันการกระทำที่ไม่ได้รับอนุญาตบนเซิร์ฟเวอร์

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

  1. เราเขียนใน iptables -AP อินพุต -p TCP -DPORT 80 -m จำกัด --Limit 20 / นาที - Limit-Burst 100 -J ยอมรับที่ --limit 20 / นาทีเป็นข้อ จำกัด ในความถี่ของผลลัพธ์ที่เป็นบวก . คุณสามารถระบุหน่วยการวัดตัวเองเช่น / วินาที, / นาที, / ชั่วโมง, / วัน - จำนวนลิมิต - ระเบิด - จำกัด จำนวนแพ็คเกจที่ขาดหายไป ค่าทั้งหมดจะแสดงเป็นรายบุคคลตามความต้องการของผู้ดูแลระบบ
  2. กฎความปลอดภัยจาก DDoS ใน Iptables ใน Centos 7

  3. ต่อไปคุณสามารถห้ามการสแกนพอร์ตเปิดเพื่อลบหนึ่งในสาเหตุที่เป็นไปได้ของการแฮ็ค ป้อนคำสั่ง sudo iptables -nllock scan แรก
  4. กฎข้อแรกที่จะห้ามพอร์ต iptables ใน CentOS 7

  5. จากนั้นระบุ sudo iptables -a บล็อก -p tcp -tcp-flags syn, ack, fin, rst -m จำกัด -limit 1 / s-j return
  6. กฎที่สองเพื่อห้ามพอร์ต iptables ใน CentOS 7

  7. คำสั่งที่สามสุดท้ายคือ: sudo iptables - สแกนบล็อก -j ลดลง นิพจน์การสแกนบล็อกในกรณีเหล่านี้ - ชื่อของวงจรที่ใช้
  8. กฎที่สามเพื่อบล็อกพอร์ตสแกนของ iptables ใน CentOS 7

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

อ่านเพิ่มเติม