Apache Security – 10 เคล็ดลับสำหรับการติดตั้งที่ปลอดภัย

เผยแพร่แล้ว: 2022-01-05

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

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

ในบทความนี้ เราจะพูดถึง 10 เคล็ดลับสำหรับการรักษาความปลอดภัยการติดตั้ง Apache ของคุณ เพื่อให้คุณไม่มีปัญหาใดๆ ระหว่างทาง – อ่านต่อ!


Apache Security – 10 เคล็ดลับสำหรับการติดตั้งที่ปลอดภัย

1) ปิดการใช้งานคำสั่งข้อมูลเซิร์ฟเวอร์

หากคุณเปิดใช้งานคำสั่งใน httpd.conf และไปที่หน้าการกำหนดค่า Apache ของคุณ โปรแกรมจะแจ้งข้อมูลเกี่ยวกับสิ่งที่เกิดขึ้นในส่วนนี้!

ซึ่งอาจรวมถึงข้อมูลที่ละเอียดอ่อนเกี่ยวกับการตั้งค่าเซิร์ฟเวอร์ของคุณ เช่น ซอฟต์แวร์เวอร์ชันใดที่คุณใช้และที่เก็บไฟล์เหล่านี้ไว้ในเครื่อง

การใช้ข้อมูลนี้ ผู้โจมตีสามารถทราบได้ว่าเซิร์ฟเวอร์ของคุณใช้ OpenSSL เวอร์ชันที่มีช่องโหว่หรือไม่

แก้ไขปัญหานี้โดยลบโมดูล mod_info ในไฟล์การกำหนดค่า httpd.conf Apache: #LoadModule info_module modules/mod_info.so


2) ปิดการใช้งานคำสั่งสถานะเซิร์ฟเวอร์

คำสั่งแสดงรายการข้อมูลเกี่ยวกับประสิทธิภาพของเซิร์ฟเวอร์ของแอปพลิเคชันของคุณ เช่น เวลาทำงานและโหลด ผู้โจมตีสามารถใช้ข้อมูลนี้เพื่อพิจารณาว่าเซิร์ฟเวอร์ใดของคุณมีการใช้งานมากที่สุดและมีความเสี่ยงมากที่สุด คุณสามารถแก้ไขได้โดยแสดงความคิดเห็นในไฟล์กำหนดค่า httpd.conf Apache:

 #<ตำแหน่ง /สถานะเซิร์ฟเวอร์>
# สถานะเซิร์ฟเวอร์ SetHandler
#สั่งปฏิเสธอนุญาต
#ปฎิเสธทุกอย่าง
# อนุญาตจาก .your_domain.com
#</ที่ตั้ง>

3) ปิดการใช้งาน ServerSignature Directive

คำสั่ง ServerSignature เป็นวิธีที่ยอดเยี่ยมในการเพิ่มข้อมูลเพิ่มเติมเกี่ยวกับเว็บเซิร์ฟเวอร์ของคุณ รวมถึงเวอร์ชันของ Apache ที่คุณใช้งานอยู่และระบบปฏิบัติการใด

Apache ต้องการให้ปิดคำสั่งนี้ เพื่อไม่ให้คุณเห็นข้อมูลที่ละเอียดอ่อนในคอมพิวเตอร์ของคุณ ใช้ ServerSignature Off ในไฟล์การกำหนดค่า httpd.conf Apache ของคุณ


4) ตั้งค่า ServerTokens Directive เป็น Prod

คำสั่ง ServerTokens ใช้เพื่อส่งคืนชุดข้อมูลในช่องส่วนหัวของการตอบกลับ คำสั่ง Apache ServerTokens สามารถมีรูปแบบต่างๆ ได้มากมาย รวมถึงรูปแบบที่แสดงในเอกสารประกอบ

เมื่อตั้งค่าคำสั่ง ServerTokens เป็น Prod เฉพาะ Apache เท่านั้นที่จะแสดงในส่วนหัวการตอบกลับของเซิร์ฟเวอร์ ทำได้โดยเพิ่ม ServerTokens Prod ลงในไฟล์การกำหนดค่า httpd.conf Apache ของคุณ


