- เครื่องมือที่วิเคราะห์การตั้งค่า 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
ยังไม่มีความคิดเห็น