Gixy - เครื่องมือวิเคราะห์การตั้งค่าความปลอดภัยของ Nginx
(github.com/dvershinin)- เครื่องมือที่วิเคราะห์การตั้งค่า NGINX เพื่อค้นหาช่องโหว่ด้านความปลอดภัย
- มีเป้าหมายเพื่อป้องกันข้อผิดพลาดในการตั้งค่าความปลอดภัยและตรวจจับช่องโหว่อัตโนมัติ
- เป็นฟอร์กที่ยังพัฒนาอย่างต่อเนื่องของ Gixy ต้นฉบับที่ Yandex สร้างไว้ (ไม่มีคอมมิตมา 2 ปี)
ปัญหาที่ Gixy สามารถตรวจพบได้
- SSRF(Server Side Request Forgery): ความเป็นไปได้ของการโจมตีปลอมแปลงคำขอฝั่งเซิร์ฟเวอร์
- HTTP Splitting: ความเป็นไปได้ของการโจมตีแยก HTTP response
- ปัญหาการตรวจสอบ Referrer/Origin: ช่องโหว่ด้านความปลอดภัยจากการตรวจสอบที่ไม่สมบูรณ์
- การ override
add_header: ปัญหาการเขียนทับ response header - การปลอมแปลง Host header: ความเป็นไปได้ที่ Host header ของคำขอจะถูกปลอมแปลง
- การตั้งค่า
valid_referersผิดพลาด: ปัญหาด้านความปลอดภัยจากการอนุญาตค่าnone - response header หลายบรรทัด: ปัญหาด้านความปลอดภัยจาก response header หลายบรรทัด
- การไล่สำรวจพาธจากการตั้งค่า alias ผิดพลาด: ความเป็นไปได้ที่จะหลุดออกนอกไดเรกทอรีจากการตั้งค่า alias ที่ไม่ถูกต้อง
- ปัญหาจากการใช้คำสั่ง if: พฤติกรรมที่ไม่คาดคิดจากการใช้
ifภายในบล็อก location - การตั้งค่า Allow ผิดพลาด: ปัญหาจากการตั้งค่า Allow โดยไม่มีการตั้งค่า Deny
- ปัญหาการตั้งค่า Content-Type: ปัญหาที่เกิดขึ้นเมื่อกำหนด Content-Type ด้วย
add_header - ปัญหาการใช้ DNS ภายนอก: การตั้งค่า DNS ที่มีจุดอ่อนด้านความปลอดภัย
- การเปิดเผยข้อมูลเวอร์ชัน: การเปิดเผยข้อมูลเวอร์ชันผ่านการตั้งค่า
server_tokens - ปัญหาการตั้งค่า
try_files: ปัญหาด้านความปลอดภัยเมื่อใช้try_filesโดยไม่มีopen_file_cache - ปัญหาการถอดรหัสพาธของ
proxy_pass: ปัญหาที่พาธ URL ถูกถอดรหัสและทำ normalization โดยอัตโนมัติ
วิธีใช้งาน
- โดยปกติ Gixy จะพยายามวิเคราะห์การตั้งค่า NGINX ที่อยู่ใน
/etc/nginx/nginx.conf - สามารถระบุพาธเฉพาะได้เช่นกัน
- ตัวอย่างเช่น สามารถค้นหาช่องโหว่ HTTP splitting ได้
- Gixy ยังรองรับการใช้งานผ่าน pipe (standard input)
- มีให้ใช้งานในรูปแบบ Docker image ด้วย
- ต้อง mount ไฟล์ตั้งค่าที่ต้องการวิเคราะห์เป็น volume และระบุพาธไฟล์ตั้งค่าเมื่อรันอิมเมจ Gixy
ยังไม่มีความคิดเห็น