neutron's blog

หลัง ๆ เริ่มมีคนบ่นว่า พยายามติดตั้ง RahuNAS ในเครื่องใหม่ ๆ ที่ลง Debian 6.0 (Squeeze) แล้วติดปัญหา ... ก็เป็นเรื่องที่ถูกต้องแล้ว เพราะ lib ต่าง ๆ ที่ RahuNAS เกี่ยวข้องอยู่ มีการเปลี่ยนแปลงไปมาก จาก Lenny สู่ Squeeze ...

Squid เป็น HTTP proxy/cache โอเพนซอร์สยอดนิยม มีการใช้งานอย่างแพร่หลาย โดยล่าสุด Squid ได้ออกรุ่น 3.2.0.7 เป็นรุ่นเบตาในวันที่ 19 เมษายน ที่ผ่านมา ซึ่งในสายการพัฒนาของรุ่น 3.2 นั้น มีเป้าหมายในการปรับปรุง แก้ไขปัญหาเดิมของ Squid รุ่นก่อน รวมไปถึงการเพิ่มความสามารถใหม่เข้ามาในรุ่นนี้ด้วย ความสามารถที่เพิ่มขึ้น และการปรับปรุง สามารถติดตามได้ที่ http://wiki.squid-cache.org/RoadMap/Squid3

แต่เนื่องจากใน Debian ยังไม่มี Squid รุ่น 3.2 ให้ทดสอบ ผมในฐานะผู้ใช้ Squid และพอจะมีความรู้ในการทำ Debian package อยู่บ้าง ก็เลยลองดึง Squid 3.1 จาก Debian มาลองปรับดู เพื่อที่จะ build Squid 3.2 ได้โดยที่คงความสามารถที่ Squid 3.1 ใน Debian มีไว้ ดังนั้น ท่านใดที่ใช้ Squid 3.1 อยู่แล้ว ก็สามารถอัปเกรดเพื่อทดลองใช้งานได้ทันที

ก่อนอื่น ท่านใดที่ยังไม่เคยใช้ DebianClub repository (debclub) ให้เพิ่มเข้าไปในระบบก่อน ตามคำแนะนำใน [debclub "ก้านกล้วย" repository] หลังจากนั้นให้เพิ่ม

deb ftp://ftp.debianclub.org/debclub experimental main

