ความปลอดภัย

วิธีตั้งค่าสิทธิ์ไฟล์ WordPress (Chmod) ให้ปลอดภัยและเหมาะสม

  • 29 ใช้เวลาอ่านไม่กี่นาที
  • ทีมงาน Hostragons
วิธีตั้งค่าสิทธิ์ไฟล์ WordPress (Chmod) ให้ปลอดภัยและเหมาะสม

สิทธิ์ไฟล์ WordPress โดยทั่วไปควรกำหนดเป็น 755 สำหรับโฟลเดอร์, 644 สำหรับไฟล์ทั่วไป และไฟล์สำคัญอย่าง wp-config.php ควรตั้งค่าเป็น 600 หรือ 640 ขึ้นอยู่กับโครงสร้างเซิร์ฟเวอร์ การตั้งค่านี้ช่วยให้ WordPress สามารถอ่านและเขียนไฟล์ได้อย่างเหมาะสม ขณะเดียวกันก็ป้องกันไม่ให้ผู้ใช้ที่ไม่ได้รับอนุญาตแก้ไขธีม ปลั๊กอิน หรือไฟล์หลักของระบบได้ โดยสรุปกฎ chmod ที่ปลอดภัยคือ: ให้สิทธิ์ขั้นต่ำที่จำเป็นสำหรับเว็บไซต์ทำงานเท่านั้น อย่าให้เกินความจำเป็น

ความปลอดภัยของ WordPress ไม่ได้ขึ้นอยู่แค่รหัสผ่านที่แข็งแรง ปลั๊กอินที่อัปเดต หรือใบรับรอง SSL เท่านั้น หากระบบไฟล์ตั้งค่าสิทธิ์ผิดพลาด อาจทำให้แฮกเกอร์อัปโหลดไฟล์ PHP ที่เป็นอันตราย แก้ไขไฟล์ธีม หรืออ่านข้อมูลฐานข้อมูลใน wp-config.php รวมถึงวาง backdoor ไว้ในเว็บไซต์ของคุณได้ ด้วยเหตุนี้ การตั้งค่า chmod จึงเป็นหัวข้อหลักของความปลอดภัยสำหรับเจ้าของเว็บไซต์ที่ใช้โฮสติ้งแบบแชร์, VPS, คลาวด์เซิร์ฟเวอร์ หรือโฮสติ้ง WordPress ที่มีการจัดการ หากคุณต้องการตั้งค่า WordPress ที่ปลอดภัยและทันสมัย การเลือกโฮสติ้งที่เหมาะสมก็เป็นส่วนสำคัญในกระบวนการนี้เช่นกัน: แพ็คเกจ WordPress hosting

สิทธิ์ไฟล์ WordPress คืออะไร?

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

เนื่องจาก WordPress เป็นระบบจัดการเนื้อหา (CMS) ที่เขียนด้วย PHP การตั้งค่าสิทธิ์ไฟล์จึงต้องมีความสมดุล หากตั้งสิทธิ์เข้มงวดเกินไป อาจทำให้เว็บไซต์ทำงานผิดพลาด เช่น ไม่สามารถอัปโหลดสื่อ หรืออัปเดตปลั๊กอินได้ แต่หากตั้งสิทธิ์หลวมเกินไป จะเสี่ยงต่อการถูกเจาะระบบ โดยเฉพาะค่าที่ให้สิทธิ์เขียนแก่ทุกคน เช่น 777 ซึ่งเปิดช่องให้แฮกเกอร์อัปโหลดไฟล์อันตรายได้ง่าย

อ่านค่า Chmod อย่างไร?

