มีเหตุผลใดที่จะทำให้ส่วนหัวการตอบสนอง“ เซิร์ฟเวอร์” ใน Apache


16

เซิร์ฟเวอร์ของฉันตอบกลับด้วยServer: Apache/2.2.15 (CentOS)คำขอทั้งหมด ฉันเดาว่านี่จะให้สถาปัตยกรรมเซิร์ฟเวอร์ของฉันซึ่งทำให้การแฮ็กพยายามง่ายขึ้น

สิ่งนี้มีประโยชน์กับเว็บเบราว์เซอร์หรือไม่? ฉันควรจะเก็บไว้หรือไม่


เห็นได้ชัดว่าฉันอัปเดตเซิร์ฟเวอร์ของฉันด้วย yum-cron ด้วย!
Nic Cottrell

คำตอบ:


16

ในความคิดของฉันมันเป็นการดีที่สุดที่จะปกปิดสิ่งนี้ให้มากที่สุด มันเป็นหนึ่งในเครื่องมือที่คุณใช้ในการแฮ็คเว็บไซต์ - ค้นพบเทคโนโลยีของมันใช้ข้อบกพร่องที่เป็นที่รู้จักของเทคโนโลยีนั้น เหตุผลเดียวกันว่าทำไมการรักษาความปลอดภัยที่ดีที่สุดในขณะที่กลับเริ่มส่งเสริมให้มี URL ในรูปแบบ "/ ดู / หน้า" แทน "/view/page.jsp" หรือ "/view/page.asp" ... ดังนั้นเทคโนโลยีพื้นฐาน จะไม่ถูกเปิดเผย

มีการสนทนาเกี่ยวกับเรื่องนี้เช่น/programming/843917/why-does-the-server-http-header-existและhttp://www.troyhunt.com/2012/02/shhh- dont-let-your-response-headers.htmlและหนังสือแฮ็คที่เปิดเผยอย่างชัดเจน

นอกจากนี้ยังอยู่ในการรักษาความปลอดภัย SE /security/23256/what-is-the-http-server-response-header-field-used-for

แต่โปรดจำไว้ว่านี่ไม่ใช่จุดจบของการรักษาความปลอดภัยเซิร์ฟเวอร์ของคุณ อีกขั้นหนึ่งในทิศทางที่ถูกต้อง มันไม่ได้ป้องกันการแฮ็คใด ๆ มันทำให้มองเห็นได้น้อยลงเกี่ยวกับสิ่งที่แฮ็คควรทำ


6
การลบนามสกุลไฟล์ใน URL ไม่เกี่ยวกับความปลอดภัย ... สามารถอ่านได้สำหรับมนุษย์ มีอีกหลายพันวิธีที่แพลตฟอร์มแอปพลิเคชันของคุณถูกเปิดเผย
แบรด

หากมีการกำหนดค่าเซิร์ฟเวอร์อย่างเหมาะสมการเปิดเผยว่าผู้โจมตีต้องการแพลตฟอร์มจะไม่ช่วยเขาอยู่ดี
คธูลู

19

คุณสามารถเปลี่ยนส่วนหัวของเซิร์ฟเวอร์ได้หากต้องการ แต่ไม่ต้องคำนึงถึงเรื่องนี้เพื่อความปลอดภัย การรักษาความทันสมัยเท่านั้นที่จะทำเช่นนั้นเนื่องจากผู้โจมตีสามารถเพิกเฉยส่วนหัวของเซิร์ฟเวอร์ของคุณและลองใช้ประโยชน์จากช่องโหว่ที่รู้จักกันตั้งแต่ต้น

RFC 2616 รัฐในส่วน:

ผู้พัฒนาเซิร์ฟเวอร์ได้รับการสนับสนุนให้ทำให้ฟิลด์นี้เป็นตัวเลือกที่กำหนดค่าได้

และ Apache ก็ทำตามServerTokensคำสั่ง คุณสามารถใช้สิ่งนี้หากคุณต้องการ แต่ไม่คิดว่ามันจะเป็นไปอย่างน่าอัศจรรย์ป้องกันคุณจากการถูกโจมตี


4
+1 บันทึกของฉันเต็มไปด้วย "การโจมตี" สำหรับซอฟต์แวร์ที่ไม่ได้ติดตั้ง แฮกเกอร์แค่โยนทุกอย่างที่พวกเขาได้มาและดูว่าไม้อะไร หากมียูทิลิตี้ใด ๆ ในการเปลี่ยน ServerTokens มันจะเล็กน้อยที่สุด
Chris S

@ChrisS แน่นอน ฉันไม่ได้รำคาญ ฉันทำให้เว็บเซิร์ฟเวอร์ของฉันทันสมัยอยู่เสมอ
Michael Hampton

3
ฉันไม่เห็นด้วย ในขณะที่มันอาจจะเป็นเรื่องรองลงมาความปลอดภัยก็ไม่เคยแข็งแกร่งพอและสิ่งใดก็ตามที่สามารถช่วยได้โดยไม่ต้องนำข้อบกพร่องหรือการแสดงที่ลดลงมาบังคับใช้
mveroone

2
ทำไมข้อมูลรุ่นอาสาสมัคร ฉันตั้งค่า "ServerSignature Off" และ "ServerTokens Prod" เสมอ ยอมรับว่าการปรับปรุงเว็บเซิร์ฟเวอร์ของคุณให้ทันสมัยอยู่เสมอเป็นการป้องกันที่แท้จริงเท่านั้น หากคุณไม่ลบข้อมูลรุ่นและส่งไปยังการทดสอบการเจาะผ่านบุคคลที่สามพวกเขาแน่ใจว่าจะตั้งค่าสถานะนี้ว่า "การรั่วไหลของข้อมูล"
HTTP500

@ HTTP500 ฉันจัดการกับการปฏิบัติตาม PCI-DSS เป็นประจำ นี่เป็นปัญหาที่ไม่สมบูรณ์หากคุณได้รับการแก้ไข มันจะกลายเป็นปัญหาที่ไหนเมื่อมันรั่วไหลข้อมูลเกี่ยวกับส่วนอื่น ๆของระบบ (เช่นฉันบอกได้ว่า OP กำลังรัน CentOS 5.x) หรือคุณไม่ได้อัพเดท
Michael Hampton

2

การแสดงสตริงทั้งหมดพร้อมข้อมูลเวอร์ชั่นอาจทำให้คุณมีความเสี่ยงเพิ่มขึ้นจากการโจมตี 0 วันหากผู้โจมตีได้จัดทำรายการเซิร์ฟเวอร์ที่ใช้งานซอฟต์แวร์ใด

อย่างที่กล่าวไปแล้วคุณไม่ควรคาดหวังว่าการซ่อนสายเซิร์ฟเวอร์จะป้องกันคุณจากการพยายามแฮ็ค มีวิธีการพิมพ์ลายนิ้วมือเซิร์ฟเวอร์ตามวิธีการรายงานการตอบสนองและข้อผิดพลาด

ฉันปิดการใช้งานสตริงของฉันเท่าที่ฉันสามารถ แต่ฉันไม่ได้กังวลเกี่ยวกับสิ่งที่ฉันไม่สามารถซ่อน (เช่น OpenSSH)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.