เนื่องจากแพกเกจ squid3 3.2 ยังไม่เคยมีใน Debian มาก่อน ผมเลยถือโอกาสปรับ และสร้าง git repository (http://git.rahunas.org/?p=debian/squid3;a=summary) สำหรับการทำแพกเกจ รวมไปถึงการติดตามการพัฒนาของ Squid 3.2 ไปด้วยในตัว และด้วยเหตุผลนี้ จึงใช้กระบวนการแบบ Debian ในการส่ง Squid3 3.2 เข้าที่ debclub ในส่วนของ experimental distribution ซึ่งสำหรับ Debian แล้ว experimental คือที่ทดสอบ (สนามเด็กเล่น) ของผู้ที่สนใจทดสอบแพกเกจซึ่งใน debclub ก็เช่นเดียวกัน

เริ่มติดตั้ง

# apt-get -t experimental install squid3

หากเป็นการติดตั้งใหม่ Squid3 ก็พร้อมใช้งาน โดยการชี้ proxy มาที่ <server-ip>:3128 ตัวอย่างเช่นทดสอบในเครื่องที่ติดตั้ง Squid3 ก็เพียงชี้มาที่ 127.0.0.1:3128

ส่วนท่านใดที่เคยใช้ Squid3 3.1 มาก่อน ต้องปรับ config file นิดหน่อย

จาก

...

Suricata คือ อะไร ?

Suricata เป็น open source engine สำหรับ ดักตรวจ และป้องกันการโจมตีในระบบเครือข่าย รวมไปถึงการตรวจพฤติกรรมที่ไม่เหมาะสมในองค์กร (IDS/IPS - Intrusion Detection/Intrusion Prevention System) พัฒนาโดย Open Information Security Foundation

จุดเด่นของ Suricata คือ การทำงานแบบ multi-threaded ซึ่งส่งผลให้ทำงานได้เร็วในระบบที่มีหลายหน่วยประมวลผล (multi-processor/multi-core) อย่างในปัจจุบัน

หลาย ๆ ท่านที่ทำงานด้าน infosec อาจจะคุ้นเคยกับ open source engine อีกตัวหนึ่ง คือ Snort ซึ่งทำงานในลักษณะเดียวกัน เนื่องจาก Suricata ถูกสร้างโดยถอดแบบมาจาก Snort พร้อมกับแนวคิดในเรื่อง multi-threaded matching ที่เพิ่มเข้ามา ทำให้ Suricata สามารถที่จะใช้ข้อมูล และลักษณะการกำหนดค่าต่าง ๆ ได้คล้าย ๆ หรือแทบจะเหมือนกับ Snort ซึ่งถ้าใครเคยใช้ Snort มาก่อน น่าจะทดลอง Suricata ได้ไม่ยาก (สำหรับผม ไม่เคยใช้ทั้งคู่ ก็เลยต้องอ่านเอกสารเอาเองมากหน่อย)

สิ่งที่สำคัญที่สุดในระบบ IDS/IPS คือ ข้อมูล signature rules ซึ่งแต่ละการโจมตี หรือพฤติกรรมการใช้งาน จะมีรูปแบบที่ชัดเจน สามารถตรวจจับได้ เป็นข้อดีที่ Suricata ถอดแบบมาจาก Snort จึงสามารถใช้ Snort rules ได้ รวมถึง rules ที่ใช้กับ Suricata โดยตรงที่สามารถดาวน์โหลดมาติดตั้งเพิ่มได้จาก ET (emergingthreats.net) โดยที่เราสามารถจะเพิ่ม หรือแก้ไข rules ต่าง ๆ หรือเพิ่มข้อมูลเข้าไปตามความต้องการของเราได้ แต่ทว่า rules ก็มีข้อกำหนดสัญญาอนุญาต การแก้ไขหรือดัดแปลง เผยแพร่ หรือแม้แต่นำไปใช้ในเชิงการค้า ต้องตรวจสอบสัญญาอนุญาตให้ดีก่อน

ระบบที่จำเป็นสำหรับการติดตั้ง

    เจอมากับตัวเองสด ๆ ร้อน ๆ ครับ สำหรับใครที่ใช้ Debian unstable (sid) และมีการติดตั้งระบบโดยมีการเข้ารหัสแหล่งเก็บข้อมูล (encrypted partition) และมีการเรียกใช้ key-file สำหรับถอดรหัส แทนการป้อนวลีรหัส ผ่านทางแป้นพิมพ์ ปัญหาที่เกิดขึ้นคือ สำหรับ partition ที่มีการเรียกใช้งาน key-file จะแจ้งข้อความว่า

    "No key available with this passphrase"

    เป็นอีกคราวที่ opensource network tools มีการเปลี่ยนแปลงขนานใหญ่ เนื่องจากว่า Nmap ในรุ่นนี้ มีความสามารถเพิ่มขึ้นอย่างมาก (Top 5 Improvements in Nmap 5) โดยเฉพาะความสามารถใหม่ที่ชื่อว่า NSE (Nmap Script Engine) ซึ่งทำให้ Nmap สามารถเรียกใช้งาน predefined script เพื่อให้ตรวจสอบระบบตามที่กำหนดได้ โดยรายการ script ที่มาพร้อมกับ Nmap มีแสดงไว้ที่ http://nmap.org/nsedoc/

    หลังจากที่รอมา 1 เดือนเต็ม จากวันที่ 16 กรกฎาคม 2552 ซึ่งทาง insecure.org ได้ปล่อย Nmap 5.0 ออกมา เป็นรุ่น stable ล่าสุด หลังจากรุ่น 4.76 ซึ่งการรอคอยที่จะเข้ามาของ Nmap 5.0 ใน Debian ก็เป็นการรออย่างมีความหวัง แต่ไม่ได้หวั่นใจ เพราะ Nmap maintainer (LaMont Jones) ค่อนข้าง active มาก

    ฝันร้ายของ admin ในระบบเครือข่าย อย่างหนึ่งที่เจอกันบ่อย ๆ คือ ARP poisoning หรือที่คนทั่วไปรู้จักกันในชื่อ NetCut ซึ่งปัญหานี้ เป็นช่องโหว่ของระบบเครือข่าย ซึ่งรู้โดยทั่วกันว่า หาทางแก้ได้แบบเด็ดขาดลำบากมาก เนื่องจากทางแก้ที่สมบูรณ์นั้น ต้องได้รับความร่วมมือจากผู้ใช้ด้วย

    หลังจากที่ได้ติดตั้งระบบ authentication และ log server ที่ ศูนย์หอพักตักสิลา จ.มหาสารคาม คราวนี้ พระเอกก็ยังเป็น RahuNAS (http://git.rahunas.org) อยู่ (พัฒนาเอง ไม่ใช้เอง ใครจะใช้ จริงไหมครับ) ข้อแตกต่างจากที่อื่น ๆ ที่เคยทำคือ ที่นี่มี managed switch ที่สามารถจัดการ VLAN ได้ ก็เลยสบโอกาส ที่จะทดสอบ RahuNAS กับ VLAN ซึ่งผลก็เป็นไปอย่างที่คาดหวัง คือ ทำงานได้สมบูรณ์ดี ตอนนี้ ก็น่าจะรับรองได้อย่างจริงจังว่า RahuNAS support multiple networking (multiple ethernet, VLAN) แต่ทว่า เครื่องมือคู่ใจผู้ดูแลระบบ อย่าง iptraf กลับไม่แสดง traffic ใด ๆ เลย สำหรับ vlan interface ตอนแรกยุ่ง ๆ ก็เลยไม่คิดอะไรมาก ไม่แสดงก็เอาไว้ก่อน แต่พอว่างนิดหน่อย ฉุกคิดขึ้นมา ก็เลยได้ลองค้นในอินเทอร์เน็ต (http://linux.mantech.ro/IPTraf-fix.html โดย Arian Ban น่าจะเป็นการ fix ให้ OpenSuSE) ก็เลยได้ไอเดีย

    ช่วงนี้มีข่าวคราวหลายอย่างที่น่าสนใจ หนึ่งในนั้น คือ ข่าวของความเป็นไปได้ที่จะโจมตี SHA1 digest algorithm และอย่างที่เคยได้ยินมากับ MD5 คือ ความน่าเชื่อถือของ digest algorithm ดังกล่าวก็ลดลง และจากการที่ SHA1 ได้ใช้กันอย่างแพร่หลาย และที่สำคัญ โครงการต่าง ๆ ของ Debian ก็ได้ให้ความไว้วางใจใน Web of Trust ของ OpenPGP เป็นอย่างมาก ดังจะเห็นได้จาก Secure APT จะมีการตรวจสอบ Key ต่าง ๆ อย่างเคร่งครัด ทำให้ในคราวนี้ จะต้องมีการปรับปรุง Key กันขนานใหญ่ และถ้าติดตามข่าว ทั้งใน planet.debian.org หรือที่อื่น ๆ ไม่ว่าจะเป็น Blog ของ Debian Developer/Maintainer ก็จะพบการเตรียมการเรื่องการเปลี่ยน Key กัน

    การที่เป็นผู้ใช้ Debian GNU/Linux - unstable (sid) ซึ่งมักจะมีอะไรใหม่ ๆ เข้ามาให้ทดสอบเป็นประจำ ซึ่งในคราวนี้ ก็เกิดขึ้นกับ glibc (libc6) ซึ่งมีการปรับรุ่นมาใช้ 2.9 ซึ่งมีอะไรต่าง ๆ ปรับปรุงให้ดีขึ้น ซึ่ง glibc เองเป็น library ที่มีหลาย ๆ ชุดโปรแกรมเรียกใช้งาน ทำให้การเปลี่ยนแปลงในบางเรื่อง ส่งผลกระทบกับผู้ใช้เป็นวงกว้างเช่นกัน ครั้งนี้ เจอกับตัวเอง และเพื่อน ๆ ที่ใช้งาน Debian/Ubuntu ที่มีการใช้ glibc รุ่นดังกล่าว คือ อาการที่เกิดกับ DNS Lookup ที่ปกติ เราจะทดสอบด้วยคำสั่ง nslookup หรือ host ซึ่งกรณีนี้ เราจะได้รับการตอบรับเหมือนปกติดี แต่ปัญหาอยู่ตอนที่จะเข้าใช้งาน Web หรือ FTP หรือ Services อื่น ๆ ที่เรียกใช้โดยชื่อ domain ซึ่งอาการคือ จะเข้าได้บ้าง ไม่ได้บ้าง

    ตัวผมเองใช้งาน Fujitsu Lifebook S6410 ร่วมกับ Debian GNU/Linux (unstable - sid) มาก็เกือบ ๆ จะครบขวบปีแล้ว

    Pages

    Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
    ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้