Anti DDoS

ไม่ได้เขียน blog มาหลายวัน เพราะว่าช่วงนี้ งานเข้าหนักเหมือนกัน วุ่นทั้ง week
วันนี้ก็เลยมาเขียนเล่าประสบการณ์เกี่ยวกับการดูระบบ Web Server ขนาดใหญ่ๆ
ว่าเราจะสามารถป้องกัน DDoS Attack (Distributed Denial-of-Service Attack)
ได้อย่างไร ต้องออกแบบ Infrastructure ของระบบ Network และ Server อย่างไร
และมีวิธีการ tuning Web Server อย่างไรให้รองรับ load, connection และ BW
จำนวนมากที่เข้ามาพร้อมกันในเวลาเดียวกันได้อย่างไร โดยที่ไม่กระทบต่อการใช้งาน
ของผู้ใช้งานจริงๆ และเว็บสามารถเข้าถึงได้เร็วเหมือนเดิม ..

ส่วนแรก ในส่วนของ Network Infrastructure กันก่อน คนทั่วไปมักคิดว่าการที่
มี Firewall มาวางหน้าสุด จะช่วยป้องกันการ attack ต่างๆ ได้ ซึ่งในความเป็นจริง
แล้ว Firewall ปกติที่ไม่ใช่ IDS, IPS จะไม่สามารถทำอะไรตรงนี้ได้มากนัก หน้าที่
ของมันก็แค่ทำการแบ่ง zone ของ server ออกจากกัน ภายในเท่านั้น ..
Firewall ก็คือ hardware ที่ spec ไม่ได้สูงอะไรมากมายนัก server หลายๆ ตัวที่ใช้กัน
ยังมี spec สูงกว่า Firewall ก็คือการเอาพวก Linux ที่ทำการ optimize แล้วมาทำ
ซึ่งอาจจะออกแบบให้มี GUI ที่ใช้งานง่าย ซึ่งจริงๆ มันก็คือ iptables, IPFW นั่นเอง
อีกอย่างคนทั่วไปมองว่า Firewall กันการโดน hack ได้ อันนี้ก็ยิ่งไม่เป็นความจริง
เพราะว่าการ hack สมัยนี้กว่า 98% มาจากความผิดพลาดของ web application
ตรงส่วนนี้ถ้าเป็น IPS ก็จะสามารถตรวจสอบได้ในระดับนึง แต่ก็อย่างที่กล่าวไว้ข้างต้น
พวกนี้ก็เป็น hardware ตัวนึงธรรมดา ถ้าจะให้รับ traffic หนักๆ มากพวกนี้ก็ทำงาน
ไม่ไหวเหมือนกัน ยิ่งพวกที่เป็น Box ขายกัน ราคาแต่ละยี่ห้อไม่ต้องพูดถึง แพงมาก
ซึ่งแนวทางออกของเว็บใหญ่ๆ ของโลกเช่น Google, Facebook, Yahoo, YouTube
จะเน้นการกระจาย load กระจาย traffic ออกไปให้ได้มากที่สุด โดยเน้นจำนวน server
ให้มีจำนวนมากเข้าไว้ แล้วก็ทำการ tuning kernel และทำ Firewall limit packet
ภายใน server แต่ละเครื่อง โดย hop ข้างหน้ามีเพียง Load Balance เป็นตัวแจก load
เท่านั้น ไม่ได้มาผ่านอะไรหลายๆ hop ทำให้ผู้ใช้งานเข้าถึงได้รวดเร็ว และป้องกันปัญหา
เรื่อง DDoS Attack ได้เป็นอย่างดี .. จากประสบการณ์ที่เคยคุยกับพี่กุ๊ก ที่ดูระบบเว็บ
ขนาดใหญ่มากในต่างประเทศ (ไม่ขอเปิดเผยชื่อเว็บ) เค้าเจอ DDoS Attack มาทีนึง
traffic 4GB/s ซึ่งถ้าเป็นบ้านเราคงพังทั้ง ISP แต่ระบบเค้าก็สามารถรับได้ เพราะว่ามี
BW ขาเข้าที่พอเพียง และมีจำนวน server หลายพันเครื่อง ไม่ต้องใช้ Box ราคาแพง
ต่างๆ ที่หลอกขายกันอยู่ในปัจจุบัน ..