ค่า chmod จะแสดงด้วยตัวเลข 3 หลัก โดยแต่ละหลักแทนสิทธิ์ของผู้ใช้ระดับต่างๆ คือ หลักแรกสำหรับเจ้าของไฟล์, หลักที่สองสำหรับกลุ่มผู้ใช้ และหลักที่สามสำหรับผู้ใช้อื่นๆ ค่าแต่ละหลักเป็นผลรวมของสิทธิ์ย่อย:

  • 4: สิทธิ์อ่าน (Read)
  • 2: สิทธิ์เขียน (Write)
  • 1: สิทธิ์รัน (Execute)
  • 7: สิทธิ์อ่าน+เขียน+รัน (Read + Write + Execute)
  • 6: สิทธิ์อ่าน+เขียน (Read + Write)
  • 5: สิทธิ์อ่าน+รัน (Read + Execute)

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

ค่าที่แนะนำสำหรับ Chmod บน WordPress

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

ค่าที่แนะนำสำหรับ Chmod บน WordPress
ไฟล์หรือโฟลเดอร์สิทธิ์แนะนำคำอธิบาย
โฟลเดอร์ WordPress755อนุญาตให้เข้าถึงโฟลเดอร์ แต่ไม่อนุญาตให้ทุกคนเขียนไฟล์
ไฟล์ WordPress644ไฟล์อ่านได้ทุกคน แต่เขียนได้เฉพาะเจ้าของไฟล์เท่านั้น
wp-config.php600 หรือ 640เก็บข้อมูลฐานข้อมูลสำคัญ จึงต้องป้องกันเข้มงวด
.htaccess644 หรือ 640เก็บกฎเซิร์ฟเวอร์ ไม่ควรให้สิทธิ์เขียนเกินจำเป็น
wp-content755เก็บธีม ปลั๊กอิน และไฟล์อัปโหลด ควรจัดการอย่างรอบคอบ
wp-content/uploads755โฟลเดอร์สำหรับอัปโหลดสื่อ ต้องอนุญาตให้เขียนแต่ไม่ควรเป็น 777
ไฟล์ธีม644ป้องกันไม่ให้ไฟล์ PHP และ CSS ถูกแก้ไขโดยผู้ไม่หวังดี
ไฟล์ปลั๊กอิน644ลดความเสี่ยงจากการแก้ไขปลั๊กอินโดยไม่ได้รับอนุญาต

ค่าดังกล่าวเหมาะสำหรับโฮสติ้งที่ใช้ cPanel, LiteSpeed, Apache หรือ Nginx เป็นส่วนใหญ่ อย่างไรก็ตาม สถาปัตยกรรมเซิร์ฟเวอร์แต่ละแห่งอาจแตกต่างกัน เช่น PHP-FPM, suPHP หรือ mod_php รวมถึงการกำหนดเจ้าของไฟล์เฉพาะตัว อาจส่งผลต่อสิทธิ์ไฟล์ที่เหมาะสม ดังนั้นควรสำรองข้อมูลและทดสอบเว็บไซต์หลังแก้ไขเสมอ สำหรับข้อมูลการสำรองข้อมูลเว็บไซต์เพิ่มเติม สามารถดูได้ที่ คู่มือการสำรองข้อมูลเว็บไซต์

ทำไมสิทธิ์ 777 ถึงอันตราย?

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

ปัญหานี้พบได้บ่อยในโฟลเดอร์ wp-content/uploads ซึ่งใช้เก็บไฟล์สื่อ เช่น รูปภาพ PDF หรือวิดีโอ หากแฮกเกอร์สามารถอัปโหลดไฟล์ PHP ผ่านช่องโหว่ของปลั๊กอินใดๆ และโฟลเดอร์นั้นอนุญาตให้รันไฟล์ได้ จะทำให้ไฟล์อันตรายสามารถสั่งงานบนเซิร์ฟเวอร์ได้ทันที กรณีนี้ไม่ใช่แค่ช่องโหว่จากปลั๊กอินเท่านั้น แต่ยังเป็นผลจากการตั้งค่าสิทธิ์ที่กว้างเกินไปด้วย

ควรใช้สิทธิ์อะไรแทน 777?

ในเกือบทุกกรณี สิทธิ์ 755 สำหรับโฟลเดอร์เพียงพอแล้ว หาก WordPress ไม่สามารถอัปโหลดสื่อหรืออัปเดตได้ อย่ารีบตั้งเป็น 777 แต่ควรตรวจสอบเจ้าของไฟล์ (file ownership) ก่อน เพราะถ้าไฟล์เป็นเจ้าของโดยผู้ใช้ผิด เว็บเซิร์ฟเวอร์จะไม่สามารถเขียนได้ การแก้ปัญหาคือเปลี่ยนเจ้าของไฟล์ด้วยคำสั่ง chown หรือใช้เครื่องมือในแผงควบคุมโฮสติ้ง

ความสัมพันธ์ระหว่างเจ้าของไฟล์กับ chmod ใน WordPress

การตั้งค่า chmod อย่างเดียวไม่เพียงพอ ต้องพิจารณาเจ้าของไฟล์และกลุ่มผู้ใช้ด้วย ไฟล์ที่มีสิทธิ์ 644 แต่เจ้าของไม่ถูกต้อง อาจทำให้ WordPress อัปเดตไม่ได้ หรือไม่สามารถอัปโหลดไฟล์ในโฟลเดอร์ uploads ได้

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

วิธีตรวจสอบสิทธิ์ไฟล์ WordPress ทีละขั้นตอน

คุณสามารถตรวจสอบสิทธิ์ไฟล์ WordPress ผ่าน cPanel File Manager, โปรแกรม FTP หรือ SSH ได้ โดยขั้นตอนต่อไปนี้ช่วยให้การตรวจสอบเป็นระบบและปลอดภัย

1. สำรองข้อมูลก่อนทำการเปลี่ยนแปลง

ก่อนเปลี่ยนสิทธิ์ไฟล์จำนวนมาก ควรสำรองข้อมูลเว็บไซต์ทั้งหมด รวมถึงไฟล์ WordPress, โฟลเดอร์ wp-content และฐานข้อมูล เพราะคำสั่ง chmod ผิดพลาดอาจทำให้เว็บไซต์เข้าถึงไม่ได้หรือมีปัญหาในแผงควบคุม ตรวจสอบให้แน่ใจว่ามีการสำรองข้อมูลล่าสุดผ่านระบบอัตโนมัติหรือทำด้วยตนเองผ่าน FTP และการส่งออกฐานข้อมูล

2. ตรวจสอบสิทธิ์ไฟล์และโฟลเดอร์ปัจจุบัน

ถ้าคุณมีสิทธิ์เข้าถึง SSH ให้ใช้คำสั่ง ls -l ในไดเรกทอรีหลักของ WordPress เพื่อตรวจสอบสิทธิ์ไฟล์และโฟลเดอร์ โดยดูว่ามีสิทธิ์ 777, 775, หรือ 666 ที่กว้างเกินไปหรือไม่ สำหรับผู้ใช้ cPanel สามารถดูคอลัมน์ Permission ใน File Manager และแก้ไขสิทธิ์ทีละไฟล์ได้

3. ตั้งค่าโฟลเดอร์เป็น 755

สำหรับโฟลเดอร์ทั้งหมดใน WordPress ตั้งค่าเป็น 755 เพื่อให้สามารถเข้าถึงและแสดงรายการไฟล์ได้ แต่ไม่อนุญาตให้ทุกคนเขียนไฟล์ได้ สำหรับผู้ที่ใช้ SSH สามารถใช้คำสั่ง find เพื่อเปลี่ยนแปลงสิทธิ์เฉพาะโฟลเดอร์ได้ ตรวจสอบให้แน่ใจว่าไฟล์ไม่ถูกตั้งเป็น 755 เพราะไฟล์ PHP ส่วนใหญ่ไม่จำเป็นต้องมีสิทธิ์รัน

4. ตั้งค่าไฟล์เป็น 644

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

5. ปรับสิทธิ์ wp-config.php ให้เข้มงวดขึ้น

ไฟล์ wp-config.php เก็บข้อมูลสำคัญ เช่น ชื่อฐานข้อมูล ชื่อผู้ใช้ รหัสผ่าน และคีย์ความปลอดภัย ควรตั้งสิทธิ์เป็น 600 หรือ 640 เพื่อป้องกันไม่ให้ผู้อื่นเข้าถึง หากตั้งค่า 600 แล้วเว็บไซต์เกิดข้อผิดพลาด 500 ให้ลองเปลี่ยนเป็น 640 และทดสอบอีกครั้ง หลังแก้ไขแล้วควรตรวจสอบหน้าเว็บไซต์และแผงควบคุมว่าทำงานปกติหรือไม่ สำหรับการใช้ SSL ที่เสริมความปลอดภัย สามารถดูรายละเอียดได้ที่ ซื้อใบรับรอง SSL

6. ปกป้องไฟล์ .htaccess

ไฟล์ .htaccess ใช้กำหนดกฎการเข้าถึง, การเปลี่ยนเส้นทาง และนโยบายความปลอดภัย ควรตั้งสิทธิ์เป็น 644 หรือ 640 เพื่อป้องกันการแก้ไขโดยไม่ได้รับอนุญาต แม้ปลั๊กอินบางตัวอาจต้องเขียนกฎลงในไฟล์นี้ การเพิ่มกฎควรทำด้วยตนเองและตั้งสิทธิ์ไฟล์ให้เข้มงวดหลังแก้ไขเสมอ

แนวทางปฏิบัติที่ดีที่สุดสำหรับ wp-content, uploads, ธีม และปลั๊กอิน

โฟลเดอร์ wp-content เป็นส่วนที่มีการเปลี่ยนแปลงบ่อยที่สุดใน WordPress เพราะเก็บธีม ปลั๊กอิน ไฟล์ภาษา และไฟล์ที่ผู้ใช้โหลดขึ้นไป ช่องโหว่ความปลอดภัยส่วนใหญ่เกิดจากปลั๊กอินที่ไม่อัปเดต ธีมเก่า หรือฟังก์ชันอัปโหลดไฟล์ที่ไม่ปลอดภัย

ป้องกันการรัน PHP ในโฟลเดอร์ uploads

โฟลเดอร์ uploads ใช้เก็บไฟล์ที่ผู้ใช้โหลดขึ้นมา เช่น รูปภาพ ไฟล์ PDF หรือวิดีโอ โดยทั่วไปไม่ควรอนุญาตให้รันไฟล์ PHP ภายในโฟลเดอร์นี้ เพื่อป้องกันการถูกอัปโหลดไฟล์ PHP อันตรายและรันคำสั่งบนเซิร์ฟเวอร์ สามารถใช้ไฟล์ .htaccess หรือกฎของ Nginx เพื่อบล็อกการรัน PHP ในโฟลเดอร์นี้ ซึ่งช่วยเพิ่มความปลอดภัยแบบหลายชั้นร่วมกับการตั้งค่า chmod

ปิดใช้งานตัวแก้ไขธีมและปลั๊กอินในแผงควบคุม

ฟีเจอร์แก้ไขไฟล์ธีมและปลั๊กอินในแผงควบคุม WordPress อาจเป็นช่องทางเสี่ยง หากบัญชีผู้ดูแลระบบถูกแฮก ควรปิดฟีเจอร์นี้โดยเพิ่มบรรทัด define('DISALLOW_FILE_EDIT', true); ในไฟล์ wp-config.php เพื่อป้องกันการแทรกโค้ด PHP ผ่านแผงควบคุมโดยตรง

ลบธีมและปลั๊กอินที่ไม่ใช้งาน

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

การเสริมความปลอดภัยของเซิร์ฟเวอร์เพื่อสนับสนุน chmod

