ค้นหาเว็บไซต์

วิธีจำกัดการเข้าถึงเครือข่ายโดยใช้ FirewallD


ในฐานะผู้ใช้ Linux คุณสามารถเลือกอนุญาตหรือจำกัดการเข้าถึงเครือข่ายสำหรับบริการบางอย่างหรือที่อยู่ IP โดยใช้ไฟร์วอลล์ไฟร์วอลล์ซึ่งมีอยู่ใน CentOS/RHEL 8 และ RHEL ส่วนใหญ่ การแจกแจงแบบพื้นฐาน เช่น Fedora

ไฟร์วอลล์ firewalld ใช้ยูทิลิตีบรรทัดคำสั่ง firewall-cmd เพื่อกำหนดค่ากฎไฟร์วอลล์

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

sudo systemctl enable firewalld

เมื่อเปิดใช้งานแล้ว คุณสามารถเริ่มบริการ ไฟร์วอลล์ ได้แล้วโดยดำเนินการ:

sudo systemctl start firewalld

คุณสามารถตรวจสอบสถานะของ ไฟร์วอลล์ ได้โดยการรันคำสั่ง:

sudo systemctl status firewalld

ผลลัพธ์ด้านล่างเป็นการยืนยันว่าบริการ ไฟร์วอลล์ เริ่มทำงานแล้ว

การกำหนดค่ากฎโดยใช้ Firewalld

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

การเพิ่มพอร์ต TCP/UDP

หากต้องการเพิ่มพอร์ต ให้พูดว่าพอร์ต 443 สำหรับ HTTPS ให้ใช้ไวยากรณ์ด้านล่าง โปรดทราบว่าคุณต้องระบุว่าพอร์ตนั้นเป็นพอร์ต TCP หรือ UDP หลังหมายเลขพอร์ต:

sudo firewall-cmd --add-port=22/tcp --permanent

ในทำนองเดียวกัน หากต้องการเพิ่มพอร์ต UDP ให้ระบุตัวเลือก UDP ตามที่แสดง:

sudo firewall-cmd --add-port=53/udp --permanent

ธง --ถาวร ช่วยให้มั่นใจได้ว่ากฎจะยังคงอยู่แม้จะรีบูตแล้วก็ตาม

การบล็อกพอร์ต TCP/UDP

หากต้องการบล็อกพอร์ต TCP เช่นพอร์ต 22 ให้รันคำสั่ง

sudo firewall-cmd --remove-port=22/tcp --permanent

ในทำนองเดียวกัน การบล็อกพอร์ต UDP จะใช้ไวยากรณ์เดียวกัน:

sudo firewall-cmd --remove-port=53/udp --permanent

การให้บริการ

บริการเครือข่ายถูกกำหนดไว้ในไฟล์ /etc/services หากต้องการอนุญาตบริการเช่น https ให้ดำเนินการคำสั่ง:

sudo firewall-cmd --add-service=https

การบล็อกบริการ

หากต้องการบล็อกบริการ เช่น FTP ให้ดำเนินการ:

sudo firewall-cmd --remove-service=https

ไวท์ลิสต์ที่อยู่ IP

หากต้องการอนุญาตที่อยู่ IP เดียวข้ามไฟร์วอลล์ ให้ดำเนินการคำสั่ง:

sudo firewall-cmd --permanent --add-source=192.168.2.50

คุณยังสามารถอนุญาตช่วงของ IP หรือเครือข่ายย่อยทั้งหมดได้โดยใช้รูปแบบ CIDR (Classless Inter-Domain Routing) ตัวอย่างเช่น หากต้องการอนุญาตเครือข่ายย่อยทั้งหมดในเครือข่ายย่อย 255.255.255.0 ให้ดำเนินการ

sudo firewall-cmd --permanent --add-source=192.168.2.0/24

การลบที่อยู่ IP ที่อนุญาตพิเศษ

หากคุณต้องการลบ IP ที่อนุญาตพิเศษบนไฟร์วอลล์ ให้ใช้แฟล็ก --remove-source ดังที่แสดง:

sudo firewall-cmd --permanent --remove-source=192.168.2.50

สำหรับซับเน็ตทั้งหมด ให้รัน:

sudo firewall-cmd --permanent --remove-source=192.168.2.50/24

การบล็อกที่อยู่ IP

จนถึงตอนนี้ เราได้เห็นแล้วว่าคุณสามารถเพิ่มและลบพอร์ตและบริการต่างๆ ได้อย่างไร ตลอดจนการอนุญาตพิเศษและการลบ IP ที่อนุญาตพิเศษ หากต้องการบล็อกที่อยู่ IP จะใช้ 'กฎที่สมบูรณ์' เพื่อจุดประสงค์นี้

ตัวอย่างเช่น หากต้องการบล็อก IP 192.168.2.50 ให้รันคำสั่ง:

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.50' reject"

หากต้องการบล็อกเครือข่ายย่อยทั้งหมด ให้รัน:

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.0/24' reject"

บันทึกกฎไฟร์วอลล์

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

sudo firewall-cmd --reload

การดูกฎไฟร์วอลล์

หากต้องการดูกฎทั้งหมดในไฟร์วอลล์ ให้ดำเนินการคำสั่ง:

sudo firewall-cmd --list-all

นี่เป็นการสรุปคู่มือเกี่ยวกับวิธีการอนุญาตหรือจำกัดการเข้าถึงเครือข่ายโดยใช้ FirewallD บน CentOS/RHEL 8 เราหวังว่าคุณจะพบว่าคู่มือนี้มีประโยชน์