Nginx로 DDoS 공격을 방지하는 방법

Nginx로 DDoS 공격을 방지하는 방법

DDoS(분산 서비스 거부) 공격은 악의적 인 디지털 통신 전술을 통해 서버 리소스에 과부하를 줍니다. 이러한 유형의 공격은 컴퓨터 세계에서 조직적인 습격입니다. 수많은 불쾌한 반대 행위가 결합되어 서버를 정지시킬 만큼 강력한 위협이 됩니다.

무엇보다도 최악의 경우, 그러한 호스트를 상대로 게릴라 웹 "전쟁"을 벌일 수 있는 수단이 많이 있다는 것입니다. 다행히도 이러한 공격에 저항하도록 서버를 구성할 수 있습니다.

매우 인기 있는 Unix 시스템용 서버 시스템인 Nginx에는 DDoS 공격의 효과를 크게 제한할 수 있는 충분한 기능이 내장되어 있습니다.

Nginx로 이러한 위협을 처리할 수 있는 몇 가지 효과적인 옵션은 다음과 같습니다.

Nginx로 DDoS 공격을 방지하는 방법은 무엇입니까?

백업 구성 파일

설정을 변경하기 전에 서버 구성을 빠르게 백업해 두십시오. 다음 명령은 이 목적으로 작동합니다.

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup-original

Nginx로 DDoS 공격을 방지하는 방법

완료되면 계속할 수 있습니다.

교통상황 확인

서버의 트래픽을 모니터링하면 보안을 최적화하고 추가 전략을 쉽게 구현할 수 있습니다. Nginx에는 이 목적을 위해 특별히 만들어진 모듈이 있습니다.

상태 페이지 설정

Nginx는 일반적으로 "스텁 상태"(http_stub_status_module)라는 모듈과 함께 제공되며 , 이를 통해 이러한 유형의 기능을 서버 환경에 매우 쉽게 통합할 수 있습니다. 먼저 다음 명령을 사용하여 테스트합니다.

nginx -V

Nginx로 DDoS 공격을 방지하는 방법

또는 더 빨리 찾으려면 다음 명령을 사용하십시오.

nginx -V 2>&1 | grep -o with-http_stub_status_module

Nginx로 DDoS 공격을 방지하는 방법

출력이 위와 같으면 모든 것이 정상입니다. 그렇지 않으면 포함된 모듈을 사용하여 Nginx 설치를 설치하거나 다시 컴파일해야 합니다.

확인할 수 있는 상태 페이지를 설정하는 것은 간단하지만, 보안을 유지하기 위해 접근을 최소한(컴퓨터만)으로 제한해야 합니다. /etc/nginx/nginx.conf 에 있는 서버의 기본 구성 파일을 열어 시작합니다 .

모듈을 열고 "http 지시문" 에 다음 코드를 추가하여 모듈을 활성화하고 "localhost", "/status_page""127.0.0.1"의 고유 정보를 바꿉니다.

server {
listen 80;
listen [::]:80;
server_name localhost;
##
# Status Page Settings
##
location /status_page {
stub_status on;
allow 127.0.0.1;
allow ::1;
deny all;
}
}

참고 : 이 파일을 수정하려면 sudo 권한이 필요합니다.

Nginx로 DDoS 공격을 방지하는 방법

이제 구성을 테스트��� 보세요.

sudo nginx -t

Nginx로 DDoS 공격을 방지하는 방법

모든 것이 정상이면 서버에 다시 로드 신호를 보냅니다.

sudo systemctl reload nginx

Nginx로 DDoS 공격을 방지하는 방법

상태 페이지에 액세스하려면 웹 브라우저에서 또는 컬과 같은 명령줄 도구를 사용하여 server_name 뒤에 "/status_page" 가 오는 위치를 방문하세요 . (브라우저 캐시가 자동으로 업데이트되지 않는 경우 유용합니다.) 다음은 예제의 페이지에 액세스하는 컬 명령 입니다 .

curl localhost/status_page