การเสริมความปลอดภัยของเซิร์ฟเวอร์เพื่อสนับสนุน chmod

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

ใช้ PHP เวอร์ชันล่าสุด

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

ติดตั้ง Web Application Firewall (WAF)

WAF สามารถกรองคำขอที่มีเจตนาไม่ดี เช่น การโจมตีแบบ SQL injection, XSS, การอัปโหลดไฟล์ที่ผิดกฎหมาย และการโจมตีแบบ brute force ได้อย่างมีประสิทธิภาพ โดยเฉพาะเว็บไซต์ WordPress ที่มีผู้เข้าชมจำนวนมาก WAF จะช่วยเสริมความปลอดภัยให้กับการตั้งค่าสิทธิ์ไฟล์อย่างสมบูรณ์แบบ สามารถดูตัวเลือกโฮสติ้งปลอดภัยได้ที่ โซลูชันโฮสติ้งเว็บที่ปลอดภัย

ปิดการแสดงรายการไฟล์ในโฟลเดอร์

หากเปิดใช้งานการแสดงรายการโฟลเดอร์ (directory listing) ผู้ไม่หวังดีก็จะเห็นรายการไฟล์ในโฟลเดอร์ที่ไม่มีไฟล์ index ส่งผลให้ทราบชื่อปลั๊กอิน ธีม หรือไฟล์สำรองที่อาจเป็นเป้าหมายการโจมตี ควรปิดฟีเจอร์นี้ด้วยคำสั่ง Options -Indexes สำหรับ Apache หรือ autoindex off สำหรับ Nginx เพื่อป้องกันไม่ให้ข้อมูลภายในโฟลเดอร์ถูกเปิดเผย

เก็บไฟล์สำรองฐานข้อมูลและไฟล์เว็บไซต์นอกโฟลเดอร์ public_html

การเก็บไฟล์สำรองไว้ในโฟลเดอร์ที่เข้าถึงได้จากเว็บ เช่น public_html เป็นความผิดพลาดที่พบบ่อย เพราะไฟล์เหล่านี้สามารถถูกดาวน์โหลดโดยผู้อื่นได้ง่าย เช่น backup.zip, site-old.tar.gz หรือ database.sql ควรเก็บไฟล์สำรองไว้ในพื้นที่ที่ไม่เปิดเผยบนเว็บ หรือใช้บริการจัดเก็บข้อมูลระยะไกล เพื่อความปลอดภัยสูงสุด สำหรับข้อมูลการจัดการโดเมนและ DNS สามารถดูได้ที่ การจดทะเบียนโดเมนและการจัดการ DNS

ความแตกต่างของการตั้งค่า chmod ระหว่างโฮสติ้งแบบแชร์, VPS และเซิร์ฟเวอร์เฉพาะ

แม้ว่าค่ามาตรฐาน chmod จะคล้ายกันในทุกประเภทโฮสติ้ง แต่การจัดการและความรับผิดชอบจะแตกต่างกันไป

สำหรับผู้ใช้โฮสติ้งแบบแชร์ ส่วนใหญ่ไม่ต้องกังวลเรื่องเจ้าของไฟล์หรือโหมดผู้ใช้ PHP เพราะผู้ให้บริการจัดการให้ทั้งหมด ส่วนผู้ใช้ VPS หรือเซิร์ฟเวอร์เฉพาะ ต้องดูแลทั้งสิทธิ์ไฟล์ การแยกผู้ใช้ การตั้งค่า firewall การตรวจสอบบันทึก และการอัปเดตอัตโนมัติเอง

