Android

วิธีตั้งค่าไฟร์วอลล์ด้วย ufw บนเดเบียน 9

ปา นา มา สุดขี้ห*

ปา นา มา สุดขี้ห*

สารบัญ:

Anonim

Debian มีแพ็คเกจต่าง ๆ ที่ให้บริการเครื่องมือสำหรับจัดการไฟร์วอลล์ที่ติดตั้ง iptables ซึ่งเป็นส่วนหนึ่งของระบบพื้นฐาน มันอาจซับซ้อนสำหรับผู้เริ่มต้นในการเรียนรู้วิธีการใช้เครื่องมือ iptables เพื่อกำหนดค่าและจัดการไฟร์วอลล์อย่างเหมาะสม แต่ UFW ช่วยให้ง่ายขึ้น

UFW (Uncomplicated Firewall) เป็น front-end ที่ใช้งานง่ายสำหรับการจัดการกฎไฟร์วอลล์ iptables และเป้าหมายหลักคือการทำให้การจัดการ iptables ง่ายขึ้นหรือตามชื่อที่ไม่ซับซ้อน

ในบทช่วยสอนนี้เราจะแสดงวิธีตั้งค่าไฟร์วอลล์ด้วย UFW บน Debian 9

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

ก่อนที่จะดำเนินการกับบทช่วยสอนนี้ตรวจสอบให้แน่ใจว่าผู้ใช้ที่คุณเข้าสู่ระบบในขณะที่มีสิทธิ์ sudo

ติดตั้ง UFW

UFW ไม่ได้รับการติดตั้งเป็นค่าเริ่มต้นใน Debian 9 คุณสามารถติดตั้งแพ็คเกจ ufw โดยพิมพ์:

sudo apt install ufw

ตรวจสอบสถานะ UFW

เมื่อกระบวนการติดตั้งเสร็จสมบูรณ์คุณสามารถตรวจสอบสถานะของ UFW ด้วยคำสั่งต่อไปนี้:

sudo ufw status verbose

ผลลัพธ์จะมีลักษณะดังนี้:

Status: inactive

UFW ถูกปิดใช้งานโดยค่าเริ่มต้น การติดตั้งจะไม่เปิดใช้งานไฟร์วอลล์โดยอัตโนมัติเพื่อหลีกเลี่ยงการล็อคจากเซิร์ฟเวอร์

หากเปิดใช้งาน UFW เอาต์พุตจะมีลักษณะดังนี้:

นโยบายเริ่มต้นของ UFW

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

นโยบายเริ่มต้นถูกกำหนดไว้ในไฟล์ /etc/default/ufw และสามารถเปลี่ยนแปลงได้โดยใช้ sudo ufw default คำสั่ง

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

โปรไฟล์แอปพลิเคชัน

เมื่อติดตั้งแพ็คเกจด้วย apt มันจะเพิ่มโปรไฟล์แอปพลิเคชันไปยังไดเร็กทอรี /etc/ufw/applications.d ซึ่งอธิบายบริการและมีการตั้งค่า UFW

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

sudo ufw app list

ขึ้นอยู่กับแพ็กเกจที่ติดตั้งบนระบบของคุณเอาต์พุตจะมีลักษณะคล้ายกับที่แสดงต่อไปนี้:

Available applications: DNS IMAP IMAPS OpenSSH POP3 POP3S Postfix Postfix SMTPS Postfix Submission…

หากต้องการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับโปรไฟล์ที่ระบุและกฎที่รวมอยู่ให้ใช้คำสั่งต่อไปนี้:

sudo ufw app info OpenSSH

Profile: OpenSSH Title: Secure shell server, an rshd replacement Description: OpenSSH is a free implementation of the Secure Shell protocol. Port: 22/tcp

เมื่อเอาท์พุตข้างบนบอกเราว่าโปรไฟล์ OpenSSH เปิดพอร์ต 22

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

ก่อนเปิดใช้งานไฟร์วอลล์ UFW ก่อนอื่นเราต้องอนุญาตการเชื่อมต่อ SSH ขาเข้า

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

ในการกำหนดค่าไฟร์วอลล์ UFW ของคุณให้อนุญาตการเชื่อมต่อ SSH ขาเข้าให้รันคำสั่งต่อไปนี้:

sudo ufw allow OpenSSH

Rules updated Rules updated (v6)

หากเซิร์ฟเวอร์ SSH กำลังฟังพอร์ตอื่นที่ไม่ใช่พอร์ตเริ่มต้น 22 คุณจะต้องเปิดพอร์ตนั้น

ตัวอย่างเช่นเซิร์ฟเวอร์ ssh ของคุณฟังพอร์ต 8822 จากนั้นคุณสามารถใช้คำสั่งต่อไปนี้เพื่ออนุญาตการเชื่อมต่อบนพอร์ตนั้น:

sudo ufw allow 8822/tcp

เปิดใช้งาน UFW

ตอนนี้ไฟร์วอลล์ UFW ของคุณได้รับการกำหนดค่าให้อนุญาตการเชื่อมต่อ SSH ขาเข้าคุณสามารถเปิดใช้งานได้โดยการเรียกใช้:

sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

คุณจะได้รับการเตือนว่าการเปิดใช้งานไฟร์วอลล์อาจขัดขวางการเชื่อมต่อ ssh ที่มีอยู่เพียงแค่พิมพ์ y และกด Enter

อนุญาตการเชื่อมต่อบนพอร์ตอื่น

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

ด้านล่างเป็นตัวอย่างของวิธีการอนุญาตการเชื่อมต่อขาเข้ากับบริการทั่วไปบางอย่าง:

