ตั้งค่า IPTables Firewall บน CentOS 6

บทนำ

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

การออกแบบไฟร์วอลล์สามารถเป็นได้ทั้งฮาร์ดแวร์เฉพาะหรือโปรแกรมซอฟต์แวร์ที่ทำงานบนเครื่องของเรา บน CentOS 6 โปรแกรมไฟร์วอลล์เริ่มต้นคือ iptables

ในบทความนี้ฉันจะแสดงวิธีตั้งค่าไฟร์วอลล์ iptables ขั้นพื้นฐานตามแอพ Vultr "WordPress บน CentOS 6 x64" ซึ่งจะปิดกั้นการรับส่งข้อมูลทั้งหมดยกเว้นบริการบนเว็บ SSH NTP DNS และ ping อย่างไรก็ตามนี่เป็นเพียงการกำหนดค่าเบื้องต้นซึ่งตอบสนองความต้องการด้านความปลอดภัยทั่วไป คุณจะต้องมีการกำหนดค่า iptables ที่ซับซ้อนยิ่งขึ้นหากคุณมีข้อกำหนดเพิ่มเติม

หมายเหตุ :

หากคุณเพิ่มที่อยู่ IPv6 ไปยังเซิร์ฟเวอร์ของคุณคุณควรตั้งค่าบริการ ip6tables ด้วย การกำหนดค่า ip6tables อยู่นอกขอบเขตของบทความนี้

iptables ไม่เหมือนกับโปรแกรมไฟร์วอลล์เริ่มต้นบน CentOS 7 ซึ่งแตกต่างจาก CentOS 6 และถูกแทนที่ด้วยโปรแกรมที่เรียกว่า firewalld หากคุณวางแผนที่จะใช้ CentOS 7 คุณจะต้องตั้งค่าไฟร์วอลล์โดยใช้ไฟร์วอลล์

ข้อกำหนดเบื้องต้น

ปรับใช้อินสแตนซ์เซิร์ฟเวอร์ใหม่ด้วยแอป Vultr "WordPress บน CentOS 6 x64" จากนั้นเข้าสู่ระบบในฐานะผู้ใช้

ขั้นตอนที่ 1: กำหนดบริการและพอร์ตที่ใช้บนเซิร์ฟเวอร์ของคุณ

ฉันคิดว่าเซิร์ฟเวอร์นี้จะโฮสต์เฉพาะบล็อก WordPress และจะไม่ใช้เป็นเราเตอร์หรือให้บริการอื่น ๆ (ตัวอย่างเช่นจดหมาย FTP, IRC และอื่น ๆ )

ที่นี่เราต้องการบริการต่อไปนี้:

  • HTTP (TCP บนพอร์ต 80)
  • HTTPS (TCP บนพอร์ต 443)
  • SSH (TCP บนพอร์ต 22 โดยค่าเริ่มต้นสามารถเปลี่ยนแปลงได้เพื่อความปลอดภัย)
  • NTP (UDP บนพอร์ต 123)
  • DNS (TCP และ UDP บนพอร์ต 53)
  • ping (ICMP)

พอร์ตที่ไม่จำเป็นอื่น ๆ ทั้งหมดจะถูกปิดกั้น

ขั้นตอนที่ 2: กำหนดค่ากฎ iptables

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

ปริมาณการใช้งานทั้งหมดสามารถแบ่งได้เป็น INPUT, OUTPUT และ FORWARD

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

ตอนนี้เรามากำหนดค่ากฎ iptables ตามความต้องการของเรา คำสั่งทั้งหมดต่อไปนี้ควรป้อนจากเทอร์มินัล SSH ของคุณเป็นรูท

ตรวจสอบกฎที่มีอยู่:

iptables -L -n

ล้างกฎที่มีอยู่ทั้งหมด:

iptables -F; iptables -X; iptables -Z

เนื่องจากการเปลี่ยนแปลงการกำหนดค่า iptables จะมีผลทันทีหากคุณกำหนดค่ากฎ iptables ผิดคุณอาจถูกบล็อกจากเซิร์ฟเวอร์ของคุณ คุณสามารถป้องกันการบล็อกโดยไม่ตั้งใจได้ด้วยคำสั่งดังต่อไปนี้ อย่าลืมแทนที่[Your-IP-Address]ด้วยที่อยู่ IP สาธารณะหรือช่วงที่อยู่ IP ของคุณเอง (ตัวอย่างเช่น 201.55.119.43 หรือ 201.55.119.0/24)

iptables -A INPUT -s [Your-IP-Address] -p tcp --dport 22 -j ACCEPT

อนุญาตการรับส่งข้อมูลลูปแบ็ค (lo) ทั้งหมดและปล่อยทราฟฟิกทั้งหมดไปที่ 127.0.0.0/8 นอกเหนือจาก lo

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -d 127.0.0.0/8 -j REJECT

บล็อกการโจมตีทั่วไปบางอย่าง:

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

ยอมรับการเชื่อมต่อขาเข้าที่จัดตั้งขึ้นทั้งหมด:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

อนุญาตการรับส่งข้อมูลขาเข้า HTTP และ HTTPS:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

อนุญาตการเชื่อมต่อ SSH:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

อนุญาตการเชื่อมต่อ NTP:

iptables -A INPUT -p udp --dport 123 -j ACCEPT

อนุญาตการสืบค้น DNS:

iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

อนุญาต ping:

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

ในที่สุดตั้งค่านโยบายเริ่มต้น:

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

ขั้นตอนที่ 3: บันทึกการกำหนดค่า

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

บันทึกการกำหนดค่า iptables ด้วยคำสั่งต่อไปนี้:

service iptables save

/etc/sysconfig/iptablesการเปลี่ยนแปลงของเราจะถูกบันทึกไว้ในแฟ้ม คุณสามารถตรวจสอบหรือแก้ไขกฎโดยการแก้ไขไฟล์นั้น

วิธีแก้ปัญหาสำหรับการปิดกั้นโดยไม่ตั้งใจ

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

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

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

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

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

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

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

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

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true