>  기사  >  운영 및 유지보수  >  Nginx를 사용하여 다양한 악성 액세스를 제한하는 방법

Nginx를 사용하여 다양한 악성 액세스를 제한하는 방법

王林
王林원래의
2023-06-10 12:04:461712검색

인터넷의 발전이 계속 가속화되면서 악의적인 액세스 공격이 점점 더 많아지고 있습니다. 시스템과 데이터의 보안을 보장하려면 다양한 악의적인 액세스를 제한하는 효율적인 방법을 찾아야 합니다. 여기서는 Nginx를 활용하여 다양한 악성 접근 방식을 제한하는 방법을 소개하겠습니다.

Nginx는 많은 수의 동시 요청을 처리할 수 있을 뿐만 아니라 다양한 플러그인과 모듈을 사용하여 다양한 기능을 구현할 수 있는 고성능 웹 서버입니다. 중요한 기능 중 하나는 악의적인 액세스 공격을 제한하는 것입니다. Nginx를 사용하여 이를 달성하는 정확한 방법은 다음과 같습니다.

  1. HTTP 서버 요청 제한

HTTP 요청은 누구나 HTTP 연결을 통해 서버에 요청을 보낼 수 있도록 하는 텍스트 기반 프로토콜입니다. 이 경우 아무 제한 없이 서버가 악의적인 공격자로부터도 대량의 요청을 받게 되어 서버에 과부하가 걸리고 결국 충돌이 발생할 수 있습니다. 이런 일이 발생하지 않도록 하려면 서버에 HTTP 요청 제한을 설정해야 합니다.

Nginx 모듈을 사용하면 HTTP 요청 제한을 쉽게 구성할 수 있습니다. 먼저 Nginx 서버에 HttpLimitReq 모듈을 설치합니다. 그런 다음 Nginx 구성 파일을 편집하고 다음 코드를 추가합니다:

http {

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

server {
    limit_req zone=mylimit burst=10 nodelay;
}

}

위 코드는 동일한 IP 주소의 요청에 대한 제한을 구현합니다. 초당 하나의 요청만 허용되며 최대 버스트 요청에 허용되는 크기는 10개입니다.

  1. IP 주소 액세스 제한

악의적인 공격자는 다수의 프록시 서버를 사용하거나 다수의 컴퓨터를 사용하여 DDoS 공격을 수행하는 등 다수의 IP 주소를 사용하여 당사 서버를 공격할 수 있습니다. 이 공격을 제한하려면 IP 주소 액세스 제한을 구현해야 합니다.

Nginx의 HttpAccess 모듈을 사용하면 IP 주소 액세스 제한을 쉽게 구현할 수 있습니다. 예를 들어 다음 코드를 추가할 수 있습니다.

http {

deny 192.168.1.1;

allow 10.0.0.0/8;
allow 172.16.0.0/12;
allow 192.168.0.0/16;

location / {
    deny all;
    # ...
}

}

위 코드에서는 IP 주소 192.168.1.1에 대한 액세스를 제한하고 IP 주소 10.0.0.0/8 및 172.16.0.0/을 허용합니다. 12 및 192.168.0.0/16 액세스.

  1. User-Agent 액세스 제한

User-Agent는 브라우저나 다른 클라이언트의 유형, 버전 및 운영 체제를 나타내는 HTTP 프로토콜의 필드입니다. 악의적인 공격자가 사용자 에이전트를 위조하여 당사 서버에 액세스할 수 있습니다. 이 공격을 제한하려면 사용자 에이전트 액세스 제한을 구현해야 합니다.

Nginx의 HttpMap 모듈을 사용하면 사용자 에이전트 액세스 제한을 쉽게 구현할 수 있습니다. 예를 들어 다음 코드를 추가할 수 있습니다.

http {

map $http_user_agent $limit_user_agent {
    default    0;
    ~*bot     1;
    ~*spider  1;
    ~*crawler 1;
}

limit_conn_zone $binary_remote_addr zone=mylimit:10m;

server {
    if ($limit_user_agent) {
        return 503;
    }

    limit_conn mylimit 1;
}

}

위 코드에서는 크롤러이든 크롤러이든 상관없이 User-Agent를 변수 $limit_user_agent와 일치시키는 $limit_user_agent라는 매핑을 정의합니다. 로봇 중. 그렇다면 서버가 사용 중임을 나타내는 503 오류가 반환되고, 그렇지 않으면 액세스가 허용됩니다.

위는 Nginx를 이용하여 다양한 악성 접근을 제한하는 방법입니다. 다양한 제한 방법을 조합하면 당사 서버의 보안을 더욱 효과적으로 보호할 수 있습니다. 동시에 우리는 서버의 다양한 구성 요소와 소프트웨어를 적시에 업데이트하고 방화벽 설치, 불필요한 서비스 비활성화 등과 같은 일부 보호 조치에 주의를 기울여 서버가 항상 최상의 상태를 유지할 수 있도록 해야 합니다. 보안 상태.

위 내용은 Nginx를 사용하여 다양한 악성 액세스를 제한하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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