การส่ง SIP User Password ขณะรีจิสเตอร์จาก Client ไป Server

Asterisk Opensource IP Pbx

การส่ง SIP User Password ขณะรีจิสเตอร์จาก Client ไป Server

โพสต์โดย nuiz » 21 เม.ย. 2016 14:56

นานมากแล้วที่ผมไม่มีบทความในหัวข้อ Asterisk นี้เลย วันนี้เลยจัดซะหน่อย พอดีได้ความรู้มาใหม่เรื่องหนึ่งครับ ตามบทความนี้เลยครับ

การส่ง SIP User Password ขณะรีจิสเตอร์จาก Client ไป Server

เริ่มต้นจะรีจิสเตอร์แบบไม่ส่ง Authentication ไปด้วย
โค้ด: เลือกทั้งหมด
REGISTER sip:192.168.105.251 SIP/2.0..Via: SIP/2.0/UDP 125.26.202.14:5060;branch=z9hG4bK17123222492404930964..From: 5719<sip:5719@192.168.105.251>;tag=819422361..To: 5719 <sip:5719@192.168.105.251>..Call-ID: 30957706228737-276461722811405@192.168.0.211..CSeq: 1 REGISTER..Contact: <sip:5719@125.26.202.14:5060>..Max-Forwards: 70..Expires: 3600..Supported: path..User-Agent: metavoice MV100/MV100P 2.3.233.129..Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER, NOTIFY, INFO, PRACK, UPDATE, MESSAGE..Content-Length: 0....     


เซอร์เวอร์ตอบกลับไปว่า 401 Unauthorized บอกว่าให้ส่ง Authentication มาด้วย พาสเวอร์ดให้เข้ารหัสแบบ MD5 นะ (Digest algorithm=MD5)
โค้ด: เลือกทั้งหมด
SIP/2.0 401 Unauthorized..Via: SIP/2.0/UDP 125.26.202.14:5060;branch=z9hG4bK17123222492404930964;received=125.26.202.14;rport=5060..From: 5719 <sip:5719@192.168.105.251>;tag=819422361..To: 5719 <sip:5719@192.168.105.251>;tag=as08ac2ba6..Call-ID: 30957706228737-276 461722811405@192.168.0.211..CSeq: 1 REGISTER..Server: Highways_SIP..Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE..Supported: replaces, timer..WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="080929d6"..Content-Length: 0....                                                                                                     


Client ส่งไปใหม่ เข้ารหัสพาสเวอร์ดแบบ MD5 แล้ว มี Username (Digest username) = 5719 มี Password (response) =ที่เข้ารหัสแบบ MD5
โค้ด: เลือกทั้งหมด
REGISTER sip:192.168.105.251 SIP/2.0..Via: SIP/2.0/UDP 125.26.202.14:5060;branch=z9hG4bK1685495792970925475..From: 5719<sip:5719@192.168.105.251>;tag=819422361.. To: 5719 <sip:5719@192.168.105.251>..Call-ID: 30957706228737-276461722811405@192.168.0.211..CSeq: 2 REGISTER..Contact: <sip:5719@125.26.202.14:5060>..Authorization: Digest username="5719", realm="asterisk", nonce="080929d6", uri="sip:192.168.105.251", response="5664afd34a7d00bd8810630967192b69", algorithm=MD5..Max-Forwards: 70..Expires: 3600..Supported: path..User-Agent: metavoice MV100/MV100P 2.3.233.129..Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER, NOTIFY, INFO, PRACK, UPDATE, MESSAG..Content-Length: 0....                                                                                                         


ซึ่ง Asterisk จะนำ Text Password ที่เราตั้งค่าไว้ในเบอร์ Extension (บรรทัด secret) เข้ารหัสด้วยอัลกอริทึม MD5 แล้วเอามาเปรียบเทียบกับค่านี้

กรณีพาสเวอร์ดผิด เซอร์เวอร์จะตอบด้วย 403 Forbidden แต่ถ้าถูกต้องจะตอบ 200 OK กลับไป
โค้ด: เลือกทั้งหมด
SIP/2.0 403 Forbidden..Via: SIP/2.0/UDP 125.26.202.14:5060;branch=z9hG4bK1685495792970925475;received=125.26.202.14;rport=5060..From: 5719 <sip:5719@192.168.105.251>;tag=819422361..To: 5719 <sip:5719@192.168.105.251>;tag=as08ac2ba6..Call-ID: 30957706228737-276461722811405@192.168.0.211..CSeq: 2 REGISTER..Server: Highways_SIP..Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE..Supported: replaces, timer..Content-Length: 0....                                                     


เพิ่มเติม...
เราสามารถแปลง MD5 hash เช่น 5664afd34a7d00bd8810630967192b69 เป็น Text ได้ แต่ใช้เวลานานมากกกกกกกก ซึ่งนี่ก็พอจะสบายใจได้แล้วนะครับว่า ถ้าเผื่อมีใครมาดักจับ SIP messages กลางทาง (Man-In-the-Middle Attack) เขาจะเห็นแต่ User แต่ไม่รู้ Password ครับ

เว็บแปลง Text เป็น MD5 hash (แปลงได้ในเสี้ยววินาที)
http://www.md5online.org/md5-encrypt.html

เว็บแปลง MD5 hash เป็น Text (ถ้ามี MD5 hash นี้อยู่ในฐานข้อมูลแล้วจะแจ้งออกมาเลย ถ้าไม่มีก็จะแจ้งว่าไม่พบในฐานข้อมูล นั่นเป็นเพราะว่ามันใช้เวลานานมาก สิบปีจะได้หรือเปล่าก็ไม่รู้)
http://www.md5online.org/md5-decrypt.html
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6993
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

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

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

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