แชร์ประสบการณ์เว็บไซต์โดนแฮก ถ้าคุณไม่อยากตกเป็นเหยื่อ โปรดอ่าน!

แชร์ประสบการณ์เว็บไซต์โดนแฮก ถ้าคุณไม่อยากตกเป็นเหยื่อ โปรดอ่าน!

ไม่ว่าจะเป็นผู้ประกอบการหน้าใหม่ และหน้าเก่า หลายคนคงเคยเจอปัญหาเว็บไซต์องค์กรโดนแฮก ทำให้ลูกค้าเข้าเว็บไซต์ไม่ได้ ส่งผลให้ลดความน่าจะเชื่อถือขององค์กรลง และยังก่อเกิดปัญหาตามมาอีกมากมาย ซึ่งปัญหาเว็บไซต์โดนแฮกไม่ควรที่จะเป็นปัญหาจุดเล็กๆที่องค์กรไม่ใส่ใจ แต่มันควรจะเป็นปัญหาใหญ่ที่องค์กรควรจะใส่ใจ เพราะหากเกิดขึ้นบ่อยๆกับเว็บไซต์ขององค์แล้ว จะทำให้ไม่มีคนเข้าใช้งานเว็บไซต์ กระทั่งถูกลดการจัดอันดับบนหน้าการค้นหา (Search Engine) เลยก็ว่าได้

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

อาการแบบไหนที่เรียกว่า “โดนเข้าแล้ว”

อาการแรกเป็นอาการที่มันจะเจอบ่อยที่สุด คือ เข้าหน้าหลักของเว็บไซต์แล้วแสดงผลหน้าอื่นที่ไม่ใช่หน้าปกติ แล้วเขียนข้อความว่า Hacked by xxxx หรือเขียนข้อความอื่นๆ เช่น เชิญชวนมาขายตรง, เชิญมาเล่นการพนัน และในรูปแบบอื่นๆ

อาการต่อไป เรียกค่าไถ่ คือ คุณแขกไม่ได้รับเชิญเค้าเอา ฐานข้อมูล ของเว็บไซต์เราไป แล้วลบฐานข้อมูลออกไป ทำให้ไม่สามารถเข้าสู่เว็บไซต์ได้ เจอ Error ต่างๆนาๆ ซึ่งในที่นี้ผมจะไม่ได้กล่าวถึงว่าเป็น Error แบบไหน แต่พอให้ทางทีมงานรับทำเว็บไซต์เช็คให้ก็เจอข้อความในฐานข้อมูลว่า “Send 0.02 BTC to this address and contact this email with your ip or db_name of your server to recover your databases! Your DB is Backed up to our servers! “

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

และยังยังมีอีกหลากหลายอาการ ซึ่งมีเยอะมาก เช่น กดเข้าเมนูต่างๆไม่ได้ เนื่องจากแฮกเกอร์แอบเข้าไปแก้ไขลิ้งต่างๆของเว็บไซต์ออก แต่โดยส่วนใหญ่แล้วหลังจากบุคคลเหล่านี้สามารถแฮกเว็บไซต์เราได้แล้วมักจะใส่เครดิตไว้ (Hacked by : xxx) เหมือนกับสุนัขที่ฉี่ไว้เพื่อบ่งบอกถึงอาณาเขตของตนที่เคยไปมา ฉะนั้น เจ้าของเว็บไซต์ควรหมั่นเข้าเว็บไซต์ตัวเองเพื่อเช็คว่าเว็บไซต์ของเรานั้นยังทำงานถูกต้องอยู่

มาดูกันว่าคุณแขกไม่ได้รับเชิญเขาเข้ามาด้วยวิธีไหนบ้าง และเราจะป้องกันได้อย่างไร

กว่า 90% ที่โดนแฮก คือ การตั้งรหัสผ่านที่ไม่ปลอดภัย ดังนั้นควรตั้งรหัสผ่านที่มีความปลอดภัย คาดเดาได้ยาก ประกอบด้วย ตัวเลข ตัวอักษรใหญ, เล็ก และตัวอักษรพิเศษ และยิ่งยาวยิ่งดี ในที่นี้ผมจะนำเสนอวิธีการที่แฮกเกอร์มักใช้ และวิธีการป้องกันเบื้องต้น ซึ่งวิธีการป้องกันอาจจะต้องอาศัยนักพัฒนาเว็บไซต์ที่เก่งช่วยปรับตั้งค่าให้

Brute Force ลองเดาสุ่มรหัสไปเรื่อยๆ

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

วิธีการป้องกัน

  • ควรตั้งรหัสผ่านให้ปลอดภัยมากที่สุด ยาวที่สุดเท่าที่จะทำได้ หรือใครยังไม่รู้ว่าควรตั้งยังไง แนะนำให้ไปอ่านบทความนี้ แนะนำวิธีการป้องกันจากการบุคคลไม่พึงประสงค์
  • เว็บไซต์ ควรมี URL เข้าระบบหลังบ้านที่คาดเดาได้ยากเช่นกัน ยกตัวอย่าง เช่น จาก /admin -> /nimdaonly
  • บล็อค IP ไม่ให้ใช้งานชั่วคราวหากล็อคอินผิดเกิน 3 ครั้ง
  • ตั้งค่าให้ URL เข้าระบบหลังบ้าน เข้าได้เฉพาะ IP ที่กำหนด เช่น บ้าน, ออฟฟิต สำนักงาน

อัพโหลดไฟล์ Shell Script เพื่อควบคุมเครื่อง Server

