ลบชื่อ Server ออกจาก response header (Nginx)
![ลบชื่อ Server ออกจาก response header (Nginx)](/content/images/size/w960/2023/12/Untitled-design.png)
เปิดบทความแรกของ blog นี้กันด้วยเจ้านี่ละกันครับ อาจจะเป็นแค่เรื่องง่ายๆ แต่จริงๆก็สำคัญอยู่นะ เพราะ server มันจะแสดงว่าเราใช้ของอะไร เป็น version ไหน ซึ่งเมื่อเราใช้ไปนานๆ มันอาจจะมีช่องโหว่ใน version ที่เราใช้อยู่ ทำให้ระบบเราอาจถูกเจาะได้
Nginx โดยปกติแล้วค่า Default ของมันจะส่งข้อมูล server ออกไปทาง header ตัวอย่างเช่น Server: nginx/1.14.0
ซึ่งวิธีแรกเราสามารถซ่อน version ได้ง่ายๆผ่าน config ของ Nginx ได้เลย
server {
...
server_tokens off;
...
}
วิธีนี้ผลที่ได้คือ version จะหายไปเหลือแค่ server ตัวอย่าง Server: nginx
และแน่นอน บางคนอาจจะยังอยากเอาออกไปเลย ผมเลยมีวิธีเพิ่มเติมให้ครับ ... ตัวอย่างนี้ผมใช้ debian
sudo apt-get update
sudo apt-get install nginx-extras
และในส่วน config ของ Nginx
server {
...
server_tokens off;
more_clear_headers Server;
...
}
เมื่อทำการ reload Nginx แล้ว ผลที่ได้มาคือ Server หายไปแล้ว 🎉
เป็นยังไงกันบ้างครับ ง่ายไหม หวังว่าบทความแรกของ blog นี้จะช่วยหลายๆคนที่กำลังหาวิธีกันอยู่นะครับ และผมจะพยายามนำปัญหา หรือความรู้ต่างที่เจอในงาน หรือจากที่หาความรู้มาแบ่งปันเรื่อยๆนะครับ ขอบคุณที่เข้ามาอ่านครับ ☺️