กำหนดค่าไฟร์วอลล์ใน CentOS 7

Anonim

กำหนดค่าไฟร์วอลล์ใน CentOS 7

ไฟร์วอลล์ติดตั้งในระบบปฏิบัติการใช้เพื่อป้องกันการรับส่งข้อมูลที่ไม่ได้รับอนุญาตระหว่างเครือข่ายคอมพิวเตอร์ คู่มือหรือสร้างกฎพิเศษสำหรับไฟร์วอลล์โดยอัตโนมัติซึ่งมีหน้าที่รับผิดชอบในการควบคุมการเข้าถึง ในระบบปฏิบัติการพัฒนาบนเคอร์เนล Linux Centos 7 มีไฟร์วอลล์ในตัวและควบคุมไฟร์วอลล์ในตัว ไฟร์วอลล์เริ่มต้นมีส่วนร่วมและเราต้องการพูดคุยเกี่ยวกับมันในวันนี้

ปรับแต่งไฟร์วอลล์ใน CentOS 7

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

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

อ่านเพิ่มเติม: ปิดใช้งานไฟร์วอลล์ใน CentOS 7

ดูกฎเริ่มต้นและโซนราคาไม่แพง

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

  1. โซนเริ่มต้นจะเป็นตัวกำหนดคำสั่ง Firewall-CMD - โซนเริ่มต้น
  2. การดูโซนไฟร์วอลล์เริ่มต้นใน CentOS 7

  3. หลังจากการเปิดใช้งานคุณจะเห็นสตริงใหม่ที่พารามิเตอร์ที่ต้องการจะปรากฏขึ้น ตัวอย่างเช่นเขต "สาธารณะ" ถูกพิจารณาในภาพหน้าจอด้านล่าง
  4. การแสดงโซนไฟร์วอลล์เริ่มต้นใน CentOS 7

  5. อย่างไรก็ตามหลายโซนสามารถใช้งานได้ทันทีนอกจากนี้พวกเขาเชื่อมโยงกับอินเตอร์เฟสแยกต่างหาก ค้นหาข้อมูลนี้ผ่านไฟร์วอลล์ -CMD - โซนที่ใช้งานอยู่
  6. ดูโซน Pharyvol ที่ใช้งานอยู่ทั้งหมดใน Centos 7

  7. ไฟ Firewall-CMD - คำสั่งทั้งหมดจะแสดงกฎที่ตั้งค่าสำหรับโซนเริ่มต้น ใส่ใจกับภาพหน้าจอด้านล่าง คุณจะเห็นว่าโซนที่ใช้งานอยู่ "สาธารณะ" ได้รับการกำหนดกฎ "ค่าเริ่มต้น" - ฟังก์ชั่นเริ่มต้นอินเตอร์เฟส ENP0S3 และอีกสองบริการที่เพิ่มเข้ามา
  8. ดูกฎของโซน Pharyvol ที่ใช้งานผ่านเทอร์มินัลใน CentOS 7

  9. หากคุณต้องการเรียนรู้โซนไฟร์วอลล์ที่มีอยู่ทั้งหมดให้ป้อน Firewall-CMD - โซน
  10. รับรายการพื้นที่ไฟร์วอลล์ที่มีอยู่ทั้งหมดผ่านเทอร์มินัลใน Centos 7

  11. พารามิเตอร์ของโซนเฉพาะจะถูกกำหนดผ่าน Firewall-cmd --zone = name - ทั้งหมดที่ชื่อคือชื่อของโซน
  12. การแสดงกฎของพื้นที่ไฟร์วอลล์ที่ระบุผ่านเทอร์มินัลใน CentOS 7

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

การตั้งค่าโซนอินเตอร์เฟส

ดังที่คุณทราบจากข้อมูลข้างต้นโซนเริ่มต้นของคุณจะถูกกำหนดไว้สำหรับแต่ละอินเตอร์เฟส มันจะอยู่ในนั้นจนกว่าการตั้งค่าจะเปลี่ยนผู้ใช้หรือโดยทางโปรแกรม เป็นไปได้ที่จะถ่ายโอนอินเทอร์เฟซไปยังโซนต่อเซสชันด้วยตนเองและดำเนินการโดยการเปิดใช้งาน Sudo Firewall-CMD - Zone = คำสั่ง home --Change-Interface = eth0 ผลลัพธ์ "ความสำเร็จ" แสดงให้เห็นว่าการถ่ายโอนสำเร็จ จำได้ว่าการตั้งค่าดังกล่าวจะถูกรีเซ็ตทันทีหลังจากรีบูตไฟร์วอลล์

