Airbnb, Box, Instagram, Netflix, Pinterest, SoundCloud 및 Zappos를 포함한 인터넷에서 가장 바쁜 웹사이트의 절반 이상이 NGINX에 의존합니다. 사이버 범죄자는 종종 웹 서버를 목표로 하며 민감한 정보를 훔치기 위해 가장 작은 취약점을 악용하기 위해 끊임없이 찾고 있습니다. NGINX도 예외는 아닙니다. 사이버 공격을 목격하고 취약점을 계속해서 노출했습니다.
이 기사에서는 현재까지 발견된 가장 중요한 NGINX 취약점 상위 5개와 웹 서버를 보호하는 방법에 대해 설명합니다. 그러나 웹사이트를 완전히 보호하려면 서버의 애플리케이션을 보호하는 것이 필수적입니다.
1. NGINX SPDY 힙 버퍼 오버플로(2014)
1.4.7 이전의 NGINX 1.3.15 및 1.5.12 이전의 1.5.x에서 SPDY 구현은 힙 기반 버퍼 오버플로에 취약했습니다. 이를 통해 공격자는 조작된 요청을 통해 임의의 코드를 실행할 수 있습니다. 이 문제는 "listen" 지시어의 "spdy" 옵션이 구성 파일에서 사용되는 경우 ngx_http_spdy_module 모듈(기본적으로 컴파일되지 않음)과 –with-debug 구성 옵션 없이 컴파일된 NGINX에 영향을 줍니다.
이를 악용하기 위해 공격자는 힙 메모리 버퍼 오버플로를 유발하는 요청을 특별히 제작하여 임의 코드를 실행할 수 있습니다. 이것은 웹 서버에 심각한 영향을 미칩니다.
이 취약점에 대한 권장 수정 사항은 최신 버전으로 업그레이드하는 것입니다. 공급업체에서 제공하는 필수 패치도 적용해야 합니다.
2. NGINX 루트 권한 상승 취약점 (2016)
NGINX 루트 권한 상승 취약점은 심각도가 높은 것으로 간주되었습니다. 안전하지 않은 권한이 있는 로그 디렉토리가 생성될 수 있습니다. 이는 차례로 악의적인 로컬 공격자가 NGINX/웹 사용자(www-data)에서 루트로 권한을 상승시켜 NGINX 서버에서 호스팅되는 모든 웹 애플리케이션을 손상시키는 데 악용될 수 있습니다. 루트 권한 상승 취약점은 Debian 또는 Ubuntu와 같은 Debian 기반 배포판의 웹 서버 패키지에 영향을 미칩니다.
이 취약점은 다음 절차에서 비롯됩니다. NGINX가 Debian 기반 시스템의 기본 리포지토리에서 설치되면 NGINX 로그 디렉터리가 다음 위치에 생성되고 다음 권한이 부여됩니다.
[email protected]: ~# ls -
ld /var/log/nginx/
drwxr-x--- 2 www-data adm 4096 Nov 12 22:32 /var/log/nginx/
[email protected]:~# ls -
ld /var/log/nginx/*
-rw-r----- 1 www-data adm 0 Nov 12 22:31 /var/log/nginx/access.log
-rw-r--r-- 1 root root 0 Nov 12 22:47 /var/log/nginx/error.log
/var/log/nginx 이후 디렉토리가 www-data의 소유인 경우 공격자는 시스템에 액세스할 때 로그 파일을 임의의 파일에 대한 심볼릭 링크로 교체할 수 있습니다. 다시 시작하면 로그가 가리키는 파일에 기록됩니다.
심볼릭 링크를 통해 공격자가 권한을 루트로 승격할 수 있습니다.
취약점은 Debian의 NGINX 1.6.2-5+deb8u3 패키지와 Ubuntu(16.04 LTS)의 NGINX 1.10.0-0ubuntu0.16.04.3에서 수정되었습니다.
3. 원격 정수 오버플로 취약점(2017)
NGINX 원격 정수 오버플로 취약점은 경계 조건 오류 유형의 취약점입니다. 이 취약점은 NGINX가 사용자가 제공한 데이터에 대해 적절한 경계 검사를 수행할 수 없기 때문에 발생합니다. 이를 악용하여 공격자는 민감한 정보에 액세스하거나 응용 프로그램을 충돌시켜 서비스 거부 상태를 초래할 수 있습니다.
0.5.6부터 1.13.2까지의 NGINX 버전은 정수 오버플로 취약점에 취약합니다. 따라서 이 문제를 완화하려면 최신 NGINX 버전으로 업데이트하고 자세한 내용은 특정 공급업체 권고를 확인하세요.
4. NGINX 컨트롤러 취약점(2020)
NGINX 컨트롤러 3.2.0 이전 버전에서 컨트롤러 API에 대한 네트워크 액세스 권한이 있는 공격자는 권한이 없는 사용자 계정을 만들 수 있습니다. 이렇게 생성된 사용자는 새 라이센스를 시스템에 업로드할 수 있지만 시스템의 다른 구성 요소를 보거나 수정할 수는 없습니다. 이것이 의미하는 바는 공격자가 이 취약점을 악용하여 사용자 계정이 NGINX 컨트롤러에서 서비스 거부(DoS) 시나리오를 생성하도록 할 수 있다는 것입니다.
이 취약점을 완화하려면 최신 버전으로 업데이트하거나 NGINX 컨트롤러의 호스트 방화벽 소프트웨어 또는 외부 패킷 필터링 장치를 구성하여 신뢰할 수 있는 네트워크만 액세스할 수 있도록 구성하여 NGINX 컨트롤러 API 포트(TCP 443)에 대한 네트워크 액세스를 제한할 수 있습니다. NGINX 컨트롤러 API.
5. PHP 원격 코드 실행 취약점(2020)
최신 NGINX 취약점 중 하나는 php-fpm이 활성화된 NGINX에서 실행되는 PHP 7의 특정 버전이 원격 코드 실행에 취약하다는 것입니다. 이 취약점을 방치할 경우 민감한 정보의 공개, 데이터 추가 또는 수정, 서비스 거부(DoS) 공격으로 이어질 수 있습니다.
이 취약점을 완화하려면 취약하지 않은 PHP 버전으로 즉시 업데이트하십시오.
NGINX를 사용하지 않습니까? 중요한 Apache 취약점에 대한 블로그 기사 및 비디오를 확인하십시오.
아스트라 펜테스트 정보
Astra Pentest는 해커의 취약점 악용으로 인한 해킹을 방지하는 데 도움이 되는 필수 네트워크 및 애플리케이션 보안 제품군입니다. 이 솔루션은 자동화된 취약성 스캐너, 취약성 관리 및 침투 테스트 서비스와 함께 번들로 제공됩니다.
이 기사가 웹 서버의 다양한 취약점과 보안 문제를 완화하는 데 도움이 되었기를 바랍니다! 그러나 웹사이트/웹 앱을 완전히 보호하려면 서버에 설치한 애플리케이션과 사용 중인 CMS도 보호해야 합니다. 이러한 취약점으로 인해 웹 서버가 손상될 수도 있습니다! WordPress, Magento, Joomla, PrestaShop 및 OpenCart 보안에 대한 기사를 확인하십시오.