วิธีซ่อนหมายเลขเวอร์ชัน Apache และข้อมูลที่ละเอียดอ่อนอื่น ๆ
เมื่อคำขอระยะไกลถูกส่งไปยังเว็บเซิร์ฟเวอร์ Apache ของคุณ ตามค่าเริ่มต้น ข้อมูลที่มีค่าบางอย่าง เช่น หมายเลขเวอร์ชันของเว็บเซิร์ฟเวอร์ รายละเอียดระบบปฏิบัติการของเซิร์ฟเวอร์ โมดูล Apache ที่ติดตั้ง และอื่นๆ จะถูกส่งไปตามเอกสารที่สร้างโดยเซิร์ฟเวอร์กลับไปยังไคลเอนต์
อ่านเพิ่มเติม: วิธีซ่อนเวอร์ชันเซิร์ฟเวอร์ Nginx ใน Linux
นี่เป็นข้อมูลที่ดีสำหรับผู้โจมตีเพื่อใช้ประโยชน์จากช่องโหว่และเข้าถึงเว็บเซิร์ฟเวอร์ของคุณ เพื่อหลีกเลี่ยงการแสดงข้อมูลเว็บเซิร์ฟเวอร์ เราจะแสดงวิธีซ่อนข้อมูลของ Apache Web Server ในบทความนี้โดยใช้คำสั่ง Apache เฉพาะในบทความนี้
การอ่านที่แนะนำ: 13 เคล็ดลับที่เป็นประโยชน์เพื่อรักษาความปลอดภัยเว็บเซิร์ฟเวอร์ Apache ของคุณ
คำสั่งที่สำคัญสองประการคือ:
ลายเซ็นเซิร์ฟเวอร์
ซึ่งอนุญาตให้เพิ่มบรรทัดส่วนท้ายที่แสดงชื่อเซิร์ฟเวอร์และหมายเลขเวอร์ชันภายใต้เอกสารที่เซิร์ฟเวอร์สร้างขึ้น เช่น ข้อความแสดงข้อผิดพลาด รายการไดเรกทอรี ftp ของ mod_proxy เอาต์พุต mod_info และอื่นๆ อีกมากมาย
มีค่าที่เป็นไปได้สามค่า:
- เปิด – ซึ่งอนุญาตให้เพิ่มบรรทัดส่วนท้ายต่อท้ายในเอกสารที่เซิร์ฟเวอร์สร้างขึ้น
- ปิด – ปิดใช้งานบรรทัดส่วนท้ายและ
- อีเมล – สร้างการอ้างอิง “mailto:”; ซึ่งส่งอีเมลไปยัง ServerAdmin ของเอกสารอ้างอิง
โทเค็นเซิร์ฟเวอร์
จะกำหนดว่าฟิลด์ส่วนหัวการตอบกลับของเซิร์ฟเวอร์ที่ส่งกลับไปยังไคลเอนต์มีคำอธิบายของประเภทระบบปฏิบัติการเซิร์ฟเวอร์และข้อมูลเกี่ยวกับโมดูล Apache ที่เปิดใช้งานหรือไม่
คำสั่งนี้มีค่าที่เป็นไปได้ดังต่อไปนี้ (รวมถึงข้อมูลตัวอย่างที่ส่งถึงไคลเอนต์เมื่อตั้งค่าเฉพาะ):
ServerTokens Full (or not specified)
Info sent to clients: Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2
ServerTokens Prod[uctOnly]
Info sent to clients: Server: Apache
ServerTokens Major
Info sent to clients: Server: Apache/2
ServerTokens Minor
Info sent to clients: Server: Apache/2.4
ServerTokens Min[imal]
Info sent to clients: Server: Apache/2.4.2
ServerTokens OS
Info sent to clients: Server: Apache/2.4.2 (Unix)
หมายเหตุ: หลังจาก Apache เวอร์ชัน 2.0.44 คำสั่ง ServerTokens ยังควบคุมข้อมูลที่เสนอโดย คำสั่ง ServerSignature
การอ่านที่แนะนำ: 5 เคล็ดลับในการเพิ่มประสิทธิภาพของ Apache Web Server
หากต้องการซ่อนหมายเลขเวอร์ชันของเว็บเซิร์ฟเวอร์ รายละเอียดระบบปฏิบัติการของเซิร์ฟเวอร์ โมดูล Apache ที่ติดตั้ง และอื่นๆ ให้เปิดไฟล์การกำหนดค่าเว็บเซิร์ฟเวอร์ Apache ของคุณโดยใช้โปรแกรมแก้ไขที่คุณชื่นชอบ:
sudo vi /etc/apache2/apache2.conf #Debian/Ubuntu systems
sudo vi /etc/httpd/conf/httpd.conf #RHEL/CentOS systems
และเพิ่ม/แก้ไข/ต่อท้ายบรรทัดด้านล่าง:
ServerTokens Prod
ServerSignature Off
บันทึกไฟล์ ออกและรีสตาร์ทเว็บเซิร์ฟเวอร์ Apache ของคุณดังนี้:
sudo systemctl restart apache2 #SystemD
sudo service apache2 restart #SysVInit
ในบทความนี้ เราได้อธิบายวิธีซ่อนหมายเลขเวอร์ชันของเว็บเซิร์ฟเวอร์ Apache รวมถึงข้อมูลเพิ่มเติมมากมายเกี่ยวกับเว็บเซิร์ฟเวอร์ของคุณโดยใช้คำสั่ง Apache บางอย่าง
หากคุณใช้ PHP บนเว็บเซิร์ฟเวอร์ Apache ฉันขอแนะนำให้คุณซ่อนหมายเลขเวอร์ชัน PHP
ตามปกติคุณสามารถเพิ่มความคิดเห็นของคุณลงในคำแนะนำนี้ได้ผ่านทางส่วนความคิดเห็นด้านล่าง