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/

Facebook Comments Box

iBlog2 Theme

iBlog2 Theme

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

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

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

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

Facebook Comments Box

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

img_9975img_0022

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

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

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

Facebook Comments Box

วาเลนไทน์

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

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

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

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

Facebook Comments Box

Web Security Upload File

Web Security

http://zone-h.org ยังเคยโดน hack แล้วจะเอาอะไรกับเว็บไทย

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

วันนี้มีเรื่อง web security มาพูดกันสักนิดนึงครับ 98% ของการ hack web ในปัจจุบัน
มาจากความผิดพลาดของ web application หรือพูดกันแบบบ้านๆ ก็คือ program
ที่เขียนมีจุดอ่อน ทำให้ hacker สามารถใช้ช่องโหว่เข้ามาโจมตีและลักลอบขโมยข้อมูล
ไปได้ ไม่ว่าจะเป็นวิธี injection, cross site script ที่หนักสุดก็คือ upload php shell ..
Injection คือการใช้จุดอ่อนในการเขียน sql เข้ามากระทำต่างๆ กับ database
Cross site script คือการส่ง parameter ต่างๆ ที่สามารถทำงานที่ต้องการผ่าน script
PHP Shell คือ file php เพียง 1 file ที่ upload ขึ้นไปแล้วสามารถทำอะไรก็ได้บน server

สำหรับผมเองจะ stick กับเรื่องพวกนี้มาก เพราะว่าถ้าปล่อยให้หลุดไป ปัญหามันแก้กัน
ลำบาก ไม่รู้ว่ามีคนแอบเอา PHP Shell ไปวางไว้ตรงไหนบ้าง อะไรแบบนี้ file บน server
มีเป็นจำนวนมาก ไล่หาคงไม่เจอแน่ๆ ซึ่งถ้าโดนเข้าไปแล้ว ต่อให้ลง server ใหม่ก็ไม่หาย
เว็บไทย ส่วนใหญ่ไม่ค่อยสนใจเรื่องพวกนี้ ทำให้เว็บใหญ่ๆ ดังๆ หลายที่มีข่าวว่าโดน hack ..

สำหรับท่านที่เป็นโปรแกรมเมอร์ ผมมีวิธีแนะนำในการตรวจสอบและป้องกันง่ายๆ ก่อนที่จะ
upload file ขึ้น server ให้ test ต่างๆ ประมาณนี้ ก็จะทำให้มั่นใจว่าปลอดภัยระดับหนึ่ง ..
1.กรองการส่งค่าแบบ GET เข้ามาทาง URL และอย่าลืมทำการ addslashes() ค่าที่รับมา
ก่อนทุกครั้ง เพื่อป้องการการ injection และการ cross site script
2.อันนี้สำคัญมากคือพวกโปรแกรมที่ปล่อยให้ upload file ขึ้นมาบน server ได้ เท่าที่พบ
บ่อยที่สุด ก็คือพวกประกวดรูปภาพ แล้วให้คนมาโหวต ผมยังไม่เห็นเว็บไหนที่โกงไม่ได้
เพราะว่าพวกที่จะ hack ก็จ้องอยู่แล้วว่าเมื่อไรจะมี event พวกนี้ จะได้ส่งไปโหวตบ้างได้ของ
วิธีการปั่นโหวต ก็มีสารพัดวิธี แล้วแต่ใครถนัด แต่ก็ยังมีอีกพวก ที่ไม่ชอบปั่นแต่ hard core
คือ hack เข้าไปที่เว็บนั้นๆ เลย วิธีการก็โดยการพยายาม upload PHP Shell ขึ้นไป
ในเมื่อเว็บมีที่ให้ upload อยู่แล้ว การจะ upfile ขึ้นไป ก็ไม่ใช่เรื่องยากเท่าไรนัก ในมุมมอง
ของโปรแกรมเมอร์ อาจจะคิดว่าทำทุกอย่าง กันทุกอย่างแล้ว จะ upload เข้ามาได้อย่างไร
แต่อย่าลืมว่า hacker คือคนที่รู้และมีประสบการณ์ เรื่องพวกนี้ดีกว่า จุดอ่อนและวิธีการ
มีสารพัดวิธี แล้วแต่ใครถนัด ขนาดใช้ MySQL upload file ยังสามารถทำได้เลย ..
ที่จะแนะนำก็คือ ให้เชคให้ละเอียดว่า file ที่ให้ upload เป็น images ที่ไม่เป็นอันตราย
ไม่ใช่ check แค่ extensions หรือใช้ $_FILES เพราะว่าพวกนี้ปลอม header เข้ามาได้
ให้ใช้ getimagesize() แทนจะแน่นอนกว่า สำหรับตัวอย่างสามารถหาดูได้ที่
URL :
http://php.net/manual/en/function.getimagesize.php