Nginx로 DDoS 공격을 방지하는 방법

브라우저에서 위 명령 출력은 다음 이미지와 같습니다.

Nginx로 DDoS 공격을 방지하는 방법

액세스 로그 확인

위에서 구성한 상태 페이지를 확인했을 때 비정상적인 트래픽이 발견된다면 해당 서버의 접속 로그를 확인해 보시는 것도 좋을 것 같습니다. 서버 액세스 로그는 “/var/log/nginx/access.log”에서 확인할 수 있습니다. 로그에는 사용된 HTTP 방법, 액세스 시도 날짜/시간, 사용자 에이전트 및 액세스된 페이지가 나열됩니다.

Nginx로 DDoS 공격을 방지하는 방법

연결 제한

시도해 볼 가치가 있는 DDoS 공격을 방지하는 많은 유용한 전술 중에서 가장 간단하고 효과적인 방법 중 하나는 들어오는 트래픽의 속도를 제한하는 것입니다.

이상적으로는 합리적인 속도를 유지하면서 악의적인 봇이 서버를 압도하는 것을 방지할 수 있을 만큼만 액세스를 제한해야 합니다. Nginx에서는 limit_req_zone 및 limit_req 지시문을 사용하여 이 작업을 수행할 수 있습니다 . 다음 코드는 서버가 표시하도록 구성된 모든 위치에서 사용할 메모리 및 속도 제약 조건을 설정합니다.

limit_req_zone $binary_remote_addr zone=speedbump:10m rate=10r/s;

"영역"은 사용자 요청이 저장되는 메모리 공간의 이름과 용량(이 경우 메가바이트)을 지정합니다. "Rate"는 Nginx가 초당 수락할 총 요청 수를 설정합니다(이 예에서는 10개 요청). 이 코드를 규칙으로 생각하고 다음은 해당 규칙의 사용입니다.

limit_req zone=speedbump burst=20;

위 코드는 실제로 제한 규칙을 구현하는 것 이상의 기능을 수행합니다. 또한 합법적인 연결을 정상적으로 처리하기 위해 최대 20개의 요청으로 구성된 작은 대기열을 추가합니다. 이는 정상보다 조금 더 빠르게 렌더링되어 규칙과 대기열을 모두 초과하여 클라이언트에 503 오류가 발생합니다. 두 지시문 모두 nginx.conf에서 다음과 같습니다.

Nginx로 DDoS 공격을 방지하는 방법

IP 주소 블랙리스트 생성

귀하의 서버에서 DDoS 공격을 수행하는 IP 주소를 얻은 경우 이를 블랙리스트에 추가하고 이 IP 주소에서 발생하는 모든 연결을 제거하면 됩니다.

서버 지시문에 다음 코드를 추가합니다.

location / {
deny 123.123.123.0/28;
# ...
}

특정 파일에 대한 요청 차단

DDoS 공격이 서버의 특정 파일을 대상으로 하는 경우(예: WordPressxmlrpc.php 파일 (대부분의 WordPress 서버에서 일반적으로 대상이 되는 파일)) 해당 파일에 대한 모든 요구 사항을 차단할 수 있습니다. 서버 지시문에 다음 코드를 추가하세요.

location /xmlrpc.php {
deny all;
}

위의 프로세스를 따르면 대부분의 DDoS 공격을 제한할 수 있습니다. 적용할 수 있는 추가 보안 옵션에 대해서는 Nginx 설명서를 확인하세요 .

당신이 성공하기를 바랍니다.


Windows 10에서 iphlpsvc를 비활성화하는 방법

Windows 10에서 iphlpsvc를 비활성화하는 방법

Windows의 Iphlpsvc는 인터넷 프로토콜 도우미 서비스를 나타냅니다. iphlpsvc를 비활성화해도 시스템이 충돌하거나 일반 기능이 중단되거나 성능에 큰 영향을 미치지 않습니다.

Chromebook에서 복사하여 붙여넣는 방법

Chromebook에서 복사하여 붙여넣는 방법

