ฉันจะทำให้ไฟล์การกำหนดค่า apache ของฉันปรากฏในหน้าเว็บได้อย่างไร มีวิธีสั้น ๆ ที่จะทำหรือไม่?
ปลอดภัยไหม ฉันหมายถึง .. มันควรจะปรากฏเฉพาะกับฉันเท่านั้น? หรือมันก็โอเคพอสมควรถ้าไม่มีใครรู้ว่ามันหน้าไหน?
ฉันจะทำให้ไฟล์การกำหนดค่า apache ของฉันปรากฏในหน้าเว็บได้อย่างไร มีวิธีสั้น ๆ ที่จะทำหรือไม่?
ปลอดภัยไหม ฉันหมายถึง .. มันควรจะปรากฏเฉพาะกับฉันเท่านั้น? หรือมันก็โอเคพอสมควรถ้าไม่มีใครรู้ว่ามันหน้าไหน?
คำตอบ:
ไม่ว่าจะปลอดภัยหรือไม่นั้นขึ้นอยู่กับการกำหนดค่า Apache เฉพาะของคุณ แต่จริงๆแล้วคุณไม่ควรเปิดเผยรายละเอียดการกำหนดค่าของระบบใด ๆ ต่อสาธารณะโดยรวมเว้นแต่คุณจะมีความต้องการที่เฉพาะเจาะจง (เช่นคุณกำลังใช้งานเว็บไซต์เกี่ยวกับความปลอดภัยของ Apache และใช้เว็บไซต์เป็นตัวอย่าง)
อย่างไรก็ตามหากคุณต้องการทำเพียงแค่สร้างลิงก์สัญลักษณ์ในสารบบเว็บของคุณไปยังไฟล์กำหนดค่าของคุณ สิ่งที่ต้องการ:
ln -s /etc/apache2/apache2.conf /var/www/apache2.conf
จากนั้นผู้ใช้สามารถป้อน http: //www.yourdomain.example/apache2.conf และดูมัน แน่นอนไฟล์การกำหนดค่าของคุณจะต้องสามารถอ่านได้ทั่วโลก
โปรดทราบว่าโดยปกติแล้วจะมีการกำหนดค่า Apache มากกว่าเพียงแค่ไฟล์นั้นคุณจะต้องเปิดเผย / etc / apache2 conf ทั้งหมด ( ln -s /etc/apache2 /var/www/my-apache-configuration-directory
) หากคุณต้องการให้การกำหนดค่าเต็มสามารถมองเห็นได้
ทีนี้ถ้าสิ่งที่คุณต้องการคือคุณต้องการให้แฟ้มการกำหนดค่าปรากฏขึ้น ส่วนหนึ่ง โดยทั่วไปคุณจะต้องมีสคริปต์ CGI หรือไฟล์ปฏิบัติการอื่น ๆ ที่สร้างเว็บเพจและรวมเนื้อหาของไฟล์นั้นไว้เป็นส่วนหนึ่งของกระบวนการนั้น หรือคุณสามารถสร้างสคริปต์ภายนอกที่สร้างหน้าเว็บนั้นแล้วทิ้งไฟล์ HTML ไว้ที่ใดที่หนึ่ง คุณสามารถเรียกใช้สคริปต์นี้ผ่าน cron ได้บ่อย ๆ (วันละครั้ง?) เพื่อตรวจสอบการอัปเดตไฟล์ของคุณหรือถ้าคุณใช้ Linux คุณสามารถทำสิ่งที่ซับซ้อนด้วย inotify และให้เรียกสคริปต์สร้างใหม่ทุกครั้งที่คุณแก้ไข ไฟล์ หรือคุณสามารถไปเส้นทางที่ง่ายและใช้ฝั่งเซิร์ฟเวอร์รวมถึง
แต่จริงๆแล้วมันเป็นความคิดที่ไม่ดี อย่าทำมัน
ไม่ปลอดภัย www (หรือสิ่งใดก็ตามที่ผู้ใช้ apache กำลังทำงานอยู่) ผู้ใช้ไม่ควรอ่านไฟล์ภายนอกทรีเว็บ
วิธีที่ดีที่สุดคือการคัดลอกไฟล์ไปยัง sub-dir ของ web-root (อาจทำเป็น cron เป็นระยะ ๆ ) และป้องกันโดยใช้ .htaccess
คำถามของฉันคือทำไมคุณต้องเปิดเผยเรื่องนี้จากภายนอก? Apache น่าจะเป็นเซิร์ฟเวอร์ 'set and forget' ฉันไม่ต้องการเข้าใจมากเกินไป แต่การคาดเดาครั้งแรกของฉันคือถ้าคุณต้องการทำสิ่งนี้มีสิ่งผิดปกติในแบบจำลอง Apache ของคุณ ทำไมคุณต้องเห็นมัน (ยังไม่สามารถเปลี่ยนได้) ในระยะไกลหรือบ่อยครั้งมากพอที่จะทำให้สิ่งนี้คุ้มค่ากับงานที่จำเป็นเพื่อนำออกมา ไฟล์กำหนดค่าสามารถรวมไฟล์กำหนดค่าอื่น ๆ และคุณต้องทำให้ไฟล์เหล่านี้ถูกเปิดเผยเพื่อให้แน่ใจว่าคุณสามารถเห็นทุกอย่างที่เกี่ยวข้องกับการกำหนดค่า
และอาจเป็นอันตรายได้ มันเป็นการรั่วไหลของข้อมูลจำนวนมากไปยังผู้โจมตีในสิ่งที่คุณกำหนดค่า หากคุณมีการกำหนดค่าที่ไม่ปลอดภัยคุณจะต้องเปิดเผย หากคุณต้องการทำสิ่งนี้โปรดล็อคมันไว้ อย่าสันนิษฐานว่าหากไม่เชื่อมโยงไปยังไฟล์นี้ผู้คนจะไม่พบไฟล์นี้ หากคุณทำอะไรเช่นนี้ให้สร้างไดเรกทอรีไว้และล็อคไว้ด้วยรหัสผ่านข้อ จำกัด IP หรือทั้งสองอย่าง
ฉันมีสองข้อเสนอแนะสำหรับคุณ หนึ่งคือการเปิดเผยชุดย่อยของการกำหนดค่าที่มีอยู่ผ่านโมดูล mod_info
. มีการกำหนดค่าอยู่แล้วในค่าเริ่มต้น httpd.conf
ที่แมป URL /server-info
ถึงโมดูล mod_info แต่มันใส่ความคิดเห็นโดยค่าเริ่มต้น ให้แน่ใจว่าเข้าใจการกำหนดค่าอนุญาต / ปฏิเสธและล็อคลงไปยังตำแหน่งที่คุณสามารถดูข้อมูลได้ มันไม่เปิดเผยเท่าที่การตั้งค่าที่แท้จริงจะ แต่มันควรจะถูกล็อคลง
ดูที่ Webmin ซึ่งเป็นวิธีการกำหนดค่าเครื่อง UNIX รวมถึง Apache คุณสามารถกำหนดค่าจากระยะไกลได้ เห็นได้ชัดว่านี่ใช้เวลามากขึ้นในการทำงาน