ในหน้าคอนฟิกเบอร์ Extension มีคอนฟิกหนึ่งที่น่าสนใจ คือบรรทัด deny และ permit ซึ่ง 2 บรรทัดนี้นะครับเอาไว้ใส่ IP Address ที่ Elastix/Asterisk จะยอมรับให้ Register เบอร์ Extension นั้นๆ ถ้า Register มาจากไอพีอื่นก็จะถูกปฏิเสธและเก็บไว้ใน log file ของ Asterisk (และถ้าเราติดตั้งโปรแกรม Fail2Ban ไว้ ไอพีนั้นก็จะถูกบล๊อก)
การเช็ค IP address แบบนี้เราเรียกว่า ACL ครับ ซึ่ง ACL ย่อมาจาก Access Control List ถือเป็น Security อย่างหนึ่งที่เราพอจะทำให้ Asterisk ได้
บรรทัด permit อาจจะใส่เป็น Subnet IP แบบตัวอย่าง ซึ่งรีจิสเตอร์มาจาก IP ไหนก็ได้ในวง 192.168.1.0/24 หรือถ้าต้องการซีเคียวมากกว่านั้นอีกก็ระบุ IP ไปเลยก็ได้ แบบนี้ 192.168.1.100 ซึ่งถ้าเป็น IP Address ไม่ต้องมี /255.255.255.255 ต่อท้ายก็ได้นะครับ
ในช่อง permit ใส่ได้แค่ IP เดียว หรือ Subnet เดียวเท่านั้นนะครับ ถ้าพยายามใส่เข้าไปหลายๆไอพีหรือหลายๆซับเน็ต มันจะเวอร์คแค่อันที่อยู่ด้านซ้ายมือสุด ถ้ามีหลาย IP หรือหลาย Subnet จะใส่ยังไง ผมมีเทคนิคง่ายๆครับ คือเพิ่มในไฟล์ /etc/asterisk/sip_custom_post.conf แทนครับ แบบนี้
- โค้ด: เลือกทั้งหมด
[100](+)
permit = 124.128.30.210
permit = 192.168.10.83
permit = 61.90.120.64/255.255.255.224
...
[101](+)
...
- 100 และ 101 เป็นเบอร์ Extension
- ไม่ต้องมี ... นะครับ เดี๋ยวมันจะเออเร่อร์ ผมแค่โชว์ให้ดูว่าเราสามารถใส่บรรทัดอื่นๆเข้าไปเพิ่มได้เหมือนกับในไฟล์ sip.conf
- และอย่าลืมว่าบรรทัด permit บรรทัดนึง ใส่ได้แค่ IP เดียวหรือ Subnet เดียวเท่านั้นนะครับ แต่เราก็เพิ่มบรรทัด permit ไปได้เรื่อยๆ ส่วนจะใส่ได้มากสุดกี่บรรทัดนั้น อันนี้ไม่รู้ครับ
คงช่วยแก้ปัญหาได้บ้างนะครับ
บทความที่เกี่ยวข้อง
iptables firewall
Asterisk Security
จับตายพวกชอบเดา Username/Password ของ Asterisk ด้วย Fail2Ban
จับตายพวกชอบเดา Username/Password เข้า SSH