ปล.วันนี้มาเขียนแค่นี้ก่อนครับ วันหลังเดี๋ยวมาเขียนต่อ รอติดตามกันนะครับ 🙂

Facebook Comments Box

มนต์รัก นักกลอน

สมัยก่อนเคยเป็นคนเจ้าบทเจ้ากลอน แต่ลืมๆ ไปหมดละ ไว้รวมรวมได้
จะเอามาลงครับ โดยเฉพาะที่แต่งให้หญิงนี่อย่างคม มีเพียบ ..

อันนี้แต่งล่าสุดสมัยเรียน วิศวะ ลาดกระบัง

จบมอปลาย มีจุดหมาย ที่ใฝ่ฝัน ต้องผลักดัน ตัวเอง ให้สดใส

ต้องมีหน้า มีตา กว่าใครใคร เรียนอะไร จึงจะเด่น กว่าทุกคน

จึงคิดว่า น่าจะเรียน วิศวะ มุมานะ พากเพียร เรียนฝึกฝน

คะแนน Ent ออกมา มากเหลือล้น แข่งกับคน อื่นได้ สบายใจ

ฉันจึงเลือก วิศวะ ลาดกระบัง ด้วยมุ่งหวัง เรียนสนุก สุขสดใส

ชื่อเสียงก็ ดีมีค่า กว่าที่ใด ถ้าเรียนไป น่าจะดี มีงานทำ

เข้ามาเรียน ที่นี่ได้ ดังใจคิด ทุ่มชีวิต ละอบาย ไม่ถลำ

เพื่อนก็ดี น้ำใจดี ไมตรีงาม กิจกรรม ฉันร่วมด้วย ช่วยทุกงาน

แล้วเทอมแรก ก็ผ่านไป ในไม่ช้า เพื่อนบอกว่า เอ็งเก่ง เอ็งสร้างสรร

ฉันก็แสน สดใส ใจเบิกบาน อีกไม่นาน คงจบได้ ด้วยใจปอง

พอเทอมสอง ฉันเริ่ม ทำงานอื่น แสนสดชื่น รื่นรมณ์ใจ ไม่เศร้าหมอง

เรียนก็ดี งานก็เด่น เป็นครรลอง ใครเขามอง ก็ชื่นชม นิยมเรา

ขึ้นปีสอง เทอมหนึ่ง ซึ่งฉันคิด ว่าชีวิต เท่านี้หนา น่าอดสู

ยังมีอีก หลายวิชา น่าจะรู้ จะมัวอยู่ อย่างนี้ไป ทำไมกัน

เรียนให้ดี ไม่ว่าใคร ก็ทำได้ เกรดมากมาย จบออกไป ใช่สุขสันต์

น่าจะหา ประสบการณ์ ไปด้วยกัน ช่วยผลักดัน ตัวฉันไป ให้มั่นคง ..

Facebook Comments Box

JailBreak iPhone 3GS True Move

JailBreak iPhone 3GS True Move

JailBreak iPhone 3GS True Move with Blackra1n

