บทความวิกิฮาวนี้จะแนะนำวิธีการเปิดพอร์ตบนไฟร์วอลล์ยอดนิยมสามตัวให้คุณเอง หากคุณใช้ผลิตภัณฑ์ เช่น ConfigServer Firewall (CSF) หรือ Advanced Policy Firewall (ADP) คุณสามารถควบคุมได้ว่าพอร์ตใดจะเปิดอยู่ในไฟล์การกำหนดค่าวอลล์หลัก หากคุณใช้ Uncomplicated Firewall (UFW) ซึ่งเป็นตัวเลือกไฟร์วอลล์หลักของ Ubuntu คุณสามารถเพิ่มกฎในบรรทัดคำสั่งโดยไม่ต้องแก้ไขไฟล์ที่ซับซ้อน
ขั้นตอน
วิธีที่ 1 จาก 3: การใช้ไฟร์วอลล์ที่ไม่ซับซ้อนสำหรับ Ubuntu
ขั้นตอนที่ 1. ล็อกอินเข้าสู่เซิร์ฟเวอร์
หากคุณกำลังใช้ Ubuntu บนคอมพิวเตอร์เดสก์ท็อป ให้กด Ctrl+Alt+T เพื่อเปิดหน้าต่างเทอร์มินัล
ขั้นตอนที่ 2 พิมพ์ sudo ufw status verbose แล้วกด Enter
หาก UFW ทำงานอยู่ คุณจะเห็นข้อความสถานะและรายการกฎไฟร์วอลล์ (รวมถึงพอร์ตที่เปิดอยู่) ที่มีอยู่แล้ว
หากคุณเห็นข้อความ “สถานะ: ไม่ใช้งาน” ให้พิมพ์ sudo ufw enable ในหน้าต่างคำสั่ง แล้วกด Enter เพื่อเปิดไฟร์วอลล์
ขั้นตอนที่ 3 ใช้ sudo ufw allow [หมายเลขพอร์ต] เพื่อเปิดพอร์ต
ตัวอย่างเช่น หากคุณต้องการเปิดพอร์ต SSH (22) ให้พิมพ์ kbd แล้วกด Enter คุณไม่จำเป็นต้องเรียกใช้ไฟร์วอลล์อีกครั้งเนื่องจากการเปลี่ยนแปลงจะมีผลทันที
- หากพอร์ตที่คุณต้องการเปิดเป็นพอร์ตสำหรับบริการที่แสดงในรายการ /etc/services เพียงพิมพ์ชื่อบริการแทนหมายเลขพอร์ต ตัวอย่างเช่น: sudo ufw allow ssh
- หากต้องการเปิดพอร์ตภายในช่วงที่กำหนด ให้ใช้ไวยากรณ์ sudo ufw allow 6000:6007/tcp และแทนที่ 6000:6007 ด้วยช่วงที่ต้องการ หากช่วงนั้นเป็นช่วงพอร์ต UDP ให้แทนที่ tcp ด้วย udp
- ในการระบุที่อยู่ IP ที่สามารถเข้าถึงพอร์ตได้ ให้ใช้ไวยากรณ์ต่อไปนี้: sudo ufw allow from 10.0.0.1 to any port 22. แทนที่ 10.0.0.1 ด้วย IP address และ 22 ด้วย port ที่คุณต้องการเปิดสำหรับ address นั้น
ขั้นตอนที่ 4 ลบกฎไฟร์วอลล์ที่คุณไม่ต้องการ
พอร์ตที่ไม่ได้เปิดโดยเฉพาะจะถูกบล็อกโดยอัตโนมัติ หากคุณเปิดพอร์ตที่คุณต้องการปิด ให้ทำตามขั้นตอนเหล่านี้:
- พิมพ์ sudo ufw status numbered แล้วกด Enter รายการกฎไฟร์วอลล์ทั้งหมดจะแสดงขึ้น และแต่ละรายการเริ่มต้นด้วยตัวเลขที่แสดงอยู่ในรายการ
- ระบุตัวเลขที่จุดเริ่มต้นของกฎที่คุณต้องการลบ ตัวอย่างเช่น คุณต้องการลบกฎที่เปิดพอร์ต 22 และกฎนั้นระบุไว้ในข้อ 2
- พิมพ์ sudo ufw delete 2 แล้วกด Enter เพื่อลบกฎในบรรทัดที่สอง (หรือหมายเลข 2)
วิธีที่ 2 จาก 3: การใช้ ConfigServer Firewall
ขั้นตอนที่ 1. ล็อกอินเข้าสู่เซิร์ฟเวอร์
หากคุณไม่ได้เข้าสู่ระบบในฐานะผู้ใช้ root คุณสามารถใช้คำสั่ง su เพื่อเข้าถึง root และปรับการกำหนดค่าได้
ขั้นตอนที่ 2 เปิดไดเร็กทอรีที่สร้างไฟล์คอนฟิกูเรชัน CSF
ไฟล์นี้ชื่อ csf.conf และบันทึกลงในไดเร็กทอรี /etc/csf/csf.conf ตามค่าดีฟอลต์ เมื่อต้องการเปิดไดเร็กทอรี พิมพ์ cd /etc/csf แล้วกด Enter
ขั้นตอนที่ 3 เปิด csf.conf ในโปรแกรมแก้ไขข้อความ
คุณสามารถใช้โปรแกรมแก้ไขข้อความใดก็ได้ที่ต้องการ เช่น vim หรือ nano
หากต้องการเปิด csf.conf เป็นกลุ่ม ให้พิมพ์ vim csf.config แล้วกด Enter
ขั้นตอนที่ 4 เพิ่มพอร์ตอินพุตลงในรายการ TCP_IN
พอร์ตเหล่านี้เป็นพอร์ต TCP หลังจากเปิดไฟล์ คุณจะเห็นเซ็กเมนต์ TCP_IN และ TCP_OUT เซ็กเมนต์ TCP_IN แสดงพอร์ต TCP อินพุต TCP ที่เปิดอยู่คั่นด้วยเครื่องหมายจุลภาค พอร์ตจะแสดงเป็นตัวเลขเพื่อความสะดวกของคุณ แต่เมื่อเข้าสู่พอร์ต คุณไม่จำเป็นต้องทำตามลำดับที่มีอยู่ คุณสามารถเพิ่มพอร์ตที่ส่วนท้ายของลำดับ และเพียงแยกพอร์ตที่เพิ่มเข้ามาด้วยเครื่องหมายจุลภาค
- ตัวอย่างเช่น คุณต้องการเปิดพอร์ต 999 และพอร์ตที่เปิดอยู่แล้วคือ 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995
- หลังจากเพิ่มพอร์ต 999 ในรายการ ชุดพอร์ตจะมีลักษณะดังนี้: 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 999
- ในการเข้าถึงโหมดอินพุต/พิมพ์เป็นกลุ่ม ให้กดปุ่ม i บนแป้นพิมพ์
ขั้นตอนที่ 5. อนุญาตพอร์ตเอาต์พุต TCP ในรายการ TCP_OUT
เช่นเดียวกับที่คุณทำกับพอร์ตอินพุต ให้เพิ่มพอร์ต TCP เอาต์พุตที่คุณต้องการเปิดในรายการ TCP_OUT
ขั้นตอนที่ 6 บันทึกการเปลี่ยนแปลงและปิดไฟล์
ทำตามขั้นตอนเหล่านี้เพื่อบันทึกและปิดไฟล์:
- กดปุ่ม Esc
- พิมพ์:wq!.
- กดปุ่มตกลง.
ขั้นตอนที่ 7 พิมพ์ service csf restart แล้วกด Enter
ไฟร์วอลล์จะรีสตาร์ทและพอร์ตใหม่จะเปิดขึ้น
หากต้องการบล็อกหรือปิดพอร์ต ให้เปิดไฟล์อีกครั้ง ลบพอร์ต บันทึกไฟล์ และรีสตาร์ทไฟร์วอลล์
วิธีที่ 3 จาก 3: การใช้ไฟร์วอลล์นโยบายขั้นสูง
ขั้นตอนที่ 1. ล็อกอินเข้าสู่เซิร์ฟเวอร์
หากคุณไม่ได้เข้าสู่ระบบในฐานะผู้ใช้ root คุณสามารถใช้คำสั่ง su เพื่อเข้าถึง root และปรับการกำหนดค่าได้
ขั้นตอนที่ 2 เปิดไดเร็กทอรีที่มีไฟล์การกำหนดค่า APF
ไฟล์ที่คุณต้องการค้นหาเรียกว่า conf.apf และอยู่ในไดเร็กทอรี /etc/apf โดยค่าเริ่มต้น พิมพ์ cd /etc/apf เพื่อเข้าถึงไดเร็กทอรีนั้น
ขั้นตอนที่ 3 เปิด conf.apf ในโปรแกรมแก้ไขข้อความ
คุณสามารถใช้โปรแกรมใดก็ได้ที่ต้องการ เช่น vim หรือ nano
หากต้องการเปิด conf.apf เป็นกลุ่ม ให้พิมพ์ vim conf.apf แล้วกด Enter
ขั้นตอนที่ 4 เพิ่มพอร์ตอินพุตลงในรายการ IG_TCP_CPORTS
เมื่อเปิดไฟล์แล้ว คุณจะเห็นเซ็กเมนต์ IG_TCP_CPORTS และ EG_TCP_CPORTS เซ็กเมนต์ IG_TCP_CPORTS แสดงพอร์ตอินพุตที่เปิดอยู่คั่นด้วยเครื่องหมายจุลภาค พอร์ตต่างๆ จะแสดงเป็นตัวเลขเพื่อความสะดวกของคุณ แต่คุณไม่จำเป็นต้องทำตามลำดับ คุณสามารถเพิ่มพอร์ตที่ส่วนท้ายของสตริงและคั่นด้วยเครื่องหมายจุลภาค
- ตัวอย่างเช่น คุณต้องการเปิดพอร์ต 999 และพอร์ตที่เปิดอยู่ในปัจจุบันคือ 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995
- หลังจากเพิ่มพอร์ต 999 ลงในรายการ IG_TCP_CPORTS ลำดับของพอร์ตจะเป็นดังนี้: 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 999
- ในการเข้าถึงโหมดอินพุต/พิมพ์เป็นกลุ่ม ให้กดปุ่ม i บนแป้นพิมพ์
ขั้นตอนที่ 5. เพิ่มพอร์ตเอาต์พุตลงในรายการ EG_TCP_CPORTS
เช่นเดียวกับพอร์ตอินพุต ให้เพิ่มพอร์ต TCP เอาต์พุตที่คุณต้องการเปิดในรายการ EG_TCP_CPORTS
ขั้นตอนที่ 6 บันทึกการเปลี่ยนแปลงและปิดไฟล์
ทำตามขั้นตอนเหล่านี้เพื่อบันทึกและปิดไฟล์:
- กดปุ่ม Esc
- พิมพ์:wq!.
- กดปุ่มตกลง.
ขั้นตอนที่ 7 พิมพ์ service apf -r แล้วกด Enter
ไฟร์วอลล์ APF จะรีสตาร์ทและพอร์ตใหม่จะเปิดขึ้น
หากต้องการบล็อกหรือปิดพอร์ต ให้เปิดไฟล์อีกครั้ง ลบพอร์ต บันทึกไฟล์ และรีสตาร์ทไฟร์วอลล์
เคล็ดลับ
- หากคุณเห็นพอร์ตที่ไม่ต้องการหรือใช้โดยบริการที่ทำงานอยู่ ให้ปิดพอร์ต อย่าเปิดประตูทิ้งไว้ให้ผู้บุกรุก!
- หากคุณเริ่มเพิ่มพอร์ตที่เปิดแบบสุ่ม (และสุ่มเสี่ยงโดยสิ้นเชิง) คุณจะถูกแฮ็ก! ดังนั้น ตรวจสอบให้แน่ใจว่าคุณไม่ได้หลีกทางให้แฮกเกอร์ เปิดเฉพาะพอร์ตที่คุณต้องการจริงๆ