ตั้งค่า 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 ทั้งหมด จากนั้นคุณสามารถตั้งค่ากฎอีกครั้ง


Leave a Comment

การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง TestLink บน CentOS 7

วิธีการติดตั้ง TestLink บน CentOS 7

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

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง GCC บน CentOS 6

วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์

การติดตั้ง Netdata บน CentOS 7

การติดตั้ง Netdata บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

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

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง

ติดตั้ง dotProject บน CentOS 7

ติดตั้ง dotProject บน CentOS 7

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

ติดตั้ง TaskServer (taskd) บน CentOS 7

ติดตั้ง TaskServer (taskd) บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade

วิธีการติดตั้ง Kanboard บน CentOS 7

วิธีการติดตั้ง Kanboard บน CentOS 7

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

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

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

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง

วิธีการติดตั้ง PrestaShop บน CentOS 7

วิธีการติดตั้ง PrestaShop บน CentOS 7

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

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน