Light mode Dark mode

Jir4yu.me

ความรู้สึก.. ที่ตอนไหนๆก็(ไม่)เหมือนกัน

5 วิธีเพิ่มความปลอดภัยให้ WordPress

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

1. ติดตั้งด้วย prefix_table ชื่ออื่น

wordpress change database prefix

เวลาเราติดตั้ง WordPress ในตอนแรกเลย ตัว Installation จะถามประมาณว่า username, password และ database ที่จะใช้เชื่อมต่อนั้นมีค่าอะไรบ้าง แล้วก็มีอีก field นึงที่เขียนประมาณว่า prefixed นำหน้าตารางจะให้ใช้ชื่อว่าอะไร ตรงนี้ค่า default ที่มันมีมาให้จะเป็น wp_ ใช่มั้ยครับ ให้เราเปลี่ยนเป็นค่าอื่นได้เช่น web_, blog_, jira_ อะไรก็ได้ตามที่เราต้องการ

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

2. ย้าย wp-config.php ออกจาก directory

WordPress Security

ผมได้อัพโหลดบาง slide ที่เกี่ยวกับเรื่องของ WordPress Customization ไปเมื่อเดือนที่แล้ว ซึ่งมี slide นึงที่เขียนเกี่ยวกับการป้องกันไฟล์ wp-config.php ให้ปลอดภัยจากบุคคลภายนอก และผู้ไม่หวังดี แล้วก็มีคนสอบถามเข้ามาเยอะให้เขียนเรื่องนี้ให้ละเอียด จึงเก็บมาเขียนในหัวข้อนี้ครับ

โดยปรกติแล้วไฟล์ wp-config.php จะอยู่ที่ root directory เช่นเดียวกับพวก wp-contents, wp-admin และ wp-includes ใช่มั้ยครับ เราสามารถย้ายไฟล์ wp-config.php ออกมาจาก root directory ได้หนึ่งขั้นโดยที่ WordPress เองก็ยังสามารถมองเห็นแล้วก็อ่านค่าภายในได้ ยกตัวอย่างเช่น เว็บไซต์ WordPress ของคุณตั้งอยู่ใน blog directory โดยเข้าผ่าน www.example.com/blog

เมื่อจัดการไฟล์ด้วย FTP client เราก็จะเห็นไฟล์ wp-config.php อยู่ใน blog directory ด้วย ซึ่งการย้ายก็คือให้เราลากไฟล์ดังกล่าวขึ้นมาจาก directory นั้นหนึ่งขั้น เพียงเท่านี้ไฟล์ wp-config.php ของเราก็ปลอดภัยในระดับหนึ่งแล้ว

3. หรือ ป้องกันการเรียก wp-config.php จากภายนอก

wordpress-and-web-server

วิธีที่ง่ายอีกวิธีหนึ่งคือการตั้งค่าให้กับ web server อย่าง Apache, NGINX ให้ป้องกันการเรียกไฟล์ wp-config.php โดยตรงจากภายนอก ก่อนอื่นให้เราทดลองง่ายๆด้วยการกรอกชื่อเว็บไซต์ของตัวเองแล้วตามด้วย /wp-config.php อย่างเช่น

www.example.com/wp-config.php

ถ้าหากเป็นหน้าขาวๆ ไม่แสดงข้อความอะไร ก็แสดงว่าไฟล์ wp-config.php ของเราอาจจะได้รับอันตรายจากผู้ไม่หวังดีได้ โดยการป้องกันนั้นก็ให้เพิ่ม

<files wp-config.php>
 order allow,deny
 deny from all
 </files>

เข้าไปที่ไฟล์ .htaccess สำหรับ Apache webserver หรือ เพิ่ม code ด้านล่างนี้เข้าไปที่ server block ของ NGINX ก็จะช่วยได้ครับ

location = /wp-config.php {
 deny all;
 }

4. ตั้งค่า Secret Keys

wordpress secrets keys

