- NGINX 설정을 분석하여 보안 취약점을 찾아내는 도구
- 보안 설정 오류를 방지하고 취약점 자동 탐지를 목표로 함
- Yandex가 만들었던 오리지널 Gixy(2년간 커밋없음)의 활성화된 포크임
Gixy가 탐지할 수 있는 문제
-
SSRF(Server Side Request Forgery): 서버 측 요청 위조 공격 가능성
-
HTTP Splitting: HTTP 응답 분할 공격 가능성
-
Referrer/Origin 검증 문제: 불완전한 검증으로 인한 보안 취약점
-
add_header 재정의: 응답 헤더 재정의 문제
-
Host 헤더 스푸핑: 요청의 Host 헤더 위조 가능성
-
valid_referers 설정 오류: none 값 허용으로 인한 보안 문제
-
멀티라인 응답 헤더: 여러 줄의 응답 헤더로 인한 보안 문제
-
alias 설정 오류로 인한 경로 탐색: 잘못된 alias 설정으로 디렉터리 탈출 가능성
-
if 구문 사용 문제: location 블록 내
if
사용으로 인한 예상치 못한 동작
-
Allow 설정 오류: Allow 설정 시 Deny 설정 누락 문제
-
Content-Type 설정 문제:
add_header
로 Content-Type을 설정할 경우의 문제점
-
외부 DNS 사용 문제: 보안에 취약한 DNS 설정
-
버전 정보 노출:
server_tokens
설정을 통한 버전 정보 노출
-
try_files 설정 문제:
open_file_cache
없이 try_files
사용 시 보안 문제
-
proxy_pass 경로 디코딩 문제: URL 경로가 자동 디코딩 및 정규화되는 문제
사용법
- 기본적으로 Gixy는
/etc/nginx/nginx.conf
에 있는 NGINX 설정을 분석하려고 시도
- 특정 경로를 지정할 수도 있음
- 예를 들어, HTTP 분할 취약점을 찾을 수 있음
- Gixy는 파이프(표준 입력)도 사용 가능
- Docker 이미지로도 제공됨
- 분석할 설정을 볼륨으로 마운트하고 Gixy 이미지를 실행할 때 설정 파일 경로를 제공해야 함