5) ปิดการใช้งานรายการไดเรกทอรี

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

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

ตั้งค่าคำสั่ง Options ในไฟล์ Apache httpd.conf:

 <Directory /your/website/directory>
ตัวเลือก -ดัชนี
</ไดเรกทอรี>

6) เปิดใช้งานเฉพาะโมดูลที่จำเป็น

Apache HTTP Server เป็นเครื่องมือที่ทรงพลัง แต่ก็สามารถครอบงำได้หากไม่ได้กำหนดค่าอย่างถูกต้อง มีโมดูลมากมายที่ติดตั้งไว้ล่วงหน้าและเปิดใช้งานโดยค่าเริ่มต้น ซึ่งคุณอาจใช้หรือไม่ต้องการใช้ ดังนั้นก่อนการติดตั้ง ตรวจสอบให้แน่ใจว่าตัวเลือกเหล่านี้ทำในสิ่งที่พวกเขาต้องการในสภาพแวดล้อมของคุณ!

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

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


7) ใช้ผู้ใช้และกลุ่มที่เหมาะสม

Apache เป็นเว็บเซิร์ฟเวอร์ที่ทรงพลังและใช้งานได้หลากหลาย แต่แนวทางปฏิบัติที่ดีที่สุดคือใช้กับบัญชีที่ไม่มีสิทธิพิเศษ แทนที่จะใช้ภายใต้ daemon (ค่าเริ่มต้น) ซึ่งช่วยให้ระบบของคุณปลอดภัยโดยจำกัดการเข้าถึง Apache เฉพาะเมื่อจำเป็นเท่านั้น!

นอกจากนี้ กระบวนการที่แตกต่างกันสองกระบวนการที่ทำงานด้วยผู้ใช้และกลุ่มเดียวกันสามารถนำไปสู่การหาช่องโหว่ในหนึ่งในนั้น การเปลี่ยนผู้ใช้และกลุ่ม Apache ต้องแก้ไขไฟล์การกำหนดค่า httpd.conf เป็น Change User หรือ Group directives


8) จำกัดบริการที่ไม่ต้องการ

หากคุณต้องการรักษา Apache ของคุณให้ปลอดภัย ไม่ควรให้บริการใดๆ ทำงานหรือสร้างลิงก์สัญลักษณ์หากไม่จำเป็น การปิดใช้งานบริการทำได้ง่ายด้วยคำสั่ง Options ใน httpd.conf และคุณสามารถทำได้สำหรับไดเร็กทอรีเฉพาะในกรณีที่จำเป็นเช่นกัน!

นี่คือตัวอย่างสิ่งที่ต้องทำ:

 <Directory /your/website/directory>
ตัวเลือก -ExecCGI -FollowSymLinks -รวม
</ไดเรกทอรี>

9) ใช้ ModSecurity WAF

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

วิธีที่ยอดเยี่ยมในการปรับปรุงความปลอดภัยของเว็บเซิร์ฟเวอร์ของคุณและป้องกันการโจมตีจำนวนมากคือการติดตั้ง mod_security ซึ่งจะช่วยให้คุณมีโอกาสได้รับการปกป้องจากการปฏิเสธบริการแบบกระจาย (DDOS) ด้วยเช่นกัน


10) เปิดใช้งานการบันทึก

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

โมดูล mod_log_config ช่วยให้คุณสามารถบันทึกการดำเนินการของ Apache ในการทำเช่นนั้น ตรวจสอบให้แน่ใจว่าไฟล์นั้นรวมอยู่ในไฟล์ httpd conf ของคุณ


เหตุใดความปลอดภัยของ Apache จึงมีความสำคัญ

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

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


บทสรุป

โดยสรุป การปฏิบัติตามคำแนะนำง่ายๆ เหล่านี้จะช่วยให้การติดตั้ง Apache ของคุณปลอดภัยยิ่งขึ้น หลักเกณฑ์เหล่านี้เป็นเพียงจุดเริ่มต้น ดังนั้นอย่าลืมค้นคว้าเพิ่มเติมเกี่ยวกับความปลอดภัยของความต้องการเว็บแอปพลิเคชันของคุณโดยเฉพาะ!

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