เทคนิคการจำกัด IP Address ที่จะ Register กับ Asterisk ได้

Asterisk Opensource IP Pbx

เทคนิคการจำกัด IP Address ที่จะ Register กับ Asterisk ได้

โพสต์โดย nuiz » 15 พ.ค. 2011 15:19

เทคนิคการจำกัด IP Address ที่จะ Register ได้

เคยอยากทำแบบนี้มั๊ยครับ จำกัดว่าเบอร์ Extension นี้จะ Register ได้เฉพาะ IP Address ในวงนี้ หรือ IP Address นี้เท่านั้น ผมมีวิธีทำครับ ไม่ยาก ทำในไฟล์ /etc/asterisk/sip.conf หรือไฟล์ที่ถูก include เข้าไป

ผมลองกับ Asterisk 1.4.36 เวอร์คดีครับ

ซึ่ง IP Address ที่จะรีจิสเตอร์เข้ามานั้นนะครับ เราอาจจะรู้ IP ที่แน่นอน เช่น 192.168.1.100 หรือไม่รู้ไอพีที่แน่นอน แต่รู้ว่ามันเป็น Subnet นี้เช่น 192.168.1.0/24 เราก็มีวิธีบอก Asterisk ได้แบบครอบคลุมหมดทุกรูปแบบ ดังตัวอย่างครับ

1. ทั้งวงแลน
สมมติว่าผมต้องการให้เบอร์ 100 รีจิสต์ได้เฉพาะ IP ที่อยู่ในวง 192.168.1.0/24 เท่านั้น ผมก็เพิ่มบรรทัด deny และ permit เข้าไป แบบนี้


โค้ด: เลือกทั้งหมด
[100]
...
host=dynamic
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/255.255.255.0
...


บรรทัด deny ควรจะอยู่ก่อน permit นะครับ

ซึ่งถ้ามีใครพยายามรีจิสเตอร์เบอร์ 100 จากไอพีวงอื่นที่ไม่ใช่ 192.168.1.0/24 นี้ Asterisk ก็จะฟ้องมาแบบนี้ครับ ในไฟล์ /var/log/asterisk/messages หรือ /var/log/asterisk/full

[2011-05-15 15:12:34] NOTICE[25636] chan_sip.c: Registration from '100<sip:100@110.101.13.13>' failed for '124.122.83.152' - Device does not match ACL

และถ้าเราติดตั้ง Fail2Ban ไว้ ไอพี 124.122.83.152 ก็จะถูก iptables บล๊อกไว้ แบบนี้

โค้ด: เลือกทั้งหมด
Chain fail2ban-ASTERISK (1 references)
pkts bytes target     prot opt in     out     source               destination         
    1   500 DROP       all  --  any    any     ppp-124-122-83-152.revip2.asianet.co.th  anywhere           
  353 38963 RETURN     all  --  any    any     anywhere             anywhere


2. เปิดรับ IP เดียว
ตัวอย่างข้างบนเป็นการเปิดรับทั้งวง 192.168.1.0/24 แต่ถ้าเราต้องการให้เฉพาะ IP เดียวเท่านั้นที่รีจิสเตอร์ได้ เช่น 192.168.1.100 เราก็ระบุบรรทัด permit แบบนี้ครับ

[100]
...
host=dynamic
deny=0.0.0.0/0.0.0.0
permit=192.168.1.100
...


3. หลายไอพีแต่อยู่คนละวงแลน
ต้องการให้เบอร์ 100 รีจิสเตอร์มาจาก IP ไหนก็ได้ใน 3 IP นี้

[100]
...
host=dynamic
deny=0.0.0.0/0.0.0.0
permit=192.168.1.100
permit=192.168.1.200
permit=120.121.50.89
...

4. ไอพีผสมซับเน็ต

[100]
...
host=dynamic
deny=0.0.0.0/0.0.0.0
permit=192.168.1.100
permit=192.168.1.200
permit=120.121.50.0/255.255.255.224
...

5. ไม่รู้ว่าจะรีจิสเตอร์มาจาก IP ไหน
ตัวอย่างที่เราไม่รู้ว่าจะรีจิสเตอร์มาจากไอพีไหนก็เช่น รีจิสเตอร์ผ่าน Internet มา (แบบไม่ได้ใช้ VPN) ซึ่ง IP ก็จะเปลี่ยนไปเรื่อยๆ ทุกวัน
อันนี้ก็ไม่ต้องใส่บรรทัด deny และ permit เข้าไปนะครับ ใส่แต่บรรทัด host=dynamic ก็พอ และผมว่าไม่ควรใส่ชื่อ dns เข้าไป (หรือใส่ได้แต่เวอร์คป่าวไม่รู้ครับ ไม่ได้ลอง)

เครื่องหมาย ... ผมโชว์ให้เห็นว่าใส่พารามิเตอร์อื่นๆเพิ่มได้อีกนะครับ เวลาคอนฟิกไม่ต้องใส่เข้าไป เดี๋ยวจะเออเร่อร์

สำหรับท่านที่ใช้ Elastix, Trixbox หรือ FreePBX ผมมีบทความแนะนำการทำแบบนี้ด้วยนะครับ เทคนิคการจำกัด IP Address ที่จะ Register กับ Elastix ได้

บทความที่เกี่ยวข้อง
iptables firewall
Asterisk Security
จับตายพวกชอบเดา Username/Password ของ Asterisk ด้วย Fail2Ban
จับตายพวกชอบเดา Username/Password เข้า SSH
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7058
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง Asterisk SIP Server

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 10 ท่าน

cron