เมื่อวันพุธที่ 25 กุมภาพันธ์ ที่ผ่านมา ได้มีโอกาสไปร่วมงานเสวนาและสัมมนาเชิงปฏิบัติการ DNSSEC เป้าประสงค์หลักของผู้จัดคือ ต้องการกระตุ้นผู้ที่เกี่ยวข้องกับการให้บริการอินเทอร์เน็ต บริการธุรกรรมต่างๆ บนอินเทอร์เน็ต รวมไปถึงผู้ให้บริการโฮสติ้ง ตระหนักและเห็นความสำคัญของการรักษาความปลอดภัยระบบ Domain Name System (DNS) ซึ่งก็คือ DNS Security Extensions หรือเรียกสั้นๆ ว่า DNSSEC นั่นเอง นอกจากนั้นยังต้องการผลักดันให้เกิดการนำ DNSSEC ไปใช้งานอย่างจริงจังอีกด้วย
ถ้ายังพอจำได้ เมื่อปีที่แล้ว ข่าว DNS Cache Poisoning ดังเปรี้ยงปร้างไปทั่วโลก Dan Kaminsky เองก็เรียกร้องให้รีบนำ DNSSEC มาใช้งานโดยเร็วที่สุด
รายละเอียดทางเทคนิคลึกๆ ผมเองยังไม่ค่อยเข้าใจมากนัก แต่โดยหลักการก็คือว่า ถ้ามีการ implement DNSSEC ในระบบ DNS แล้วนั้น การถาม-ตอบ (query-response) ชื่อโฮสต์จะมีขั้นตอนและวิธีการเพิ่มมากขึ้น เพื่อตรวจสอบและยืนยันกันไปยืนยันกันมา (โดยเฉพาะจากผู้ตอบไปยังผู้ถาม) ว่า เอ้ย! ใช่แล้วนะ นี่ฉันเจ้าของโดเมนเนมที่เธอถามมา ตัวจริงเสียงจริง เพราะฉะนั้นมั่นใจได้เลยว่า ข้อมูลที่ฉันตอบเธอกลับไปไม่หลอกไม่ลวงแน่นอน
แนวเทคนิคของ DNSSEC คิดว่าหาอ่านเองได้ ไม่น่ายากนะครับ (ผมก็เข้าข่าย ต้องทำความเข้าใจอีกเยอะ เพราะคงได้ใช้แน่ๆ)
ประเด็นคำถามติดใจก็มีนิดหน่อย เกี่ยวกับผลกระทบของ overhead ที่เกิดขึ้น การบริโภคทรัพยากรจะเพิ่มขึ้นมากน้อยแค่ไหน ทั้งในแง่ของ server resources (cpu, memory, etc.) รวมไปถึง internet bandwidth
ซึ่งภายในงานวันนั้น วิทยากรทั้งสองท่าน ได้แก่ Olaf M. Kolkman จาก NLnet Labs และ Patrik Wallström จาก .SE (คนหลังนี่เป็นหนึ่งในผู้ implement DNSSEC ของ .SE เป็นประเทศแรกในโลก)ได้นำเสนอผลการทดสอบ กราฟแสดงผลเปรียบเทียบระหว่างใช้และไม่ใช้ DNSSEC โดยสรุปว่า consumption ต่างๆ ที่เพิ่มขึ้นนั้นไม่มีนัยสำคัญ เล็กน้อยมากเมื่อเปรียบเทียบกับความปลอดภัยที่ได้รับเมื่อใช้ DNSSEC (ที่ CircleID ก็มีบทความเกี่ยวกับประเด็นนี้ และก็สรุปแบบเดียวกัน)
โดยส่วนตัว ผมคงต้องใช้เวลาศึกษา [อีกแล้ว] ซักแป๊บ ก่อนจะลงมือกระทำการใดๆ ลงไปกับระบบ
ในประเทศไทย หวังว่า DNSSEC คงจะไม่เป็นนวนิยายเล่ายาว เล่านาน เล่าจนผู้ฟังงวยงง พากันเลิกฟัง แบบ IPv6 หรอกนะ ฝั่งคนเล่าเองหรือก็เหนื่อย จะเลิกเล่ากันซะหมดแล้ว -- สงสัยต้องมีซักกรณีหนักๆ ที่โดน hacker เล่นงานผ่านทาง dns รับรอง DNSSEC บูมบะระฮึ่มแน่ๆ
สุดท้ายต้องขอขอบคุณผู้จัด THNIC, UniNet (sponsor), intERLab/AIT รวมถึงผู้มีส่วนเกี่ยวข้องทุกท่าน มา ณ ที่นี้ด้วยครับ
[อ่าน DNSSEC จาก Pensri's Blog]
ปล. ผมเคยเจอปัญหา name server resolve โดเมนภายใต้ .se ได้บ้างไม่ได้บ้าง ซึ่งส่วนใหญ่จะไม่ได้ ตอนนั้นสาเหตุเพราะว่าตอนที่ compile BIND9 ไม่ได้ configure แล้วใส่ --with-openssl เข้าไปด้วย
สัปดาห์นี้เจอ open source/free softwares สองสามตัวน่าสนใจ แต่ต้องเจียดเวลาและออกแรง setup กันหน่อย ว่าเหมาะจะนำมาใช้กับงานรึเปล่า
- PacketFence -- Network Access Control (NAC) system
- Strata Guard Free -- feature-rich intrusion detection/prevention system (IDS/IPS)
- Net Tools -- cutting-edge security and network monitoring software for the Internet and Local Area Networks
ตัว Net Tools นั้นเจ๋งมาก ลงบน Client ที่เป็น Windows (ผมลองแล้ว) ว่ากันว่า เป็นเครื่องมืออรรถประโยชน์แบบ Swiss Army Knife ประมาณนั้นเลย
ภาพประกอบ: http://www.swiss-army-knife-wenger.co.uk
Install Nginx
Posted In:
nginx
.
By taladnam
ขั้นตอนการติดตั้ง nginx จาก source บน Debian Linux
ติดตั้งสิ่งที่จำเป็นก่อน
apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
ดาวน์โหลด source
wget -c http://sysoev.ru/nginx/nginx-0.6.35.tar.gz
ระเบิดไฟล์ source
tar -zxvf nginx-0.6.35.tar.gz
cd nginx-0.6.35
configure
./configure --with-http_ssl_module --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-debug
make
make
make install
สร้างไฟล์ initscript: /etc/init.d/nginx
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
DAEMON=/usr/local/nginx/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
กำหนดให้ start/stop เมื่อเวลา boot/shutdown เครื่อง
update-rc.d nginx star 20 2 3 4 5 . stop 20 0 1 6 .
เครดิต: Mr-San.com : จอมมาร Blog [ต้นฉบับ]