สวัสดีครับ ไม่ได้พูดถึง iPhone มานาน วันนี้มีโอกาสมาเขียนไว้ให้เพื่อนๆ
ที่ search เข้ามาอ่านเกี่ยวกับเรื่อง JailBreak iPhone 3GS ของ True Move
ได้อ่านกันครับ สำหรับ iPhone 3GS ที่ออกมาหลัง Week 40 นั้นตัว Blackra1n
เองยังไม่สามารถ JailBreak ได้สมบูรณ์แบบ คือสามารถ JailBreak ได้
ลง Cydia ได้ แต่ว่าเวลา boot จะไม่สามารถ boot ได้ ต้องต่อกับคอม ที่มี
Blackra1n อยู่ แล้วใช้ Blackra1n make it ra1n อีกครั้ง ..

สำหรับการดูว่า iPhone 3GS ของท่าน ผลิต Week  ไหน ให้ดูที่ตัวเลขลำดับ
ที่ 4-5 ของ Serial Number (ที่ผมขีดสีแดง) จากรูปของผมเป็น Week 45
ซึ่งยังไม่สามารถใช้ Blackra1n ทำการ JailBreak ได้สมบูรณ์ ก็รอกันต่อไป ..

ส่วนถ้าของใครผลิต ก่อน Week 40 ก็สามารถทำการ JailBreak กันได้เลยครับ
เพียง download Blackra1n มาแล้วคลิก make it ra1n ก็เป็นอันเสร็จสิ้นครับ ..

วิธีการ Jailbreak สามารถอ่านได้จาก กระทู้นี้ของคุณโรจน์ ได้เลยครับ
URL : http://www.smart-mobile.com/forum/viewtopic.php?f=153&t=175667

โดยส่วนตัวแล้วถ้าเครื่องคุณหลัง Week 40 ผมไม่แนะนำให้ Jailbreak นะครับ
เพราะว่าถ้าเกิดไปแบตหมด หรือต้องการ reboot เครื่อง จะไม่สามารถทำได้
ต้องไปต่อกับคอม ที่มี Blackra1n แล้วทำการ make it ra1n อีกรอบ ..
แต่ถ้าต้องการใช้งานโปรแกรมบน Cydia อันนี้ก็ต้องยอมเสี่ยงกับตรงนี้ครับ
ตอนนี้โปรแกรมที่มีอยู่ใน App Store ก็เพียงพอสำหรับการใช้งานของผมละ 🙂

Facebook Comments Box

OmniGraffle for Mac

OmniGraffle

OmniGraffle http://www.omnigroup.com/

สวัสดีครับ ไม่ได้ update blog มาหลายวัน เพราะว่าวุ่นๆ แล้วก็ไม่ค่อยมีเรื่องจะเขียน
วันนี้พอดีต้องเขียน Network Diagram ก็เลยนึกถึง OmniGraffle ครับสามารถ
download ได้จาก URL ด้านบนครับ ผมเคยใช้สมัย version 4.xx ตอนนี้เป็น 5.2.1
แล้วครับ หลายๆ ส่วนยังเหมือนเดิม เพียงแต่ stencils ที่เกี่ยวกับ server ให้มาน้อย
แต่ตรงนี้ไม่ต้องเป็นห่วงครับ สามารถไป download stencils เพิ่มเติมมากมายได้จาก
http://graffletopia.com/ มี stencils ให้เลือกมากมายหลายหมวดหมู่ครับ ..

OmniGraffle เมื่อเราวาดเสร็จแล้วสามารถ export ได้หลาย format สามารถ
ใช้งานร่วมกับ Visio ของทาง M$ ได้ ใครที่ใช้ Mac แล้วต้องการทำงานเกี่ยวกับ
เขียน Flow Chart, Network Diagram, แผนผังต่างๆ แนะนำครับดีมาก 🙂

Facebook Comments Box

Engineering Thailand

Engineering Thailand

Meinhardt Engineering Thailand.

วันนี้มีเว็บมาแนะนำครับ สำหรับท่านที่ต้องการงานทางด้านวิศวกรรม
Consulting Engineer, Design Engineer, Design Consultant, LEED
สามารถเข้าไปหาข้อมูล รายละเอียดต่างๆ ได้ภายในเว็บครับ ..

URL : http://www.meinhardt.net/

Facebook Comments Box