ปิดช่องโหว่เหลือค้าง

  • หลังจากไม่ได้ตรวจสอบช่องโหว่มานาน วันนี้ Nessus ทำใหม่แล้วลองสแกนซักหน่อย
Nessus Scan Report
  • ซึ่งจะพบว่ามี Medium สองรายการ คือ Browsable Web Directory และ WordPress User Enumeration โดย
    • Browsable Web Directory คือ สามารถเข้าถึงรายการใน directory ได้ เช่น ชื่อไฟล์ มีไฟล์อะไรบ้าง ขนาดเท่าไหร่ เป็นต้น เมื่อตรวจสอบก็พบว่าเป็น directory ที่ผู้ใช้ไม่จำเป็นต้องเข้าถึง
    • WordPress User Enumeration คือ สามารถเข้าถึง username ได้ว่ามี user อะไรบ้าง

ปิด Directory Browsing

ทำได้ 2 วิธีคือ

  • แก้ไขแฟ้ม config ของ site ที่ต้องการปิด โดยทั่วไปแฟ้มจะอยู่ที่ /etc/apache2/site-enabled/site.conf โดย site.conf คือชื่อไฟล์ที่ต้องการ โดยเพิ่มในส่วนของ Directory ของไซต์นั้น ตัวอย่างเป็น /var/www/html/aaeee ให้ทำการแก้ไขหรือเพิ่มข้อความตามตัวอย่าง ส่วนสำคัญคือ Options ต้องไม่มีคำว่า Indexes เมื่อแก้ไขเสร็จ ให้ reload หรือ restart apache2 ด้วยคำสั่ง sudo systemctl reload apache2 หรือ sudo systemctl restart apache2
<Directory /var/www/html/aaeee>
        Options FollowSymLinks
        AllowOverride All
</Directory>
  • สำหรับวิธีที่สองนี้ ต้องมีการระบุ AllowOverride All ในแฟ้มของไซต์ ด้วยจึงจะใช้งานได้ (หากแก้ไขไฟล์ไซต์ของ apache2 ต้อง reload หรือ restart ด้วย) เช่น
<Directory /var/www/html/aaeee>
        AllowOverride All
</Directory>
  • สร้างแฟ้ม .htaccess เอาไว้ใน Directory (จากตัวอย่างนี้คือ /var/www/html/aaeee) ที่ต้องการ โดยเพิ่มข้อความข้างล่างนี้วิธีนี้ มีผลทันทีไม่ต้อง reload หรือ restart apache2
Options -Indexes

ปิด WordPress User Enumeration

  • ในไซต์ของ WordPress จะมีแฟ้ม .htaccess อยู่ให้เพิ่มข้อความต่อไปนี้ลงไป โดย yoursite.name คือชื่อเว็บไซต์
#user enumeration
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* https://yoursite.name/? [L,R=302]
  • เมื่อทำสองอย่างแล้วให้ nessus เข้าตรวจสอบอีกครั้ง
Nessus Scan Report
  • เย่….หายไปละ
  • จบขอให้สนุก

1 thought on “ปิดช่องโหว่เหลือค้าง”

Comments are closed.