กำหนดอินเทอร์เฟซเฉพาะสำหรับพื้นที่ไฟร์วอลล์ใน CentOS 7

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

ดูโซน Phaervola ที่ใช้งานอยู่และอินเตอร์เฟสใน CentOS 7

หากคุณต้องการรีเซ็ตการตั้งค่าที่ทำไว้ก่อนหน้านี้เพียงแค่เรียกใช้การรีสตาร์ทไฟร์วอลล์: Sudo SystemCtl Restart Firewalld.Service

การรีสตาร์ทไฟร์วอลล์หลังจากทำการเปลี่ยนแปลง CentOS 7

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

  1. เปิดไฟล์การกำหนดค่าผ่านทางแก้ไขโดยป้อน sudo nano / etc / sysconfig / สคริปต์เครือข่าย / IFCFG-eth0 ซึ่ง eth0 เป็นชื่อของอินเตอร์เฟสที่จำเป็น
  2. การเปิดไฟล์กำหนดค่าอินเตอร์เฟส Firevol ใน CentOS 7

  3. ยืนยันการรับรองความถูกต้องของบัญชีของคุณเพื่อดำเนินการต่อไป
  4. ป้อนรหัสผ่านเพื่อเปิดไฟล์คอนฟิกูเรชันของอินเทอร์เฟซใน CentOS 7

  5. เลย์เอาต์พารามิเตอร์ "โซน" และเปลี่ยนค่าตามที่ต้องการเช่นสาธารณะหรือบ้าน
  6. การเปลี่ยนโซนอินเตอร์เฟสผ่านไฟล์คอนฟิกูเรชันใน CentOS 7

  7. กดปุ่ม Ctrl + O ถือการเปลี่ยนแปลง
  8. การบันทึกการเปลี่ยนแปลงในตัวแก้ไขข้อความ CentOS 7

  9. อย่าเปลี่ยนชื่อไฟล์ แต่เพียงคลิกที่ Enter
  10. การกำหนดไฟล์เพื่อบันทึกการเปลี่ยนแปลงในเครื่องมือแก้ไขข้อความ CentOS 7

  11. ออกจากโปรแกรมแก้ไขข้อความผ่าน Ctrl + X
  12. ออกจากโปรแกรมแก้ไขข้อความหลังจากการเปลี่ยนแปลง CentOS 7

ตอนนี้โซนอินเตอร์เฟสจะเป็นหนึ่งที่คุณระบุไว้จนกว่าการแก้ไขไฟล์กำหนดค่าถัดไป สำหรับพารามิเตอร์ที่อัปเดตให้เรียกใช้ Sudo SystemCtl Restart Network.Service และ Sudo Systemctl Restart Firewalld.Service

การตั้งค่าโซนเริ่มต้น

ข้างต้นเราได้แสดงให้เห็นถึงทีมที่ให้คุณเรียนรู้โซนเริ่มต้นแล้ว นอกจากนี้ยังสามารถเปลี่ยนแปลงได้โดยการตั้งค่าพารามิเตอร์ให้กับตัวเลือกของคุณ ในการทำเช่นนี้ในคอนโซลก็เพียงพอที่จะลงทะเบียน Sudo Firewall-CMD - ตั้งค่า -Set Default-Zone = ชื่อชื่อของโซนที่ต้องการ

วัตถุประสงค์ของโซนไฟร์วอลล์เริ่มต้นใน CentOS 7

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

ปลายทางที่ประสบความสำเร็จโดยโซนเริ่มต้นใน CentOS 7

การสร้างกฎสำหรับโปรแกรมและสาธารณูปโภค

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

คำสั่งสำหรับการดูที่มีอยู่ในระบบบริการ CentOS 7

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

รายการบริการที่มีอยู่ใน Centos 7

