หน้า 1 จากทั้งหมด 1

เทคนิคการคอนฟิก Firewall เปิดรับบาง IP บาง Port ให้เข้ามาได้

โพสต์โพสต์แล้ว: 02 มิ.ย. 2019 12:13
โดย nuiz
เปิดบริการ อบรม Issabel/FreePBX/Elastix ด้วยคอร์สพิเศษ ให้ติดตั้ง คอนฟิกคล่อง ใช้งานคล่อง ได้ใน 3 วัน
วิธีการติดตั้ง Issabel บน CentOS 7
เทคนิคการคอนฟิก Firewall เมื่อเปลี่ยนพอร์ต Web (http/https)

ถ้าเราดูเมนู Firewall Rules บนเครื่อง Issabel เทคนิคการคอนฟิก Firewall บน Issabel 4 เราจะเห็นว่า Firewall จะเปิดรับ Traffic ให้เข้ามาเฉพาะที่เชื่อมต่อกับ Port ที่เปิด Accept ไว้เท่านั้น ส่วน Port ที่นอกเหนือจากที่ Accept ไว้จะถูก DROP หรือไม่ก็ REJECT ทั้งหมด (เราควรเปลี่ยนจาก REJECT เป็น DROP ครับ)

ถ้าสมมติว่าเราต้องการเปิดบาง Port ให้เฉพาะบาง IP หรือบาง Network เท่านั้นที่เข้ามาได้ เราก็ต้องคอนฟิกใน Firewall นี่แหล่ะครับ ยกตัวอย่างเช่นถ้าเราอยากเปิดพอร์ต TCP 5038 ให้ไอพี 1.2.3.4 เข้ามาได้ไอพีเดียวเท่านั้น (ไอพีอื่นบล๊อคหมด) เราก็คอนฟิก Firewall แบบนี้ครับ

หมายเหตุ... พอร์ต TCP 5038 เป็น Manager Port ของ Asterisk ครับ เราสามารถสั่งงาน Asterisk โดยการเชื่อมต่อมาที่พอร์ตนี้ ถ้ารู้ Username/Password และ IP เราไม่ได้ถูก Deny ไว้นะครับ คอนฟิก Asterisk Manager อยู่ในไฟล์นี้ครับ /etc/asterisk/manager.conf ตัว Issabel (จริงๆแล้วคือ FreePBX) ก็เชื่อมต่อเข้ามาที่พอร์ตนี้ด้วยเช่นกันครับ

เริ่มกันเลยครับ

1. เข้าเมนู Security > Firewall > Define Ports
คลิ๊ก + Define Port เพื่อสร้างพอร์ต TCP 5038
รูปภาพ
รายละเอียดครับ...
Name ตั้งชื่อ
Protocol เลือก TCP เพราะ Manager Port ของ Asterisk รับส่งข้อมูลด้วยโปรโตคอล TCP
Port ใส่ 5038 และ 5038 มีพอร์ตเดียว
Comment ใส่รายละเอียด ใส่หรือไม่ใส่ก็ได้

2. เข้าเมนู Security > Firewall > Firewall Rules
คลิ๊ก + Define Rule เพื่อเพิ่มพอร์ต TCP 5038 ไว้ในลิสต์ Accept
รูปภาพ
รายละเอียดครับ...
Traffic เลือก INPUT
Interface IN เลือกขา Interface ที่จะเชื่อมต่อเข้ามา เช่น eth0 เป็นต้น ถ้าจะรับเข้ามาทุก Interface ก็เลือก ANY ครับ
Source Address ใส่ IP Address และ Subnet Mask ของต้นทางที่จะเชื่อมต่อเข้ามา IP เดียวใส่แบบนี้ครับ 1.2.3.4/32 ส่วน Subnet ใส่แบบนี้ครับ 1.2.3.0/24 แต่ถ้าจะรับทุก IP ต้นทาง ใช้ค่าดีฟอลท์ได้เลยครับคือ 0.0.0.0/24
Destination Address ใส่ IP ของเครื่อง Issabel ครับ เป็น IP ของขา Interface ที่จะรับข้อมูลจาก IP ต้นทางเข้ามา ถ้าให้เข้ามาทาง Interface ไหนก็ได้ ใช้ค่าดีฟอลท์ได้เลยครับคือ 0.0.0.0/24
Protocol เลือก TCP เพราะ Asterisk Manager Port 5038 เป็น TCP
Source Port เลือก ANY เพราะเราไม่รู้ว่าทาง IP ต้นทางเขาจะใช้ Port หมายเลขอะไรเป็น Source Port ถ้าเราเผลอคอนฟิกแต่ต้นทางเขาไม่ได้ใช้ Port นั้น ก็จะโดน DROP นะครับ
Destination Port เลือก Define Port ที่เราสร้างไว้แล้ว
Target เลือก ACCEPT

3. เลื่อนลำดับ Rule
กดปุ่มลูกศรชี้ขึ้นเลื่อนลำดับพอร์ต TCP 5038 ให้อยู่ก่อนสัญญาณไฟแดง ไม่เช่นนั้นจะเจอกับ Rules ที่ DROP ก่อน
รูปภาพ

มีเท่านี้แหล่ะครับ ลองนำไปประยุกต์ใช้งานกับการปิด/เปิดพอร์ตอื่นดูครับ