เปิดพอร์ต 80 - HTTP

การเชื่อมต่อ HTTP สามารถทำได้ด้วยคำสั่งต่อไปนี้:

sudo ufw allow

แทนโปรไฟล์ http คุณสามารถใช้หมายเลขพอร์ต 80 :

sudo ufw allow 80/tcp

เปิดพอร์ต 443 - HTTPS

การเชื่อมต่อ HTTP สามารถทำได้ด้วยคำสั่งต่อไปนี้:

sudo ufw allow

เพื่อให้ได้เหมือนกันแทนที่จะเป็น https คุณสามารถใช้หมายเลขพอร์ต 443 :

sudo ufw allow 443/tcp

เปิดพอร์ต 8080

sudo ufw allow 8080/tcp

อนุญาตช่วงของพอร์ต

ด้วย UFW คุณสามารถอนุญาตการเข้าถึงช่วงพอร์ตได้ เมื่ออนุญาตช่วงของพอร์ตด้วย UFW คุณต้องระบุโปรโตคอลไม่ว่าจะเป็น tcp หรือ udp

ตัวอย่างเช่นหากต้องการอนุญาตพอร์ตจาก 7100 ถึง 7200 บนทั้ง tcp และ udp ให้รันคำสั่งต่อไปนี้:

sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

อนุญาตที่อยู่ IP เฉพาะ

sudo ufw allow from 64.63.62.61

อนุญาตที่อยู่ IP เฉพาะบนพอร์ตเฉพาะ

หากต้องการอนุญาตการเข้าถึงพอร์ตเฉพาะสมมติว่าพอร์ต 22 จากเครื่องทำงานของคุณด้วยที่อยู่ IP 64.63.62.61 ใช้คำสั่งต่อไปนี้:

sudo ufw allow from 64.63.62.61 to any port 22

อนุญาตเครือข่ายย่อย

คำสั่งสำหรับการอนุญาตการเชื่อมต่อกับซับเน็ตของที่อยู่ IP นั้นเหมือนกับเมื่อใช้ที่อยู่ IP เดียวความแตกต่างเพียงอย่างเดียวคือคุณต้องระบุ netmask ตัวอย่างเช่นหากคุณต้องการอนุญาตการเข้าถึงที่อยู่ IP ตั้งแต่ 192.168.1.1 ถึง 192.168.1.254 ถึงพอร์ต 3360 (MySQL) คุณสามารถใช้คำสั่งนี้:

sudo ufw allow from 192.168.1.0/24 to any port 3306

อนุญาตการเชื่อมต่อกับอินเตอร์เฟสเครือข่ายเฉพาะ

หากต้องการอนุญาตการเข้าถึงบนพอร์ตที่เจาะจงสมมติว่าพอร์ต 3360 เฉพาะกับอินเทอร์เฟซเครือข่ายเฉพาะ eth2 ใช้การ allow in on และชื่อของอินเทอร์เฟซเครือข่าย

sudo ufw allow in on eth2 to any port 3306

ปฏิเสธการเชื่อมต่อ

นโยบายเริ่มต้นสำหรับการเชื่อมต่อขาเข้าทั้งหมดถูกตั้งค่าให้ deny ซึ่งหมายความว่า UFW จะบล็อกการเชื่อมต่อขาเข้าทั้งหมดยกเว้นว่าคุณเปิดการเชื่อมต่อโดยเฉพาะ

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

sudo ufw deny from 23.24.25.0/24

sudo ufw deny from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443

การเขียนกฎการปฏิเสธนั้นเหมือนกับการอนุญาตให้เขียนกฎคุณจะต้องแทนที่การ allow ด้วยการ deny

ลบกฎ UFW

มีสองวิธีที่แตกต่างกันในการลบกฎ UFW ตามหมายเลขกฎและโดยการระบุกฎจริง

การลบกฎ UFW ตามหมายเลขกฎทำได้ง่ายขึ้นโดยเฉพาะถ้าคุณยังใหม่กับ UFW

หากต้องการลบกฎด้วยหมายเลขกฎก่อนอื่นคุณต้องค้นหาหมายเลขของกฎที่คุณต้องการลบ เมื่อต้องการทำเช่นนั้นเรียกใช้คำสั่งต่อไปนี้:

sudo ufw status numbered

Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 8080/tcp ALLOW IN Anywhere

หากต้องการลบกฎหมายเลข 3 กฎที่อนุญาตให้เชื่อมต่อกับพอร์ต 8080 คุณสามารถใช้คำสั่งต่อไปนี้:

sudo ufw delete 2

วิธีที่สองคือการลบกฎโดยการระบุกฎจริง ตัวอย่างเช่นหากคุณเพิ่มกฎเพื่อเปิดพอร์ต 8069 คุณสามารถลบได้ด้วย:

sudo ufw delete allow 8069

ปิดการใช้งาน UFW

หากด้วยเหตุผลใดก็ตามที่คุณต้องการหยุด UFW และปิดการใช้งานกฎทั้งหมด:

sudo ufw disable

ในภายหลังหากคุณต้องการเปิดใช้งาน UTF อีกครั้งและเปิดใช้งานกฎทั้งหมดเพียงแค่พิมพ์:

sudo ufw enable

รีเซ็ต UFW

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

หากต้องการรีเซ็ต UFW เพียงพิมพ์คำสั่งต่อไปนี้:

sudo ufw reset

ข้อสรุป

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

ไฟร์วอลล์ ufw iptables ความปลอดภัย debian