คำสั่งข้างต้นแสดงให้เห็นถึงเฉพาะชื่อของบริการ ข้อมูลโดยละเอียดสำหรับแต่ละไฟล์จะได้รับผ่านไฟล์แต่ละไฟล์บนเส้นทาง / usr / lib / firewalld / services เอกสารดังกล่าวมีรูปแบบ XML เส้นทางตัวอย่างเช่น SSH มีลักษณะดังนี้: /usr/lib/firewalld/services/ssh.xml และเอกสารมีเนื้อหาต่อไปนี้:

ssh

Secure Shell (SSH) เป็นโปรโตคอลสำหรับการเข้าสู่ระบบและการเรียกใช้งานคำสั่งบนเครื่องระยะไกล ให้การสื่อสารที่เข้ารหัสที่ปลอดภัย หากคุณวางแผนที่จะเข้าถึง Remotenet เครื่องของคุณผ่าน SSH ผ่านอินเทอร์เฟซไฟร์วอลล์ให้เปิดใช้งานตัวเลือกนี้ คุณต้องติดตั้งแพ็คเกจ OpenSSH-Server สำหรับตัวเลือกนี้ให้เป็นประโยชน์

การสนับสนุนการบริการถูกเปิดใช้งานในโซนเฉพาะด้วยตนเอง ในเทอร์มินัลคุณควรตั้งค่า sudo firewall-cmd --zone = สาธารณะ - ddd-service = คำสั่ง http, where -zone = สาธารณะคือโซนเปิดใช้งานและ - DD-Service = http - ชื่อบริการ โปรดทราบว่าการเปลี่ยนแปลงดังกล่าวจะถูกต้องภายในหนึ่งเซสชันเท่านั้น

การเพิ่มบริการไปยังโซน stopol เฉพาะ centos 7

การเพิ่มถาวรจะดำเนินการผ่าน Sudo Firewall-Cmd --zone = สาธารณะ - Pernanent - DD-Service = http และผลลัพธ์ "ความสำเร็จ" หมายถึงการดำเนินการเสร็จสิ้นที่ประสบความสำเร็จ

การเพิ่มบริการถาวรให้กับ Firevola Centos 7

คุณสามารถดูรายการกฎถาวรถาวรสำหรับโซนเฉพาะโดยการแสดงรายการในบรรทัดแยกของคอนโซล: sudo firewall-cmd --zone = สาธารณะ - บริการอื่น ๆ - บริการ

ดูรายการบริการไฟร์วอลล์ถาวร CentOS 7

ปัญหาการตัดสินใจที่ขาดการเข้าถึงบริการ

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

พอร์ตพอร์ต

อย่างที่คุณทราบบริการเครือข่ายทั้งหมดใช้พอร์ตเฉพาะ สามารถตรวจพบไฟร์วอลล์และบล็อกได้อย่างง่ายดาย เพื่อหลีกเลี่ยงการกระทำดังกล่าวจากไฟร์วอลล์คุณต้องเปิดพอร์ตที่ต้องการของ sudo firewall-cmd --zone = สาธารณะ - portd-port = 0000 / tcp โดยที่ --zone = สาธารณะเป็นพื้นที่พอร์ต, - DDD- พอร์ต = 0000 / TCP - หมายเลขพอร์ตและโปรโตคอล ตัวเลือก Firewall-Cmd - List-Port จะแสดงรายการพอร์ตที่เปิดอยู่

การเปิดพอร์ตในโซนไฟร์วอลล์บางโซน 7

หากคุณต้องการเปิดพอร์ตที่รวมอยู่ในช่วงให้ใช้สตริง Sudo Firewall-CMD --zone = สาธารณะ - DD-Port = 0000-9999 / UDP ซึ่ง --ADD-Port = 0000-9999 / UDP - ช่วงพอร์ต และโปรโตคอลของพวกเขา

การเปิดช่วงพอร์ตใน Firevola Zone Centos 7 ที่เฉพาะเจาะจง

คำสั่งข้างต้นอนุญาตให้คุณทดสอบการใช้พารามิเตอร์ที่คล้ายกันเท่านั้น หากผ่านสำเร็จคุณควรเพิ่มพอร์ตเดียวกันเพื่อตั้งค่าคงที่และทำโดยการป้อน Sudo Firewall-cmd --zone = สาธารณะ - Pernanent - Add-Port = 0000 / TCP หรือ Sudo Firewall-Cmd - Zone = สาธารณะ - Pernanent - Add-Port = 0000-9999 / UDP รายการของพอร์ตถาวรเปิดดูดังต่อไปนี้: Sudo Firewall-Cmd --zone = สาธารณะ - Pernanent - Ports

