>운영 및 유지보수 >엔진스 >HTTP/2 취약점을 방지하기 위해 Nginx를 사용하는 방법

HTTP/2 취약점을 방지하기 위해 Nginx를 사용하는 방법

WBOY
WBOY원래의
2023-06-10 11:51:531571검색

웹 애플리케이션이 개발되면서 Nginx는 많은 웹 개발자와 관리자가 선택하는 서버가 되었습니다. 전송 프로토콜을 효율적으로 처리하고 안전한 서비스를 제공합니다. 그러나 최근 웹 애플리케이션에 위협이 되는 HTTP/2 취약점이라는 보안 취약점이 발견되었습니다. 이러한 종류의 취약점을 방지하기 위해 Nginx를 사용하는 방법은 무엇입니까? 아래에서 함께 알아볼까요?

HTTP/2 취약점 소개

우선, HTTP/2 취약점이 무엇인지 알아볼까요? 실제로 이 취약점은 암시적 길이 필드가 있는 DATA 프레임을 제대로 처리하지 못하는 특정 HTTP/2 구현으로 인해 발생하며 이로 인해 서비스 거부 공격이 발생합니다. 공격자는 이 취약점을 악용하여 피해자 서버에 악성 패킷을 보내 서버를 충돌시킬 수 있습니다. 이 취약점은 Apache 및 Nginx와 같은 일부 현재 HTTP/2 서버에 이미 존재합니다.

Nginx는 어떻게 HTTP/2 취약점을 방지하나요?

Nginx는 최신 버전에서 HTTP/2 취약점 문제를 해결했습니다. Nginx 1.13.10 이상을 사용한다면 이미 안전합니다. 하지만 아직 이보다 낮은 버전의 Nginx를 사용하고 계시다면 공격에 취약하지 않도록 즉시 업그레이드하는 것이 좋습니다.

Nginx 버전 업그레이드

Nginx 버전을 업그레이드하려면 먼저 Nginx 구성 파일 및 관련 파일을 백업하고 복원할 수 있는지 확인해야 합니다. 그런 다음 최신 버전의 Nginx 바이너리를 다운로드해야 합니다. 공식 웹사이트나 Nginx 저장소에서 바이너리를 다운로드할 수 있습니다.

예를 들어 로컬 호스트에서 최신 Nginx 바이너리를 다운로드할 수 있습니다.

$ wget https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/nginx_1.19.1-1~xenial_amd64 .deb

종속성 문제 해결

새 Nginx 바이너리를 설치하기 전에 일부 종속성 문제를 해결해야 할 수도 있습니다. Nginx 바이너리를 설치하려면 OpenSSL 및 PCRE와 같은 종속성을 설치해야 합니다. 다음 명령을 사용하여 이러한 종속성 문제를 해결할 수 있습니다.

$ sudo apt-get update
$ sudo apt-get install libpcre3-dev zlib1g-dev libssl-dev

새 버전의 Nginx 설치

종속성을 설치한 후 최신 버전의 Nginx를 설치할 수 있습니다.

$ sudo dpkg -i nginx_1.19.1-1~xenial_amd64.deb

HTTP/2 활성화

Nginx의 새 버전을 성공적으로 설치한 후에는 HTTP/2 취약점을 방지하기 위해 HTTP2를 활성화해야 합니다. Nginx 구성 파일을 수정하여 HTTP/2를 활성화할 수 있습니다. Nginx 구성 파일을 열고 다음 줄을 찾으세요.

listen 443 ssl;

이 줄 뒤에 다음 줄을 추가하세요.

http2;

최종 줄은 다음과 같아야 합니다.

listen 443 ssl http2;

구성 파일을 저장하고 닫은 후 Nginx 서버를 다시 시작하세요.

방화벽

Nginx 버전을 업그레이드하고 HTTP/2를 활성화하는 것 외에도 방화벽을 사용하여 서버 보안을 향상시키는 것도 고려해야 합니다. 방화벽은 불필요한 인바운드 트래픽을 필터링하고 안전한 트래픽만 웹 서버에 도달하도록 허용할 수 있습니다. 방화벽을 사용하여 외부 네트워크의 액세스를 제한하고 신뢰할 수 있는 IP 주소만 웹 서버에 액세스하도록 허용할 수 있습니다.

결론

위는 HTTP/2 취약점을 방지하기 위해 Nginx를 사용하는 방법에 대한 몇 가지 방법입니다. Nginx 버전을 업그레이드하고, HTTP/2를 활성화하고, 방화벽을 사용하여 웹 서버를 보호하는 것이 중요합니다. 이러한 보안 모범 사례를 따르면 웹 공격의 위협으로부터 웹 애플리케이션을 안전하게 실행할 수 있습니다.

위 내용은 HTTP/2 취약점을 방지하기 위해 Nginx를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.