ส่วนที่สอง ในส่วนของ Web Server โดยปกติถ้าเราลง OS ธรรมดา ลง Software ปกติ
มักจะเป็นค่า default ที่ออกแบบมาให้ใช้ได้กับทุกเครื่อง ตรงนี้บางทีเครื่องเรา spec สูง
เราก็ต้องปรับแต่งให้เข้ากับ hardware ของเรา เรียกว่าต้องรีดประสิทธิภาพให้ได้มากที่สุด
ซึ่งเรื่องพวกนี้ต้องทดลองปรับแต่ง tuning กัน ยิ่งทำมากยิ่งมีประสบการณ์มาก เริ่มตั้งแต่
tuning ค่าต่างๆ ของ Web Server เช่น Apache ให้ทำงานได้มีประสิทธิภาพ เหมาะกับงาน
ที่ทำ  tuning sysctl ที่เป็น parameter ของ kernel ตรงนี้ ต้อง advance นิดนึง เพราะมีผล
อย่างมากในการรีดพลังของ OS และ hardware ที่เรามีอยู่ ตรงนี้ผมจะพูดละเอียดอีกที ..
ตรงส่วนของ Web Server นั้น สมัยนี้มี หลายๆ ตัวที่ทำออกมาแล้วทำงานเบา กว่า Apache
เช่น lighttpd , nginx, cherokee, zeus และอื่นๆ อีกหลายๆ ตัว แต่การนำมาใช้งาน
ต้อง test ให้ละเอียดรอบคอบก่อนว่าจะมาใช้แทน Apache ได้ทั้งหมด แล้ว benchmark
ดู performance เทียบกับระบบเดิมว่า ดีกว่าขนาดไหน ในด้านไหนบ้าง ค่อยเปลี่ยนมาใช้ ..

ส่วนที่สาม ส่วนนี้สำคัญมากที่สุด ก็คือส่วนของ web application เอง ซึ่งมีเทคนิคต่างๆ
เป็นจำนวนมาก ให้ code ที่เขียนทำงานได้เบา และมีประสิทธิภาพ ตรงส่วนนี้ เวลาเขียน
ต้องทำการทดสอบ ตรวจสอบ ว่าทำงานหนักไหม มี query ที่ทำให้ DB หนักหรือเปล่า
ตรงนี้สำคัญมาก โดยเฉพาะเว็บใหญ่ๆ ที่คนเข้าใช้งานจำนวนมาก ถ้า code ทำงานหนัก
ก็จะทำให้เข้าถึงได้ช้า server มี load ตรงนี้ก็ต้องหาวิธีทดสอบและ benchmark โปรแกรม
ก่อนที่จะขึ้นใช้งานจริง หรือถ้าใช้งานไปแล้วมีปัญหา ก็ต้องหา solutions ในการแก้ไข
ที่จะทำให้มีประสิทธิภาพที่สุดต่อไป และเลือกใช้เทคโนโลยี่ที่เหมาะสม ..

ที่พูดมาทั้งหมด ก็เป็นวิธีการเบื้องต้นที่จะทำให้เว็บมีประสิทธิภาพ เข้าถึงได้เร็ว และป้องกัน
DDoS Attack และป้องการการโจมตีในรูปแบบต่างๆ ..
หัวใจหลักของเว็บ ก็คือ “ผู้ใช้เข้าถึงข้อมูลที่ต้องการได้เร็ว และข้อมูลมีคุณภาพตรงตามต้องการ”

ข้อมูลอ้างอิง  http://highscalability.com/

iBlog2 Theme

iBlog2 Theme

iBlog2 Theme เปลี่ยน theme ใหม่สักหน่อย เบื่อของเก่า 🙂

