Wednesday, October 3, 2012

การconfig DNS (Spoofing)ใน Cisco router

การconfig DNS (Spoofing)ใน Cisco router
อะไรคือ DNS
DNS ถ้าอธิบายแบบง่ายๆ ก็คือวิธีการ (หรือบริการ) ที่ช่วยให้เราไม่ต้องจำ ip address ในการติดต่อสื่อสารบน TCP/IP โดยให้เราใช้วิธีจำชื่อหรือที่อยู่ที่เป็นภาษามนุษย์มากขึ้น เช่น ถ้าเราต้องการไปที่ website ของ Cisco เราก็เพียงพิมพ์ www.cisco.com บน web browser ของเรา แล้วเจ้า DNS ก็จะทำการเปลี่ยนจากชื่อ www.cisco.com ที่จำได้ง่ายให้เป็น 198.133.219.25 ซึ่งเป็น ip address ของ Cisco website ทั้งหมดนี้ทาง technical term เราเรียกว่าการทำ name lookup
เหมือนเดิมนะครับ ผมคงต้องขอไม่พูดถึง DNS ในรายละเอียดเพราะคิดว่าท่านผู้อ่านสามารถหาข้อมูลเพิ่มเติมได้ง่ายมาก ทั้งบน Internet และในหนังสือหลายๆเล่ม
แล้วอะไรคือ DNS Spoofing?
DNS Spoofing คือการทำให้ router ทำตัวเป็น DNS server หรือเรียกให้ถูกๆก็คือ proxy DNS server ในกรณีที่ router ไม่สามารถติดต่อกับ DNS server ได้เช่น link ที่เชื่อมไปยัง headoffice หรือ ISP ที่มี DNS server อยู่เกิดdown เราก็สามารถ config router ที่เรามีอยู่ให้ทำงานแทนที่ DNS server ชั่วคราว เสมือนว่าเรามี local DNS server อยู่ ดังนั้นDNS spoofing เหมาะสำหรับ office ที่เป็นลักษณะ remote office หรือoffice ที่มีขนาดเล็กที่อาศัย WAN link ในการติดต่อกับ DNS server.
ถ้าใครคุ้นเคยกับ Windows ดี ประโยชน์ของDNS Spoofing จะคล้ายๆกับ local host file ที่ Windows ใช้ในเรื่องของการทำ name lookup ระหว่าง ip address กับ NetBios name
Configuring DNS Spoofing
จากข้อมูลในCisco.com feature ที่รองรับการทำ DNS Spoofing เริ่มมีใน IOS 12.2(2) T , 12.2(4) T, และเหมือนว่า12.3(2)T จะเป็น official release สำหรับ DNS Spoofing
ในการที่จะให้ DNS spoofing ทำงานอย่างถูกต้อง เราต้อง config คำสั่งด้านล่างก่อน (คำสั่งใดคำสั่งหนึ่ง) ซึ่งได้แก่
  • มีคำสั่ง no ip domain-lookup หรือ
  • ไม่มีการ config โดยใช้คำสั่ง ip name-server x.x.x.x
หรือ
  • ในกรณีที่router ไม่สามารถ connect ไปถึง DNS server เช่น Interface down หรือ ไม่มี routing path ใน routing table
ที่นี้เรามาดูคำสั่งบังคับที่ต้องมีเพื่อ activate การทำงานของ DNS service process บน router ก็จะมี
no ip domain-lookup
ip dns server
ip dns spoofing
no ip domain-lookup
คำสั่งนี้คงคุ้นเคยกันดีนะครับ เป็นคำสั่งที่บอก router ว่าไม่ต้องพยายามติดต่อกับ DNS server (คิดว่าหลายๆท่านคงรำคาญเหมือนผมเวลาไม่มีคำสั่งนี้ เพราะถ้าเราพิมพ์คำสั่งผิดไป routerจะพยายามติดต่อกับ DNS server เพื่อดูว่าที่เราพิมพ์ไปนั้นอาจจะเป็นชื่อ host ตัวใดตัวหนึ่งรึเปล่าซึ่งน่ารำคาญทีเดียวนะครับเพราะจะต้องเสียเวลารอ)
ip dns server
คำสั่งนี้เป็นการบอก router ให้ทำตัวเป็น DNS server ด้วย(นอกเหนือจากการ routing และอีกหลายอย่างที่เรา config ไป) โดยการactivate DNS server process ใน router
ip dns spoofing [spoofing ip address]
คำสั่งนี้เป็นการบอกให้ router ทำการ spoof หรือ สวมรอยโดยถ้าเห็น DNS queries เข้ามา router จะทำการตอบกลับด้วยข้อมูล record (ชื่อและ ip address) ที่เราconfigให้ router ซึ่งจะอธิบายเพิ่มเติมด้านล่าง
เรามี option ให้เลือกว่าจะใส่ ip address หลังคำสั่ง ip dns spoofing โดยถ้าเราใส่ ip address ตามหลังคำสั่ง ก็จะเป็นการกำหนด ip address ที่routerใช้ในการตอบ DNS queries เช่นถ้าเรา config ด้วยคำสั่ง
ip dns spoofing 1.1.1.1
client ที่ทำการทำ DNS queries จะคิดว่า DNS server ที่ตอบกลับคือ server ที่มี address 1.1.1.1 แต่ถ้าเราไม่ใส่ routerจะใช้ ip address ของ inbound interface ที่ได้รับ DNS queriesในการตอบกลับซึ่งเป็น default configuration ของ router (งงไม๊ครับ คือสรุปว่าrouter หลอกให้อุปกรณ์อื่นเข้าใจว่าได้รับคำตอบจาก ip address 1.1.1.1)
หลังจาก DNS service ทำงานแล้ว เราก็ต้องใส่ข้อมูลของชื่อและ ip address หรือที่เราเรียกว่า resource record ใน DNS ให้ router สามารถค้นหา (name lookup) ซึ่งคำสั่งที่ใช้ก็คือคำสั่ง ip host และ ip domain name
ตอนนี้เรามาดู configuration แบบเต็มๆเพื่อความเข้าใจนะครับ
!
no ip domain-lookup
ip dns server
ip dns spoofing 1.1.1.1
!
ip domain name tnet.com
ip host test.tnet.com 1.2.3.4
!
ทีนี้ดูผลของ query ด้วยคำสั่ง nslookup จาก Windows
C:\>nslookup
> test
Server: [1.1.1.1]
Address: 1.1.1.1
Non-authoritative answer:
Name: test
Address: 1.2.3.4
> test.tnet.com
Server: [1.1.1.1]
Address: 1.1.1.1
Non-authoritative answer:
Name: test.tnet.com
Address: 1.2.3.4
> 1.2.3.4
Server: [1.1.1.1]
Address: 1.1.1.1
Name: test.tnet.com
Address: 1.2.3.4
สำหรับผู้ที่เข้าใจ DNSดีอยู่แล้ว โปรดสังเกตนะครับว่าเราไม่ต้องยุ่งกับ PTR record (สำหรับ reverse lookup) นะครับ DNS process ใน cisco router ฉลาดพอที่จะทำ reverse lookup ให้เอง
ก็คงพอแค่นี้นะครับสำหรับ DNS spoofing ที่จริงมีคำสั่งที่เกี่ยวกับการ config DNS ใน Cisco router ค่อนข้างเยอะทีเดียว สำหรับผู้ที่ต้องการรู้เพิ่มเติม เข้าไปดูที่http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122t/122t2/ftddns.htm นะครับ

0 comments:

Post a Comment