โฮสติ้งแบบแชร์มักใช้ค่าสิทธิ์ 644 และ 755 ได้ไม่มีปัญหา ขณะที่ VPS ควรตั้งค่า PHP-FPM ให้ใช้ผู้ใช้แยกสำหรับแต่ละเว็บไซต์ ส่วนเซิร์ฟเวอร์เฉพาะ ควรมีระบบตรวจสอบบันทึกกลาง สแกนมัลแวร์ ตรวจสอบความสมบูรณ์ของไฟล์ และอัปเดตแพตช์ความปลอดภัยอัตโนมัติ สำหรับเอเจนซี่ที่ดูแลหลายเว็บไซต์ การแยกบัญชีผู้ใช้แต่ละเว็บไซต์ก็ช่วยลดความเสี่ยงการแพร่กระจายช่องโหว่ไปยังเว็บไซต์อื่นๆ

ข้อผิดพลาดทั่วไปในการตั้งค่า chmod

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

  • ตั้งสิทธิ์ 777 ให้กับทั้งเว็บไซต์: อาจแก้ปัญหาการอัปโหลดหรืออัปเดตได้ชั่วคราว แต่เสี่ยงสูงมาก
  • ปล่อยให้ wp-config.php เป็น 644: อาจใช้งานได้แต่ควรตั้งค่าเข้มงวดกว่านี้
  • ไม่ตรวจสอบเจ้าของไฟล์: ปัญหาบางอย่างเกิดจากเจ้าของไฟล์ไม่ถูกต้อง แต่ผู้ใช้กลับเปลี่ยน chmod แทน
  • ไม่สำรองข้อมูลก่อนใช้คำสั่ง chmod จำนวนมาก: อาจทำให้เว็บไซต์เสียหายและกู้คืนยาก
  • อนุญาตให้ PHP รันในโฟลเดอร์ uploads: เพิ่มความเสี่ยงจากการโจมตีผ่านการอัปโหลดไฟล์
  • ไม่ลบปลั๊กอินเก่าหรือธีมไม่ใช้แล้ว: ไฟล์ที่ไม่ได้ใช้งานก็ยังเป็นเป้าหมายของแฮกเกอร์ได้

เช็คลิสต์การตั้งค่า chmod WordPress ให้ปลอดภัย

ใช้รายการนี้เป็นแนวทางตรวจสอบก่อนเปิดใช้งานเว็บไซต์ หรือทำการตรวจสอบความปลอดภัยหลังจากบำรุงรักษาและทำความสะอาดระบบ

  • ตั้งค่าโฟลเดอร์เป็น 755
  • ตั้งค่าไฟล์เป็น 644
  • ตั้งค่า wp-config.php เป็น 600 หรือ 640
  • ตรวจสอบ .htaccess ให้เป็น 644 หรือ 640
  • ไม่มีไฟล์หรือโฟลเดอร์ใดๆ ที่ตั้งเป็น 777
  • ป้องกันการรัน PHP ในโฟลเดอร์ uploads
  • ปิดใช้งานตัวแก้ไขไฟล์ธีมและปลั๊กอินในแผงควบคุม
  • ลบธีมและปลั๊กอินที่ไม่ได้ใช้งาน
  • ใช้ PHP เวอร์ชันล่าสุด
  • มีระบบสำรองข้อมูลและแผนกู้คืนข้อมูลพร้อมใช้งาน

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

ทดสอบอะไรหลังเปลี่ยนสิทธิ์ไฟล์?

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

หากพบข้อผิดพลาด 403 แสดงว่าสิทธิ์อาจเข้มงวดเกินไป ส่วนข้อผิดพลาด 500 อาจเกิดจากกฎใน .htaccess, สิทธิ์ PHP หรือเจ้าของไฟล์ไม่ถูกต้อง หากไม่สามารถอัปโหลดไฟล์ในโฟลเดอร์ uploads ให้ตรวจสอบเจ้าของไฟล์และสิทธิ์อย่างละเอียด วิธีแก้ไขที่ถูกต้องไม่ใช่ตั้งเป็น 777 แต่ควรตรวจสอบบันทึกข้อผิดพลาด (error logs) เพื่อวินิจฉัยปัญหา