Secret Keys นี่ถือเป็นกุญแจอีกข้อนึงที่ใครหลายต่อหลายคนมองข้ามไปครับ นอกจากการปรับแต่ง WordPress ให้มีความปลอดภัยในระดับนึงตามข้อที่เขียนมาทั้งหมดแล้ว การตั้งค่ารหัสผ่านในการเข้า wp-admin ของเราก็สำคัญไม่แพ้กัน ลูกค้าบางคนของผมนี่ตั้งค่ารหัสแบบน่าตีมากเลยเช่น “123456“, “password“, “abcabcabc” ซึ่งรหัสง่ายๆ พวกนี้มักจะอยู่ในฐานข้อมูลของ hacker อยู่แล้ว ซึ่งเวลาที่จะถูกโจมตีเว็บไซต์ก็มักจะสุ่มรหัสพวกนี้เข้ามาทั้งนั้น นอกจากการตั้งค่ารหัสให้ยากต่อการจดจำ  หรือโจมตีแล้ว การใส่ secret keys ของ WordPress ยังช่วยในเรื่องของการเข้ารหัสข้อมูลผ่าน cookie บน web browser ด้วย ซึ่งใครหลายคนอาจจะถามว่ามันดี และจำเป็นแค่ไหน

เว็บไซต์ของ WordPress เองบอกเลยว่า ถ้ารหัสผ่านที่ใช้ถูกเข้ารหัสตาม secret keys แล้ว ผู้ไม่หวังดีจะใช้เวลานานขึ้นกว่าเดิม ซึ่งอาจจะใช้เวลาเป็นเดือน หรือปีในการถอดรหัสดังกล่าว วิธีทำก็ไม่ได้ยากอะไรเลยเพียงเข้าไปที่เว็บไซต์ generate secrets keys นี้ แล้วคัดลอกข้อความที่ได้ไปวางไว้ในไฟล์ wp-config.php ในบริเวณบรรทัดที่ 45 เป็นต้นไปครับ

5. อัพเดทเวอร์ชั่นของ WordPress อย่างสม่ำเสมอ

เพิ่มความปลอดภัยให้-WordPress

ข้อสุดท้ายนี่ถือเป็นเรื่องที่ง่ายที่สุด แต่ส่วนใหญ่กว่า 70% มักจะไม่สนใจครับ พึงระลึกไว้เสมอว่าเวอร์ชั่นใหม่ที่ถูกป้อนเข้ามาจากผู้พัฒนา WordPress คือการปกปิดจุดโหว่ในด้านของความปลอดภัย บางครั้งเพิ่ม performance เรื่องของความเร็ว และความสวยงามเข้ามาด้วย ยิ่งเว็บไซต์เราขาดการอัพเดทเวอร์ชั่นใหม่มานานเท่าไหร่ ก็ยิ่งมีโอกาสที่จะถูกโจมตีจากผู้ไม่หวังดีได้ง่ายครับ ซึ่งผมเองก็เคยได้เขียนบทความเกี่ยวกับเรื่องของ วิธีง่ายๆ สำหรับคนขี้เกียจอัพเดท WordPress ให้ตัว WordPress เองสามารถปรับรุ่นได้โดยที่เราไม่ต้องเสียเวลาเข้า wp-admin มานั่งคลิกปุ่ม update ด้วย

ส่วนตัวก็หวังว่า 5 วิธีพื้นฐานเหล่านี้จะช่วยให้ใครหลายๆคนต่างหันมาสนใจเรื่องของความปลอดภัยให้มากพอกับเรื่องของ optimize นะครับ เห็นมามากเหลือเกินบางคนที่จะปรับแต่งให้ได้คะแนนดีๆ บน Google Pagespeed Insights แต่เรื่องของความปลอดภัยนี้กลับปล่อยผ่านละเลยมันเสียอย่างนั้น ก็ขอให้บทความนี้เป็นประโยชน์ต่อเพื่อนพี่น้องที่ทำเว็บไซต์ด้วย WordPress แล้วกันครับ

Jirayu Limjinda

ถ้าไม่รู้จักกัน บางทีคุณอาจจะไม่เข้าใจกับสิ่งที่ผมทำ.. กลับกัน ถ้าคุณรู้จักผมดี คุณจะไม่ต้องเอ่ยปากถามเลยว่าทำไม

แสดงความคิดเห็นของคุณที่นี่

loading, please wait..

loading, please wait..