บทนำ (Overview)
จากบทความก่อนหน้าเราเคยเสนอวิธีการป้องกันการโจมตีแบบ “ClickJacking” โดยการเขียนโปรแกรม โดยทดลองใช้ภาษา PHP (ติดตามได้จากบทความ How to defend against Clickjacking (PHP)) ซึ่งจะสามารถสร้าง “Header” ของ “X-Frame-Options” ได้ มาในบทความนี้เราจะมาตั้งค่าที่ “Apache” ข้อดีคือตั้งค่า 1 ครั้งสามารถใช้ได้กับทุกหน้าเว็บเพจของเราเลยทีเดียว
ขั้นตอน (Steps)
- ทดสอบลองเปิด “Apache2” บน “Kali2.0”
[email protected]:~# service apache2 start
- จากนั้นเปิด “Web Browser” และเข้าไปที่ “URL” (http://127.0.0.1/html)
- ในตอนแรกจะพบว่าไม่มี “Header” ที่ชื่อ “X-Frame-Options” ส่งกลับมาจาก “Server”
- เปิดไฟล์ “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
- หรือเพิ่มเข้าไปในไฟล์ “.htaccess” ในแต่ละ ไดเรกทรอรี
- จากนั้นเพิ่มคำสั่งดังต่อไปนี้
<IfModule mod_headers.c> Header always append X-Frame-Options SAMEORIGIN </IfModule>
- เมื่อตั้งค่าเรียบร้อยแล้วสำหรับให้เปิดใช้งาน “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
- ลอง “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
- ลองเข้าเว็บไซต์ตามข้อ 3 อีกครั้ง พบว่า “มี X-Frame-Options” ปรากฏขึ้นมา