How to turn off “ServerSignature” and “ServerToken” on Apache

บทนำ (Overview)

“Server Signature” และ “Server Token” คือส่วนของข้อมูลที่ถูกส่งไปยัง “Web Browser” ประกอบไปด้วย “Apache version” และระบบปฏิบัติการที่ใช้งาน ซึ่งจะปรากฏเมื่อ “Web Server” ประมวลผลแล้วเกิด “Error” เช่น “404 not found” หรือ “403 access forbidden” เป็นต้น เราสามารถปิด “Server Signature” และ “Server Token” ได้โดยขั้นตอนต่อไปนี้

ขั้นตอน (Steps)

  1. ทดสอบลองเปิด “Apache2” บน “Kali2.0”
    [email protected]:~# service apache2 start
    
  2. จากนั้นเปิด “Web Browser” และเข้าไปที่ “URL” (http://127.0.0.1/html)
  3. “Server signature” ของ “Apache2” มีลักษณะดังนี้ serversignature01
  4. เปิดไฟล์ “Apache2.config” โดยใช้ Text Editor หรือคำสั่งดังนี้
    //สำหรับ Kali, Debian, Ubuntu หรือ Linux Mint
    sudo vi /etc/apache2/apache2.conf 
    
    //สำหรับ CentOS, Fedora, RHEL หรือ Arch Linux
    sudo vi /etc/httpd/conf/httpd.conf 
    
  5. จากนั้นตั้งค่าเพิ่มใน 2 บรรทัดสุดท้ายดังนี้
    //สำหรับไม่ให้แสดงที่ Web Browser
    ServerSignature Off
    
    //สำหรับไม่ให้แสดงที่ Header
    ServerTokens Prod
    
  6. ลอง Restart ตัว Apache2 อีกครั้งโดยใช้คำสั่ง
    //สำหรับ Kali, Debian, Ubuntu หรือ Linux Mint
    sudo service apache2 restart
    
    //CentOS และ RHEL 6
    service httpd restart ()
    
    //Fedora, CentOS/RHEL 7 และ Arch Linux
    systemctl restart httpd.service
    
  7. ลองเข้าเว็บไซต์ตามข้อ 3 อีกครั้ง พบว่า “Server signature” หายไปดังรูป serversignature02
  8. จากนั้นเราทดลองเอาคำสั่ง “ServerTokens Prod” และ “Restart Apache” อีกครั้งพบว่า “Version” และ “OS” ไม่แสดงบนหน้า “Web Browser” แล้วแต่ยังแสดงในส่วนของ “HTTP header” อยู่ดี serversignature03
  9. ตัวอย่างวิธีตั้งค่า “ServerTokens Prod”
    //แสดงเต็ม ๆ ไม่ต้องตั้งค่าก็ได้
    //ตัวอย่างเช่น Server: Apache/2.4.2 (Unix) PHP/4.2.2  MyMod/1.2
    ServerTokens Full 
    
    //แสดงเฉพาะชื่อ Prod ย่อมาจาก Prod[uctonly]
    //ตัวอย่างเช่น Server: Apache
    ServerTokens Prod
    
    //แสดง Version หลัก
    //ตัวอย่างเช่น Server: Apache/2
    ServerTokens Major
    
    //แสดง Version หลัก และย่อยด้วย
    //ตัวอย่างเช่น Server: Apache/2.4
    ServerTokens Minor
     
    //แสดง Version เต็มๆ 
    //ตัวอย่างเช่น Server: Apache/2.4.2
    ServerTokens Min[imal]
    
    //แสดง OS
    //ตัวอย่างเช่น Server: Apache/2.4.2 (Unix)
    ServerTokens OS
    

 

ใส่ความเห็น