이 글에서는 Chromebook에서 텍스트, 파일, 폴더를 복사하여 붙여넣는 다양한 방법을 살펴보겠습니다. 고급 사용자의 경우 생산성을 최대화하는 데 도움이 되는 강력한 클립보드 관리자가 많이 있습니다.

Windows 10에서 응용 프로그램의 파일 시스템 액세스를 허용/거부하는 방법

Windows 10에서 응용 프로그램의 파일 시스템 액세스를 허용/거부하는 방법

이 가이드에서는 Windows 10에서 모든 사용자 또는 귀하의 계정에 대해 파일 시스템에 대한 앱 액세스를 허용하거나 거부하도록 개인 정보 설정을 변경하는 방법을 보여줍니다.

Xiaomi 3C WiFi 라우터를 리피터로 구성하는 방법

Xiaomi 3C WiFi 라우터를 리피터로 구성하는 방법

주 WiFi 라우터의 낮은 범위로 인해 집과 사무실에서 WiFi 신호 범위 문제가 발생하는 경우. 기본 WiFi 이름과 비밀번호를 변경하지 않고도 Mi 3C의 리피터 모드 설정을 사용하여 WiFi 범위를 늘릴 수 있습니다.

최고의 Android용 무료 Wi-Fi 찾기 앱

최고의 Android용 무료 Wi-Fi 찾기 앱

아래의 Android 사용자를 위한 최고의 무료 Wi-Fi 찾기 앱은 무료 공용 Wi-Fi 연결 지점을 빠르게 찾는 데 도움이 됩니다. 또한 이 소프트웨어를 사용하면 모바일 데이터 패키지의 용량이 부족하거나 속도가 빠른 경우에 매우 유용합니다.

Windows 10의 백업 시작 메뉴 설정

Windows 10의 백업 시작 메뉴 설정

Windows 10의 시작 메뉴는 가장 유용하고 사용자 정의가 가능한 도구 중 하나입니다. 설정 및 기타 위치에 액세스하려면 왼쪽에 새 레이아웃을 정렬할 수 있습니다. 중앙에서는 설치한 앱 목록에 빠르게 접근할 수 있고, 오른쪽에서는 업데이트를 지속적으로 표시하도록 라이브 타일을 설정할 수 있습니다.

Windows 10/8/7에서 관리자 공유 활성화 지침

Windows 10/8/7에서 관리자 공유 활성화 지침

어떤 경우에는 사용자가 로컬 하드 드라이브에서 관리 공유를 활성화해야 합니다. 관리 공유는 Windows 컴퓨터의 모든 하드 드라이브(C$, D$,...)에 대한 기본 공유 계정입니다. 기본적으로 관리 공유는 숨겨져 있으며 네트워크에서 액세스할 수 없습니다.

웹에서 광고를 제거하려면(Social 2 검색 광고) 이 문서를 읽어보세요.

웹에서 광고를 제거하려면(Social 2 검색 광고) 이 문서를 읽어보세요.

Social 2 Search는 무료 프로그램, 스팸 이메일 또는 악성 웹사이트에 통합되어 있습니다. 경우에 따라 사용자는 출처를 알 수 없는 웹사이트를 방문하여 무료 프로그램을 기기에 다운로드하고 설치합니다. 무료 소프트웨어임에도 불구하고 그 내부에는 애드웨어, 스파이웨어 또는 기타 악성 소프트웨어와 같은 수많은 악성 코드가 숨겨져 있습니다. 그러면 포함된 애드웨어의 위협을 받게 됩니다.

Windows 10에서 이벤트 뷰어를 사용하는 방법

Windows 10에서 이벤트 뷰어를 사용하는 방법

Windows 10 이벤트 뷰어는 앱 문제를 해결하거나 PC가 가장 최근에 수행한 작업을 확인하는 데 도움이 됩니다.

2018년 가장 큰 보안 취약점

2018년 가장 큰 보안 취약점

2018년은 글로벌 IT 전문가들에게 매우 힘든 해였습니다.