การอนุญาตไฟล์ WordPress: คำแนะนำในการกำหนดค่าการอนุญาตเว็บไซต์และเว็บเซิร์ฟเวอร์ที่ปลอดภัย

เผยแพร่แล้ว: 2020-07-02

WordPress สามารถทำงานบนระบบปฏิบัติการใด ๆ ที่รัน PHP ได้ อย่างไรก็ตาม เว็บไซต์ WordPress ส่วนใหญ่ทำงานบน Linux ดังนั้นจึงเป็นสิ่งสำคัญที่คุณจะต้องเข้าใจการอนุญาตไฟล์ลินุกซ์

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

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

สารบัญ

  • สิทธิ์ของไฟล์คืออะไร?
    • กลุ่มสิทธิ์
    • ประเภทสิทธิ์
  • การแสดงสิทธิ์
  • สิทธิ์ไฟล์ WordPress ที่แนะนำ
  • วิธีแก้ไขการอนุญาตไฟล์ WordPress
    • บนบริการโฮสติ้งที่ใช้ร่วมกัน
    • ผ่าน FTP
    • ผ่าน SSH
  • เคล็ดลับโบนัส: ความปลอดภัยที่เหนือกว่าการอนุญาตไฟล์

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

กลุ่มสิทธิ์

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

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

ประเภทสิทธิ์

ตอนนี้เรารู้วิธีระบุว่า ใคร สามารถเข้าถึงไฟล์หรือไดเร็กทอรี เราจำเป็นต้องเลือกชนิดของการอนุญาตที่เราให้แต่ละ เจ้าของ กลุ่ม และ อื่นๆ สำหรับไฟล์หรือไดเร็กทอรี ต่อไปนี้เป็น ประเภทการอนุญาต ที่เราสามารถมอบให้กับ กลุ่มการอนุญาต ( owner , group , other ):

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

การแสดงใบอนุญาต

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

  1. หมายเลขแรก
    • สิทธิ์ที่มอบให้กับ เจ้าของ
  2. ตัวที่สอง
    • สิทธิ์ที่มอบให้กับ กลุ่ม
  3. หมายเลขสาม
    • สิทธิ์ที่มอบให้กับ ผู้อื่น (ทุกคน ยกเว้น เจ้าของ และ กลุ่ม )

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

ไฟล์ลินุกซ์และไดเรกทอรีอนุญาต

สับสน? อาจใช้เวลาสักครู่และฝึกฝนบางอย่างเพื่อเอาใจคุณ ในระหว่างนี้ นี่คือตารางการอนุญาตไฟล์ที่เป็นไปได้ทั้งหมดที่คุณสามารถกำหนดให้กับ แต่ละ กลุ่มการอนุญาต

ตัวเลข จดหมาย คำอธิบาย
0 (0+0+0) --- ไม่มีการเข้าถึง
1 (0+0+1) --x ดำเนินการ
2 (0+2+0) -w- เขียน
3 (0+2+1) -wx เขียนและดำเนินการ
4 (4+0+0) ร-- อ่าน
5 (4+0+1) rx อ่านและดำเนินการ
6 (4+2+0) rw- อ่านและเขียน
7 (4+2+1) rwx อ่าน เขียน และดำเนินการ

หากต้องการดูตัวอย่างที่เป็นรูปธรรม การอนุญาตไฟล์ 644 หมายถึง

  • สิทธิ์ของ เจ้าของ ในการ อ่าน และ เขียน ไฟล์หรือไดเร็กทอรี
  • กลุ่ม ได้รับอนุญาตให้ อ่าน ไฟล์หรือไดเร็กทอรี
  • อื่น ๆ ได้รับอนุญาตให้ อ่าน ไฟล์หรือไดเรกทอรี

สิทธิ์ filer 644 อธิบาย

โดยปกติคุณจะเห็นค่าเหล่านี้แสดงโดยไม่มีช่องว่างใด ๆ และมีการเพิ่มเติม - หรือ d ที่จุดเริ่มต้น The หมายถึงไฟล์ปกติ d หมายถึงไดเร็กทอรี ต่อไปนี้คือตัวอย่างการใช้คำสั่ง Linux ls -la เพื่อแสดงรายการไฟล์ในไดเร็กทอรี

 $ ls -la
รวม 0
drwxr-xr-x 4 กลุ่มผู้ใช้ 128 25 พฤษภาคม 23:25 น.
drwxrwxrwt 8 รูทวงล้อ 256 25 พฤษภาคม 23:25 ..
drwxr-xr-x 2 กลุ่มผู้ใช้ 64 25 พฤษภาคม 23:25 ไดเรกทอรี
-rw-r--r-- 1 กลุ่มผู้ใช้ 0 25 พฤษภาคม 23:25 file.txt

สิทธิ์ไฟล์ WordPress ที่แนะนำ

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

นี่คือเหตุผลที่คุณ ไม่ ควรตั้งค่าการอนุญาตไฟล์ WordPress เป็น 777 (-rwxrwxrwx) ซึ่งจะทำให้สามารถเข้าถึงการอ่าน เขียน และดำเนินการได้อย่างสมบูรณ์สำหรับทุกคนที่อยู่ในตำแหน่งที่จะควบคุมไฟล์นั้น นี่อาจเป็นบุคคลที่สามที่ทำการเปลี่ยนแปลงผ่าน FTP หรือ SSH หรือผู้โจมตีผ่านแบบฟอร์มการอัปโหลด

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