วันนี้ได้ฤกษ์เปลี่ยน theme ใหม่สักที ก็ชอบ theme ที่เรียบง่าย สะอาด ดูดี
ก็เลยเลือก iBlog2 theme มาใช้ เดี๋ยวมีเวลาว่างค่อยปรับแต่งเพิ่มเติม ..

หลังจากที่วุ่นๆ กับงานมาหลายวัน ชนิดที่ว่าแทบไม่ได้พักผ่อน เพราะปัญหา
ต่างๆ เข้ามาเยอะมาก บางอย่างก็ out of control ก็ต้องอาศัยช่วยกันแก้ไข
ตอนนี้ก็เริ่มดีขึ้นหมดละ มีเวลามาหาความรู้ มาคิดอะไรใหม่ๆ มา R&D และ
มาทำงานอื่นๆ ที่คิดไว้ว่าจะทำเสียที (หวังว่าจะนิ่งได้ตลอดไปนะ) ..

ปล. สำหรับท่านที่ใช้ smsgateway ของ PacketLove.com ตอนนี้ถ้ามีปัญหาอะไร
รบกวนแจ้งทางผมได้โดยตรงครับ ที่ ton [at] packetlove.com หรือถ้ารีบจริงๆ
ก็โทรมา 0868885195 ได้โดยตรงครับ ..

ไออุ่น 4.2 แม่แจ่ม LOMO Version

img_9975img_0022

ไปโครงการไออุ่น 4.2 ที่โรงเรียนบ้านมะลอ อ.แม่แจ่ม จ.เชียงใหม่มาครับ เมื่อวันที่
5-7 กุมภาพันธ์ ที่ผ่านมา เพิ่งมามีโอกาสย่อรูป ก็เลยเพิ่งลงครับ งานนี้ถ่ายมาน้อย
เลยลองเล่น plugin LOMO ของ PS ดูครับ ภาพที่ออกมา ก็ดูแปลกดีอีกแบบ ..

โครงการไออุ่นเป็นกิจกรรมที่เกิดจากมูลนิธิรักษ์ไทยและชมลมชมไทย จัดกันมาต่อเนื่อง
เป็นโครงการที่ดี มีประโยชน์มาก ช่วยเหลือเด็กๆ ในท้องที่ห่างไกลทุรกันดาร ในหลายๆ
ด้าน ไม่ว่าจะเป็นด้านสิ่งก่อสร้าง ด้านสุขภาพอนามัย ด้านการศึกษา รวมไปถึงกิจกรรม
สร้างความสามัคคี สร้างความคิดสร้างสรร ให้กับเด็กๆ ได้ร่วมกิจกรรม ..

สำหรับรายละเอียดเพิ่มเติม รูป และเรื่องราวเพิ่มเติมต่างๆ สามารถเข้าไปดูได้ที่เว็บ
ของทางชมลมชมไทย http://www.chomthai.com/forum/

วาเลนไทน์

ของขวัญวาเลนไทน์

หาซื้อ ของขวัญวาเลนไทน์ ให้กับคนที่คุณรัก ได้ที่ Weloveshopping.com/gift

สวัสดีเดือนแห่งความรัก เดือนที่มีวันวาเลนไทน์ วันที่ 14 กุมภาพันธ์ วาเลนไทน์ปีนี้
ตรงกับวันอาทิตย์ที่ 14 กุมภาพันธ์ เป็นช่วงวันหยุดพอดี พาคนที่คุณรัก ไปเที่ยวพักผ่อน
หรือไป dinner ที่ไหนสักแห่ง ที่คิดว่าน่าจะเป็นที่ที่ทำให้เค้าประทับใจ ก็น่าจะดี ..
สำหรับคนที่กำลังมองหาของขวัญให้กับคนรัก ก็ลองแวะเข้าไปเลือกชมกันได้
มีของขวัญที่เหมาะที่จะให้คนที่คุณรัก มากมายให้เลือกซื้อครับ ..

URL : http://www.weloveshopping.com/gift/