How to turn on “X-Frame-Options” on Apache

บทนำ (Overview)

จากบทความก่อนหน้าเราเคยเสนอวิธีการป้องกันการโจมตีแบบ “ClickJacking” โดยการเขียนโปรแกรม โดยทดลองใช้ภาษา PHP (ติดตามได้จากบทความ How to defend against Clickjacking (PHP)) ซึ่งจะสามารถสร้าง “Header” ของ “X-Frame-Options” ได้ มาในบทความนี้เราจะมาตั้งค่าที่ “Apache” ข้อดีคือตั้งค่า 1 ครั้งสามารถใช้ได้กับทุกหน้าเว็บเพจของเราเลยทีเดียว

ขั้นตอน (Steps)

  1. ทดสอบลองเปิด “Apache2” บน “Kali2.0”
    [email protected]:~# service apache2 start
    
  2. จากนั้นเปิด “Web Browser” และเข้าไปที่ “URL” (http://127.0.0.1/html)
  3. ในตอนแรกจะพบว่าไม่มี “Header” ที่ชื่อ “X-Frame-Options” ส่งกลับมาจาก “Server”apache_xframe1
  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. หรือเพิ่มเข้าไปในไฟล์ “.htaccess” ในแต่ละ ไดเรกทรอรี
  6. จากนั้นเพิ่มคำสั่งดังต่อไปนี้
    <IfModule mod_headers.c>
      Header always append X-Frame-Options SAMEORIGIN
    </IfModule>
    
  7. เมื่อตั้งค่าเรียบร้อยแล้วสำหรับให้เปิดใช้งาน “mod_headers” โดยใช้คำสั่งดังนี้
    //เปิดใช้งาน mod_headers สำหรับ "Kali, Debian, Ubuntu หรือ Linux Mint" 
    [email protected]:~# a2enmod headers
    Enabling module headers.
    To activate the new configuration, you need to run:
      service apache2 restart
    
    //ถ้าเคยเปิดแล้วจะแสดง
    [email protected]:~# a2enmod headers
    Module headers already enabled
    
    //เปิดใช้งาน mod_headers CentOS, Fedora, RHEL หรือ Arch Linux 
    httpd -M
    
  8. ลอง “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
    
  9. ลองเข้าเว็บไซต์ตามข้อ 3 อีกครั้ง พบว่า “มี X-Frame-Options” ปรากฏขึ้นมาapache_xframe2

ใส่ความเห็น