ตั้งค่าความปลอดภัยให้เวิร์ดเพรส

 

ปัจจุบันเว็บเริ่มมีระบบหลังบ้านไว้แก้เนื้อหา (Content Management System: CMS) เป็นมาตรฐานกันแล้ว เว็บที่เขียน CMS เอง ก็เจอปัญหาแบบนึง (คือมักจะเขียนไม่รอบคอบทันยุค) ส่วนเว็บที่ใช้ CMS มาตรฐาน เช่น WordPress ก็เจอปัญหาอีกแบบนึง (คือเค้าเขียนมารอบคอบ แต่เราอัพเดทไม่ทัน หรือตั้งค่าไม่รอบคอบ)

จากประสบการณ์เคยทำเว็บใหญ่ๆ ด้วย WordPress แล้วโดนโจมตีเป็นประจำ (แต่ไม่เคยโดยแฮคนะ :D) พบว่าสิ่งที่ควรทำเพื่อเพิ่มความปลอดภัยให้เว็บของเรามีดังนี้

วิธีเบื้องต้น

  • ตั้งรหัสผ่านให้ยาก ไม่มีใน Dictionary ลองค้นคำว่า password generator จะเจอเว็บที่ช่วยตั้งรหัสผ่านยากๆ ให้ ส่วนตัวผมเองจะตั้งรหัสแต่ละเว็บไม่ซ้ำกัน แต่มีการใช้โค้ดส่วนตัว เช่น อิงจากเว็บ/โดเมน/ชื่อลูกค้า/ปีที่ทำ/ชื่อย่อบางอย่าง/รหัสพิเศษบางอย่าง ฯลฯ ผสมออกมาเป็นรหัสผ่านของเว็บนั้นๆ
  • อย่าใช้ user ชื่อ admin – อันนี้โดนคนสุ่มรหัสผ่านมามั่วตลอด
  • เปลี่ยนหลังบ้าน จาก /wp-admin/ เป็น url อื่น ใช้ปลั๊กอิน Lockdown WP Admin ก็ง่ายดี แค่เปลี่ยนเป็น /myadmin/หรือ /backend/ หรืออื่นๆ ก็ลดพวกแฮคสุ่มยิงไปได้เพียบแล้ว (ประสบการณ์ที่ทำให้เว็บ สถาบันเพิ่มผลผลิต จากโดนสุ่มยิงรหัสมาวันละหลายพันครั้ง ปัจจุบันเหลือวันละ 5-10 ครั้ง)

วิธีมาตรฐาน

  • ติดตั้งปลั๊กอินที่ช่วยดูแลเรื่องความปลอดภัย หลังจากลองใช้มาหลายตัว คิดว่า Wordfence ตัวฟรีนั้นก็เหลือเฟือแล้ว ตั้งค่าง่าย ระบบจะคอยบล็อกคนที่สุ่มรหัสผ่านมา ถ้าใส่รหัสผิดหลายครั้งก็จะโดนบล็อกไประยะหนึ่ง, มีระบบ Scan โค้ดต่างๆ ในเว็บไซต์ว่าอันไหนน่าจะมีปัญหาบ้าง, อันไหนถูกดัดแปลงไปแล้วบ้าง ฯลฯ
  • ตั้ง Permission ของไฟล์ใน FTP ถูกต้อง ไม่ควรตั้ง 777 ไปซะหมด ถ้าตั้งค่า Hosting ดีๆ (เช่น ปรับค่าเจ้าของไฟล์ให้ถูกต้อง หรือใช้ VestaCP เป็น Control Panel) จะไม่จำเป็นต้องมี Folder ไหนเป็น 777 เลย คนอื่นจะแอบเอาไฟล์มาฝังได้ยาก
  • พยายามอย่าใช้ FTP ให้ใช้ sFTP แทน (Hosting ทั่วไปก็มักจะเปิดให้ทั้งคู่แหละ) เพราะถ้าใช้ FTP เวลาส่งค่าต่างๆ จะมีคนมาดักจับรหัสไปได้

วิธีที่ซับซ้อนขึ้น

  • สำหรับเว็บใหญ่ๆ ที่มีคนไล่เจาะจริงจัง (ที่ผมเคยทำโดยใช้ WordPress ก็เช่น Chula.ac.th กับ Majorcineplex.com ก่อนเวอร์ชั่นปัจจุบัน) ก็ควรตั้งค่าว่า ถ้าจะเข้าหลังบ้าน ต้องเจอรหัสผ่านอีกชุดไปเลย ซึ่งทำโดยไปตั้งค่า .htaccess ใหม่ (ลองดูบล็อก Password Protect your WordPress Admin Folder)
  • บล็อกตั้งแต่ระดับ Hosting เลยว่า IP ที่จะให้เข้ามาหลังบ้านได้ ต้องมาจากประเทศที่ตั้งไว้เท่านั้น (ต้องตั้งค่าระดับเน็ตเวิร์ค, จะใช้ Wordfence ตัวเสียเงินก็พอได้)
  • อย่าใช้ Server ร่วมกับใคร (Shared Hosting) ควรแยกเป็น VPS ของตัวเองไป เวลาตัวอื่นโดนแฮค จะได้ไม่กระทบเว็บเราด้วย

ที่มา : mennstudio.com