สรุป: หลักการสิทธิ์ไฟล์ WordPress ที่ปลอดภัยคือ ‘ให้สิทธิ์ขั้นต่ำที่จำเป็น’

การตั้งสิทธิ์ไฟล์ที่ปลอดภัยสำหรับ WordPress คือ 755 สำหรับโฟลเดอร์, 644 สำหรับไฟล์ทั่วไป และ 600 หรือ 640 สำหรับ wp-config.php แต่ความปลอดภัยที่แท้จริงไม่ได้ขึ้นอยู่กับตัวเลขอย่างเดียว ต้องรวมถึงการตั้งเจ้าของไฟล์ที่ถูกต้อง, ใช้ PHP เวอร์ชันล่าสุด, มี WAF, สำรองข้อมูลอย่างสม่ำเสมอ, ป้องกันการรัน PHP ในโฟลเดอร์ uploads และลบปลั๊กอินที่ไม่จำเป็น เมื่อใช้หลักการให้สิทธิ์ขั้นต่ำนี้ เว็บไซต์จะสามารถทำงานได้อย่างราบรื่นและป้องกันการโจมตีที่ทำลายระบบได้ดีขึ้น

หากต้องการให้เว็บไซต์ WordPress ของคุณปลอดภัย เร็ว และจัดการง่าย ลองดูแพ็กเกจโฮสติ้ง, SSL และโดเมนจาก Hostragons พร้อมรับคำแนะนำจากทีมสนับสนุนสำหรับการตั้งค่าที่เหมาะสมกับความต้องการของคุณ แพ็คเกจโฮสติง Hostragons

คำถามที่พบบ่อย

สิทธิ์ไฟล์ WordPress ควรตั้งเป็นค่าใด?

แนะนำตั้งโฟลเดอร์เป็น 755, ไฟล์เป็น 644 และไฟล์ wp-config.php เป็น 600 หรือ 640 ค่านี้เหมาะสำหรับโฮสติ้งส่วนใหญ่และให้ความปลอดภัยพร้อมใช้งานได้ดี

การตั้งค่าโฟลเดอร์ uploads เป็น 777 ปลอดภัยไหม?

ไม่ปลอดภัย เพราะหมายความว่าทุกคนสามารถเขียนไฟล์ในโฟลเดอร์นี้ได้ เพิ่มความเสี่ยงต่อการอัปโหลดไฟล์อันตราย ควรใช้ 755 และตรวจสอบเจ้าของไฟล์หากพบปัญหา

ตั้งค่า wp-config.php เป็น 600 แล้วเว็บไซต์จะเสียไหม?

ในบางเซิร์ฟเวอร์ 600 ใช้งานได้ลื่นไหล แต่บางแห่งอาจทำให้เกิดข้อผิดพลาด 500 หากเกิดปัญหาให้ลองเปลี่ยนเป็น 640 โดยหลักการคือใช้สิทธิ์ที่เข้มงวดที่สุดที่เซิร์ฟเวอร์ยังอ่านไฟล์ได้

การเปลี่ยน chmod มีผลต่อ SEO หรือไม่?

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

สามารถเปลี่ยนสิทธิ์ไฟล์ผ่าน cPanel ได้ไหม?

ได้ คุณสามารถคลิกขวาที่ไฟล์หรือโฟลเดอร์ใน File Manager ของ cPanel เพื่อเปลี่ยนสิทธิ์ได้ แต่อย่าลืมสำรองข้อมูลและระมัดระวังเมื่อแก้ไขหลายไฟล์พร้อมกัน

แชร์บทความนี้:

ทีมงาน Hostragons

คู่มือล่าสุดจากทีมผู้เชี่ยวชาญของเราเกี่ยวกับการโฮสติ้ง เซิร์ฟเวอร์ และชื่อโดเมน มาค้นหาโซลูชันที่เหมาะสมสำหรับโครงการของคุณไปด้วยกัน

ติดต่อเรา