networking
ArpON: ARP Poisoning Protection
Submitted by neutron on 13 August, 2009 - 02:18.ฝันร้ายของ admin ในระบบเครือข่าย อย่างหนึ่งที่เจอกันบ่อย ๆ คือ ARP poisoning หรือที่คนทั่วไปรู้จักกันในชื่อ NetCut ซึ่งปัญหานี้ เป็นช่องโหว่ของระบบเครือข่าย ซึ่งรู้โดยทั่วกันว่า หาทางแก้ได้แบบเด็ดขาดลำบากมาก เนื่องจากทางแก้ที่สมบูรณ์นั้น ต้องได้รับความร่วมมือจากผู้ใช้ด้วย
ARP poisoning หรือ ARP spoofing คือวิธีการโจมตีลักษณะหนึ่งในระบบเครือข่ายแบบ ethernet ไม่ว่าจะเป็นแบบ มีสายหรือไร้สาย โดยอาศัยช่องโหว่ของ ARP (Address Resolution Protocol) ซึ่งมีระบบความปลอดภัยต่ำมาก เนื่องจาก ARP เป็นโพรโทคอลที่คุยกัน และให้ความเชื่อถือข้อมูลที่ถูกส่งออกมาโดยไม่มีเงื่อนไขในการตรวจสอบที่มา และความน่าเชื่อถือของข้อมูลใด ๆ ทั้งสิ้น ซึ่งช่องโหว่นี้ เป็นที่มาของการปลอมข้อมูล (spoofing) เพื่อหลอกให้ชาวบ้านหลงเชื่อตามที่โกหก
ปรับ refresh pattern เพิ่มอัตรา hit ของ squid
Submitted by thep on 10 February, 2009 - 19:41.squid เป็นหนึ่งในซอฟต์แวร์ที่มีค่าคอนฟิกเยอะมาก และมีเกร็ดการ fine-tune เยอะแยะไปหมด เพื่อนสมาชิกที่มีประสบการณ์ก็สามารถมาแชร์เป็นวิทยาทานกันได้นะครับ
ผมเองไม่มีประสบการณ์การ fine-tune squid มากนัก แต่เร็ว ๆ นี้ ได้ไปเจอ เคล็ดวิชา refresh pattern มา และใช้ได้ผลพอประมาณ เลยเอามาเล่าสู่กันฟัง
refresh pattern เป็นตัวกำหนดว่าจะให้อะไรเก่าอะไรใหม่สำหรับแคชและการตอบกลับ ซึ่งโดยหลักการแล้ว คุณควรจะให้ squid เชื่อตาม HTTP header ต่าง ๆ ที่เว็บเซิร์ฟเวอร์ตอบกลับมา ว่าอะไรเก่าอะไรใหม่ขนาดไหน แต่โชคไม่ดีที่ค่าต่าง ๆ เหล่านี้มักตอบมาตามค่า default ของเว็บเซิร์ฟเวอร์ ซึ่งไม่ช่วยอะไรนักสำหรับการทำแคช ดังนั้น การปรับ refresh pattern จึงช่วยได้ในเรื่องนี้
ทำ DNS proxy ด้วย pdnsd
Submitted by thep on 8 February, 2009 - 17:44.ในการเชื่อมต่อ LAN เข้ากับอินเทอร์เน็ต นอกจากจะมี เกตเวย์ แล้ว ก็อาจจะตั้ง DNS server ไว้ใช้ในเครือข่ายด้วย เพื่อลดปริมาณการ query ออกข้างนอก ซึ่งทางเลือกก็มีหลายทาง เช่น ใช้ bind หรือ dnsmasq โดย bind นั้นเป็น DNS server แบบเต็มตัว ส่วน dnsmasq เป็น caching DNS อย่างเดียว แต่บทความนี้จะเสนออีกทางเลือกหนึ่ง คือ pdnsd
pdnsd เป็น caching DNS เหมือน dnsmasq แต่ที่ต่างคือ มันจะเก็บแคชลงดิสก์ด้วย ในลักษณะเดียวกับที่ squid ทำกับ HTTP ทำให้ในระบบที่ไม่ได้เปิดเซิร์ฟเวอร์แบบต่อเนื่อง 24 ชั่วโมง ยังสามารถใช้แคชข้ามวันได้ รวมทั้งสามารถใช้ DNS จากแคชไปพลางได้ในวันที่ DNS ของ ISP มีปัญหาได้ด้วย (ซึ่งเจอบ่อยสำหรับ ISP บ้านเรา ผมเคยแก้ปัญหาด้วยการ hard code IP ต่าง ๆ ที่เข้าบ่อยเก็บไว้ใน /etc/hosts แต่ไม่ต้องแล้ว ถ้าใช้ pdnsd)
ติดตั้งกันเลย
- thep's blog
- Login or register to post comments
- Read more
ipmasq กับการทำ transparent proxy
Submitted by thep on 6 September, 2007 - 11:42.ตามที่ติดค้างไว้ใน ตอนที่แล้ว เกี่ยวกับการทำ internet gateway ด้วย ipmasq ว่าจะพูดถึงการทำ transparent proxy นะครับ ซึ่งก็ไม่ยากอย่างที่คิด
หลักการคือ ให้ส่งต่อแพ็กเก็ตจากเครื่องภายในที่ติดต่อไปยังพอร์ต 80 ให้ไปที่พอร์ตของ HTTP proxy (เช่น 3128 หรือพอร์ตอื่นตามแต่กำหนดขณะติดตั้งพร็อกซี) เพื่อที่การติดต่อเว็บจากเครื่องในเครือข่ายภายใน จะได้ผ่านพร็อกซีเสมอ โดยไม่ต้องตั้งค่าพร็อกซีอีก
เริ่มจากติดตั้ง squid proxy ก่อน
# aptitude install squid
แล้วตั้งค่า squid ตามปกติ อาจจะทดสอบการทำงานของพร็อกซี โดยเปิดเว็บเบราว์เซอร์ในเครื่องลูก แล้วตั้งค่าพร็อกซีก่อนเปิดเว็บต่าง ๆ ดูก่อน แล้วดู access log ของ squid ที่ /var/log/squid/access.log ว่ามี request เข้ามา
ตั้ง internet gateway อย่างง่าย ด้วย ipmasq
Submitted by thep on 6 September, 2007 - 09:27.การตั้ง internet gateway ภายในบ้าน หรือในองค์กร เพื่อใช้หมายเลขไอพีหมายเลขเดียวที่ได้มาเป็นทางผ่านสู่อินเทอร์เน็ตให้กับเครื่องลูกข่าย ทำได้ด้วยเทคนิคที่เรียกว่า IP Masquerade และสามารถเขียนกฎ firewall ในการกรองแพ็กเก็ตต่างๆ ได้ด้วย ทั้งหมดนี้ อาศัยกลไกในเคอร์เนลลินุกซ์ที่เรียกว่า netfilter (สำหรับเคอร์เนล 2.4 ขึ้นไป ถ้าเป็นรุ่นเก่ากว่านั้นจะเป็น ipchain และ ipfwadm) คำสั่งที่ใช้ตั้งกฎก็คือ iptables
ฟังดูยุ่งยาก แต่ในเดเบียนมีแพกเกจที่ช่วยให้ตั้งเกตเวย์ได้อย่างรวดเร็ว คือ ipmasq ซึ่งจะมีคำสั่งช่วยตรวจสอบ route table แยกแยะ interface ที่เป็น public IP และเครือข่ายภายใน แล้วสร้างกฎ iptables เพื่อให้ทำ IP masquerade จากภายในสู่ภายนอก พร้อมทั้งทำ firewall กันแพ็กเก็ตจากภายนอกโดยอัตโนมัติ
ifupdown กับแล็ปท็อปพเนจร
Submitted by thep on 4 September, 2007 - 21:44.พูดถึง ifupdown พื้นฐาน และ การใช้กับเครือข่ายไร้สาย ไปแล้ว คราวนี้ มาพูดถึงการใช้งานอีกแบบหนึ่ง ซึ่งเหมาะสำหรับเครื่องที่เปลี่ยนเครือข่ายบ่อย เช่น แล็ปท็อป คือการทำโพรไฟล์เครือข่าย
สมมุติว่าคุณหิ้วแล็ปท็อปไป ๆ มา ๆ เป็นประจำ 2-3 ที่ ที่บ้านใช้เครือข่ายไร้สายแบบ static IP แบบมี WEP key ที่สำนักงานใช้ DHCP แบบมี WPA และที่ไซต์งานใช้ DHCP แบบล็อค MAC address การเซ็ตค่าใหม่ทุกครั้งคงไม่สะดวก แต่คุณสามารถทำโพรไฟล์ของเครือข่ายต่างๆ เก็บไว้ แล้วเลือกใช้เอาตามต้องการได้
ย่อหน้า iface นั้น ไม่จำเป็นต้องตามด้วยชื่อ interface เสมอไป แต่คุณสามารถตั้งชื่อโพรไฟล์ตามใจชอบได้ เช่น ในกรณีดังกล่าว ก็อาจจะทำโพรไฟล์ home, office, site เตรียมไว้ดังนี้:
ifupdown กับเครือข่ายไร้สาย
Submitted by thep on 4 September, 2007 - 21:38.จาก ตอนที่แล้ว ที่ได้เกริ่นถึง ifupdown แบบปกติไปแล้ว คราวนี้จะมาดูการใช้งานลักษณะอื่นบ้าง โดยในตอนนี้จะกล่าวถึงการตั้งค่าเครือข่ายไร้สาย
ถ้าเครือข่ายของคุณเป็นแบบไร้สาย จะมีค่าพารามิเตอร์ของ Wi-Fi ที่ต้องเซ็ตด้วย ซึ่งคำสั่งสำหรับสั่งแบบ manual ก็คือ iwconfig ซึ่งอยู่ในแพกเกจ wireless-tools เช่น คำสั่งง่ายๆ สำหรับตรวจหา wireless interface ในเครือข่ายก็:
# iwconfig
จะตรวจ interface เครือข่ายทั้งหมด แล้วรายงานว่ามี wireless extension หรือไม่ ส่วนการกำหนดค่าพารามิเตอร์ Wi-Fi ก็ใช้คำสั่งเดียวกัน โดยระบุ interface ที่จะเซ็ต พร้อมด้วยพารามิเตอร์ต่างๆ เช่น
# iwconfig wlan0 mode managed essid my-essid \ key xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx
เป็นการกำหนดโหมดของ wireless interface ให้เป็นโหมด managed, ระบุ ESSID พร้อมกำหนด WEP key ของเครือข่าย
# iwconfig wlan0 mode ad-hoc channel 11 essid my-essid \ key xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx
กำหนดเป็นโหมด ad-hoc ใช้สัญญาณช่อง 11 ระบุ ESSID พร้อมกำหนด WEP key ของเครือข่าย
ค่าต่างๆ เหล่านี้ สามารถระบุใน /etc/network/interfaces เพื่อเป็นค่าตั้งสำหรับ ifupdown ได้
- thep's blog
- Login or register to post comments
- Read more
รู้จักกับ ifupdown
Submitted by thep on 4 September, 2007 - 21:31.ก่อนจะเข้าเรื่อง network admin กัน ขอเรียกน้ำย่อยก่อน ด้วยการทำความรู้จักกับแพกเกจ ifupdown ที่ใช้เป็นกลไกในการตั้งค่าเครือข่ายของ debian แบบลงลึกสักหน่อย
เท้าความเรื่องคำสั่งระดับล่างสักนิด ว่าการที่คุณจะเชื่อมต่อเครื่องของคุณเข้าสู่อินเทอร์เน็ต โดยทั่วไป สิ่งที่จำเป็นต้องเซ็ตก็คือ
- IP address โดยใช้คำสั่ง
ifconfigเช่น
# ifconfig eth0 192.168.1.2 netmask 255.255.255.0
- gateway ที่จะเป็นทางผ่านสู่อินเทอร์เน็ต โดยใช้คำสั่ง
routeเช่น
# route add default gw 192.168.1.1
- DNS server ที่จะใช้ resolve ชื่อต่างๆ โดยแก้ที่แฟ้ม
/etc/resolv.confเช่น
nameserver 192.168.1.1
แต่ถ้าคุณใช้ dynamic IP จาก DHCP server ในเครือข่าย ก็สั่ง:
# dhclient [interface]
เพียงคำสั่งเดียว ก็จะได้ค่าต่างๆ ข้างต้นมาทั้งหมดจาก DHCP server
แต่ถ้าจะมาสั่งอย่างนี้ทุกครั้งที่เปิดเครื่อง ก็จะไม่สะดวก
|
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |















