CVE-2015-1635 취약점 NGINX 및 NGINX Plus 를 사용하여 보호

Microsoft는 CVE-2015-1635 로 보고되는 취약점 경고를 발표했습니다.
이 문제는 공격자가 특별히 조작된 HTTP 요청을 통해 영향을 받는 Windows 시스템에 원격 코드 실행을 허용할 수 있는 문제입니다.
프로덕션 Windows 서버를 즉시 패치하는 것이 불가능한 경우, NGINX와 NGINX Plus는 공격으로부터 보호하는 데 도움을 줄 수 있습니다.

CVE-2015-1635 취약점의 구체적인 세부 정보는 공개되지 않았지만, 공격자들은 매우 큰 Range 요청을 포함한 HTTP 요청을 보내어 취약한 시스템을 찾으려고 한다고 보고되었습니다.
이는 버퍼 overflow를 유발하고 Windows 시스템에서 충돌을 일으킬 수 있습니다.

CVE-2015-1635 취약점을 해결하기 위해 Microsoft의 패치를 적용하는 것이 강력히 권장됩니다.
그러나 모든 프로덕션 시스템에 패치를 적용할 수 없는 경우에는 NGINX 또는 NGINX Plus를 사용하여 트래픽을 로드 밸런싱하거나 프록시하는 경우, 간단한 구성 변경으로 취약한 시스템으로 전송되는 특수 요청을 가로채고 수정하는 것이 좋습니다.

목차

1. CVE-2015-1635 트래픽 식별 및 처리

1. CVE-2015-1635 트래픽 식별 및 처리

Mattias Geniar는 공격 트래픽을 분석한 결과, Range 헤더에 큰 바이트 범위를 포함한 HTTP 요청이 충돌을 유발한다고 보고했습니다.

GET / HTTP/1.1rn
Host: stuffrn
Range: bytes=0-18446744073709551615rn
rn

CVE-2015-1635 에 대한 가장 간단한 해결책은 proxy_set_header 지시문을 사용하여 Range 헤더를 “” (빈 문자열)로 설정하는 것입니다.
이렇게 하면 proxy_pass 지시문에 의해 지정된 Windows 서버로 HTTP 요청이 전달되기 전에 헤더가 효과적으로 삭제됩니다.

server {
    listen 80;
 
    location / {
        proxy_set_header Range "";
        proxy_pass http://windowsserver:80;
    }
}

만약 애플리케이션이 바이트 범위 지원을 필요로 한다면, map 지시문을 사용하여 큰 정수와 유사한 문자열을 빈 문자열로 대체한 후, proxy_set_header 지시문을 사용하여 Range 헤더를 설정할 수 있습니다.

map $http_range $saferange {
    "~d{10,}" "";  # if it matches a string of 10 or more integers, remove it
    default $http_range;
}
 
server {
    listen 80;
 
    location / {
        proxy_set_header Range $saferange;
        proxy_pass http://windowsserver:80;
    }
}

또 다른 방법으로는 Range 헤더의 값이 큰 정수와 유사한 경우 HTTP 코드 444를 반환할 수 있습니다.
코드 444는 NGINX와 NGINX Plus에게 아무것도 반환하지 않고 클라이언트 연결을 즉시 종료하도록 지시합니다.

server {
    listen 80;
 
    if ($http_range ~ "d{9,}") {
        return 444;
    }
 
    location / {
        proxy_pass http://windowsserver:80;
    }
}

CVE-2015-1635 에 대해 안전을 유지하고 패치를 적용하세요. 그러나 즉시 패치를 적용할 수 없는 경우, NGINX와 NGINX Plus는 잠재적인 취약점을 막는 데 도움이 될 수 있습니다.

NGINX Plus를 사용해보려면 30일 무료 평가판을 시작하거나 사용 사례에 대해 NGINX STORE에 문의하세요.

아래 뉴스레터를 구독하고 NGINX와 NGINX STORE의 최신 정보들을 빠르게 전달 받아보세요.

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required