นิยามของบริการ

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

  1. คัดลอกไฟล์คอนฟิกูเรชันโดยการเขียน sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml โดยที่ service.xml เป็นชื่อของไฟล์บริการและ example.xml คือ ชื่อของสำเนา
  2. คัดลอกไฟล์ไฟล์ไฟล์ใน Centos 7

  3. เปิดสำเนาเพื่อเปลี่ยนผ่านตัวแก้ไขข้อความใด ๆ เช่น sudo nano /etc/firewalld/services/example.xml
  4. การเริ่มต้นไฟล์ Service CentOS 7 ที่คัดลอก

  5. ตัวอย่างเช่นเราได้สร้างสำเนาของ Service HTTP ในเอกสารคุณจะเห็นข้อมูลเมตาที่หลากหลายเช่นชื่อสั้น ๆ และคำอธิบาย มันส่งผลกระทบต่อเซิร์ฟเวอร์ในการทำงานเฉพาะการเปลี่ยนแปลงของหมายเลขพอร์ตและโปรโตคอล ควรเพิ่มสตริง "" เหนือสตริงเพื่อเปิดพอร์ต TCP - โปรโตคอลมือสอง, หมายเลขพอร์ต 0000 -
  6. การแก้ไขไฟล์บริการเพื่อเปิดพอร์ตใน CentOS 7

  7. บันทึกการเปลี่ยนแปลงทั้งหมด (CTRL + O) ปิดไฟล์ (CTRL + X) จากนั้นรีสตาร์ทไฟร์วอลล์เพื่อใช้พารามิเตอร์ผ่าน Sudo Firewall-Cmd - Reload หลังจากนั้นบริการจะปรากฏในรายการที่มีอยู่ซึ่งสามารถดูได้ผ่าน Firewall-CMD - บริการ - บริการ
  8. รีสตาร์ทบริการ Firevol ใน CentOS 7

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

การสร้างโซนที่กำหนดเอง

คุณรู้อยู่แล้วว่าในขั้นต้นโซนที่หลากหลายจำนวนมากที่มีกฎที่กำหนดไว้ถูกสร้างขึ้นใน Firewalld อย่างไรก็ตามสถานการณ์ที่เกิดขึ้นเมื่อผู้ดูแลระบบต้องการสร้างโซนผู้ใช้เช่น "PublicWeb" สำหรับเว็บเซิร์ฟเวอร์ที่ติดตั้งหรือ "Privatedns" - สำหรับเซิร์ฟเวอร์ DNS ในสองตัวอย่างนี้เราจะวิเคราะห์การเพิ่มสาขา:

  1. สร้างโซนถาวรสองโซนใหม่โดย Sudo Firewall-CMD - Pernanent - New-Zone = Publtweb และ Sudo Firewall-Cmd - Pernanent - New-Zone = Privatedns
  2. การเพิ่ม Zonevola Zones ผู้ใช้ใหม่ CentOS 7

  3. พวกเขาจะสามารถใช้ได้หลังจากรีบูตเครื่องมือ Sudo Firewall-CMD --Reload ในการแสดงโซนถาวรให้ป้อน Sudo Firewall-CMD - Pernanent - โซน
  4. ดูไฟร์วอลล์ราคาไม่แพงใน Centos 7

  5. มอบหมายให้พวกเขาบริการที่จำเป็นเช่น "SSH", "HTTP" และ "HTTPS" สิ่งเหล่านี้ทำโดย sudo firewall-cmd --zone = publtweb --add-service = ssh, sudo firewall-cmd --zone = publtfbweb - do-service = publtyb --do firewall-cmd - publorweb - Add- Service = https, where --zone = publtweb เป็นชื่อของโซนที่จะเพิ่ม คุณสามารถดูกิจกรรมของบริการโดยรอดำเนินการ Firewall-cmd --zone = publtweb - ทั้งหมด
  6. การเพิ่มบริการไปยังโซนผู้ใช้ CentOS 7

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

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

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