เว็บไซต์ของหลายๆคน อาจจะอนุญาตให้บุคคนภายนอกสามารถอัพโหลดไฟล์ขึ้นมาได้ นั่นหมายถึง เหล่าบรรดาแขกไม่ได้รับเชิญ อาจจะอัพโหลดไฟล์ที่ไม่พึงประสงค์ และเรียกใช้ภายหลังเพื่อควบควมเครื่อง Server ได้ หลังจากควบคุมเครื่อง Server ได้ แฮกเกอร์เหล่านี้ก็จะดำเนินการอย่างที่ได้กล่าวไว้ข้างต้น เช่น เปลี่ยนหน้าเว็บไซต์, แอบลบข้อมูล หรือขโมยข้อมูลแล้วลบเพื่อเรียกค่าไถ่

วิธีการป้องกัน

  • ควรให้ทางนักพัฒนาเว็บไซต์ป้องกันอัพโหลดไฟล์ที่ไม่พึงประสงค์อันขึ้นมา เช่น ไฟล์จำพวก PHP เป็นต้น
  • ระบบควรเปลี่ยนชื่อไฟล์ทุกครั้งที่อัพโหลดขึ้นมา เพื่อป้องกันหากโดนอัพโหลดไฟล์ขึ้นมา แต่ก็ไม่สามารถใช้งานได้เพราะชื่อโดนเปลี่ยน
  • ป้องกันโดยเขียนคำสั่งไม่ให้ใช้งานไฟล์ PHP ได้ผ่านทาง URL โดยตรง

ช่องโหว่ผ่านปลั๊กอินทั่วไป

เว็บไซต์หลายๆเว็บไซต์มักจะใช้ Framework เป็นพื้นฐาน เช่น WordPress, Magento, Laravel ซึ่งมีปลั๊กอินที่ช่วยอำนวยความสะดวกแก่ผู้ใช้งาน แต่ก็ใช่ว่าปลั๊กอินทุกตัวจะมีความปลอดภัย เพราะในบางครั้งนักพัฒนาก็ไม่ได้คิดถึงสิ่งเหล่านี้ ทำให้แฮกเกอร์เข้ามาจากตรงนี้ได้

วิธีการป้องกัน

  • หมั่นอัพเดทปลั๊กอินให้เป็นเวอร์ชันที่ใหม่เสมอ
  • อัพเดท Framework เ่น WordPress ให้เป็นเวอร์ชันที่ใหม่เสมอ

แนวทางการป้องกันไม่ให้ตกเป็นเหยื่อ

รหัสผ่าน

ไม่ว่าจะเป็นรหัสผ่านอะไร เช่น รหัสผ่านฐานข้อมูล, รหัสผ่านเข้า server, รหัสผ่านล็อคอินเข้าใช้งานระบบหลังบ้าน ควรใช้รหัสผ่านที่คาดเดาได้ยาก เช่น วันเดือนปีเกิด (08072536) ชื่อ (sompong) นามสกุล (kongmung) หรือคำใดๆที่สามารถสะกดได้เป็นคำ (iloveyoutoo) แล้วรหัสผ่านแบบไหนละที่ปลอดภัย

  • รหัสผ่านที่ดีควรประกอบด้วย ตัวเลข (0-9) ตัวอักษรใหญ่ (A-Z) ตัวอักษรเล็ก (a-z) และตัวอักษรพิเศษ (“!@#$%^&*()_+.’)
  • รหัสผ่านควรมีความยาวอย่างน้อย 8 ตัวอักษร ยิ่งมากยิ่งดี

เลือกใช้ Server, Hosting ที่มีมาตรฐาน

ก่อนจะเลือก ควรศึกษาให้ดี หารีวิวอ่าน บางผู้ให้บริการราคาถูกมาก แต่ไม่มีคุณภาพ เช่น ทำงานช้า, ไม่มี Firewall ป้องกัน, ไม่มีเจ้าหน้าที่ให้บริการ ซึ่งสิ่งเหล่านี้หลายคนคิดว่าไม่สำคัญ แต่จริงๆแล้วเป็นสิ่งที่สำคัญมาก

  • สามารถติดตั้ง SSL (HTTPS) ให้กับเว็บไซต์ได้
  • มี Firewall หรือระบบ Security
  • มีระบบสำรองข้อมูลให้ รายวัน รายสัปดาห์ รายเดือน
  • ทีมงานที่พร้อมจะ Support และแก้ปัญหาได้อย่างรวดเร็ว

สำรองข้อมูล

บางครั้งเราอาจคิดว่าผู้ให้บริการเว็บไซต์สำรองข้อมูลให้แล้ว แต่เราก็ไม่ควรไว้วางใจ 100% นะครับ เราควรจะเก็บสำรองข้อมูลของเว็บไซต์เราไว้เองด้วย เผื่อเกิดเหตุกรณีฉุกเฉิน จะสามารถกู้คืนได้ทันที

อนุญาตให้ใช้งานได้แค่ภายในประเทศ หรือแค่ภายในองค์กร

บางครั้งเว็บไซต์อาจจะมีกลุ่มเป้าหมาย แค่กับคนในประเทศเท่านั้น ไม่จำเป็นต้องขยายไปทั่วโลก ซึ่งตรงนี้เราสามารถปรึกษากับนักพัฒนาเว็บไซต์/ผู้ให้บริการ เพื่อให้ใช้งานได้เฉพาะพื้นที่ได้ ซึ่งโดยส่วนใหญ่แล้วเว็บไซต์ที่ถูกโจมตี มักจะมาจากต่างประเทศซะเป็นส่วนใหญ่

สรุป

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