ดังนั้นเพื่อการโต้แย้ง การอนุญาต 444 (-r–r–r–) อาจทำให้เว็บไซต์ WordPress ของคุณทำงานผิดปกติ ด้วย 444 WordPress จะได้รับอนุญาตให้ อ่าน d เท่านั้น ดังนั้นการอัปเดตอัตโนมัติจะล้มเหลว ด้วยเหตุนี้ จึง เป็น ไปได้ที่จะเรียกใช้ WordPress ด้วยสิทธิ์แบบอ่านอย่างเดียว ( 444 หรือ r–r–r–) มันจะเป็นการติดตั้งที่ง่ายมาก อย่างไรก็ตาม คุณจะต้องคำนึงถึงข้อจำกัดดังกล่าวด้วย

ผู้ให้บริการโฮสติ้ง WordPress ที่มีการจัดการบางรายสนับสนุนสิ่งนี้ตั้งแต่แรกเริ่ม แม้ว่าคุณต้องการเรียกใช้ WordPress ด้วยสิทธิ์ดังกล่าว ก่อนอื่นให้ลองใช้ในสภาพแวดล้อมการแสดงละคร

สิทธิ์ของไฟล์ที่แนะนำโดย WordPress มีดังนี้

พิมพ์ ตัวเลข จดหมาย คำอธิบาย
ไดเรกทอรี 755 drwx-wx-wx ไดเรกทอรีการติดตั้ง WordPress
ไฟล์ 644 -rwxr--r-- แกนหลักของ WordPress, ธีมและปลั๊กอินของ WordPress (อาจมีข้อยกเว้นกับบางธีมและปลั๊กอิน)
wp-config.php 600 -rw------- ไฟล์กำหนดค่า WordPress
.htaccess 644 หรือ
600
-rw-r--r--
-rw-------
ไฟล์การกำหนดค่า Apache HTTP Server (อาจใช้ไม่ได้หากคุณใช้ Nginx หรือเว็บเซิร์ฟเวอร์อื่นที่ไม่ใช่ Apache HTTP Server)

วิธีแก้ไขการอนุญาตไฟล์ WordPress

แม้ว่าสภาพแวดล้อมการโฮสต์หนึ่งจะแตกต่างจากที่อื่น คุณจะมีวิธีควบคุมการอนุญาตไฟล์ WordPress เสมอ

แก้ไขการอนุญาตไฟล์ WordPress ผ่านแผงควบคุมโฮสติ้งที่ใช้ร่วมกันของคุณ

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

แก้ไขการอนุญาตไฟล์ WordPress ผ่าน FTP

การแก้ไขการอนุญาตไฟล์ WordPress สามารถทำได้ง่าย ๆ ผ่านไคลเอนต์ FTP เช่น FileZilla หรือ Cyberduck ภาพหน้าจอต่อไปนี้มาจาก Cyberduck เพียงคลิกขวาที่ไฟล์หรือไดเร็กทอรีที่คุณต้องการเปลี่ยนการอนุญาต คลิก ข้อมูล จากนั้นคลิกที่แท็บ การ อนุญาต

กระบวนการนี้คล้ายกับ Filezilla คลิกขวาที่ไฟล์ เลือก สิทธิ์ ของไฟล์ จากนั้นระบบจะแสดงกล่องโต้ตอบที่คล้ายกัน

การเปลี่ยนการอนุญาตไฟล์ด้วยไคลเอนต์ FTP

แก้ไขการอนุญาต WordPress ผ่าน SSH

หากคุณใช้ไคลเอ็นต์ SSH อยู่แล้ว คุณสามารถรันคำสั่ง Linux chmod เพื่อแก้ไขสิทธิ์ของไฟล์ได้ จากตัวอย่างเดียวกันกับข้างต้น ในการเปลี่ยนการอนุญาตของ wp-config.php จาก 644 เป็น 600 เราจะใช้คำสั่งต่อไปนี้:

 # เปลี่ยนไดเร็กทอรีไปยังตำแหน่งการติดตั้ง WordPress ของคุณ
$ cd /var/www/html
# รายการรายละเอียดไฟล์ของ wp-config.php
$ ls -la wp-config.php
-rw-r--r-- 1 www-data www-data 7368 2 ก.ย. 2019 wp-config.php
# เปลี่ยนการอนุญาตของ wp-config.php จาก 644 ปัจจุบันเป็น 600
$ chmod 600 wp-config.php
# ตรวจสอบการเปลี่ยนแปลงของคุณ
$ ls -la wp-config.php
-rw------- 1 www-data www-data 7368 2 ก.ย. 2019 wp-config.php

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

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

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

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

เคล็ดลับความปลอดภัยโบนัส: นอกเหนือจากการอนุญาตไฟล์ WordPress

การอนุญาตไฟล์ WordPress ที่ถูกต้องเป็นจุดเริ่มต้นที่ดีในการดำเนินการเกี่ยวกับความปลอดภัยของ WordPress อย่างไรก็ตาม สิ่งที่อยู่ไกลจากสิ่งเดียวที่ต้องกังวล สิ่งอื่น ๆ ที่คุณควรทำเพื่อปรับปรุงท่าทางความปลอดภัยของเว็บไซต์ WordPress คือ:

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