>  기사  >  운영 및 유지보수  >  Linux 서버를 사용하여 웹 인터페이스 필터링 및 검사를 향상시키는 방법은 무엇입니까?

Linux 서버를 사용하여 웹 인터페이스 필터링 및 검사를 향상시키는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-09-08 11:41:01568검색

Linux 서버를 사용하여 웹 인터페이스 필터링 및 검사를 향상시키는 방법은 무엇입니까?

Linux 서버를 사용하여 웹 인터페이스 필터링 및 검사를 향상시키는 방법은 무엇입니까?

인터넷 애플리케이션의 주요 입구로서 웹 인터페이스의 보안은 항상 많은 관심을 끌었습니다. 웹 인터페이스를 보호하기 위해 당사는 일반적으로 인터페이스의 요청 및 응답 데이터를 필터링하고 검사하는 다양한 조치를 취합니다. 이 기사에서는 Linux 서버를 사용하여 웹 인터페이스의 필터링 및 검사를 향상시키는 방법을 소개하고 코드 예제를 제공합니다.

1. 액세스 제어를 위해 Nginx를 사용하세요

Nginx는 액세스 제어를 위한 프런트 엔드 서버로 사용할 수 있는 고성능 HTTP 역방향 프록시 서버입니다. Nginx를 구성하면 특정 IP 주소 또는 IP 주소 범위에 대한 액세스를 제한하여 합법적인 요청만 통과할 수 있도록 할 수 있습니다.

샘플 구성 파일은 다음과 같습니다.

server {
    listen 80;
    server_name example.com;

    location /api {
        deny 192.168.0.0/24;
        allow all;
    }

    location / {
        root /var/www/html;
        index index.html;
    }
}

위 구성에서는 /api 경로 아래의 요청이 제한되며, IP 주소 범위 192.168.0.0/24 이외의 액세스만 허용됩니다. 다른 요청은 /var/www/html 디렉터리의 index.html 파일로 리디렉션됩니다.

2. 요청 필터링을 위해 Nginx를 사용하세요

액세스 제어 외에도 요청 필터링을 위해 Nginx를 사용할 수도 있습니다. Nginx의 재작성 모듈과 역방향 프록시를 구성함으로써 일부 악의적인 요청이나 불법적인 매개변수를 필터링할 수 있습니다.

샘플 구성 파일은 다음과 같습니다.

server {
    listen 80;
    server_name example.com;

    location /api {
        if ($args ~ (?:[^=s&]+)(?:&[^=s&]+)*$) {
            return 403;
        }

        proxy_pass http://backend;
    }

    location / {
        root /var/www/html;
        index index.html;
    }
}

위 구성에서 요청 매개변수에 잘못된 문자가 포함되어 있거나 매개변수 형식이 잘못된 경우 403 오류가 반환됩니다. 합법적인 요청은 백엔드 서버로 전달됩니다.

3. 애플리케이션 계층 방화벽에 ModSecurity 사용

웹 인터페이스의 필터링 및 검사를 강화하는 또 다른 방법은 오픈 소스 웹 애플리케이션 계층 방화벽인 ModSecurity를 ​​사용하는 것입니다. ModSecurity를 ​​구성하면 요청 및 응답 데이터에 대한 심층적인 검사와 필터링을 수행할 수 있습니다.

샘플 구성 파일은 다음과 같습니다.

SecRuleEngine On

SecRequestBodyLimit 13107200
SecRequestBodyInMemoryLimit 13107200
SecRequestBodyNoFilesLimit 13107200
SecRequestBodyAccess On

SecRule REQUEST_METHOD "POST" "id:1,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=XML"

SecRule REQUEST_HEADERS:Content-Type "application/(?:json|xml)" 
  "id:2,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=JSON"

SecRule REQUEST_HEADERS:Content-Type "application/x-www-form-urlencoded" 
  "id:3,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=UTF8"

SecResponseBodyAccess Off

SecDefaultAction "phase:2,log,auditlog,pass"

<LocationMatch "^/api/">
  SecRuleRemoveById 920140
</LocationMatch>

위 구성에서는 ModSecurity 엔진을 활성화하고 요청 및 응답 본문 크기 제한을 설정했습니다. 그런 다음 요청의 Content-Type을 기반으로 요청을 처리하고 응답 본문에 대한 액세스를 닫습니다. 마지막으로 요청이 통과되도록 허용하는 특정 규칙을 제거했습니다.

요약하자면, Linux 서버의 Nginx와 ModSecurity를 ​​구성함으로써 웹 인터페이스의 필터링 및 검사를 강화할 수 있습니다. 이러한 방법을 사용하면 악의적인 요청과 공격으로부터 웹 애플리케이션을 효과적으로 보호할 수 있습니다. 이 기사가 모든 사람이 웹 인터페이스의 보안을 더 잘 향상하는 데 도움이 되기를 바랍니다.

(이 글의 끝)

위 내용은 Linux 서버를 사용하여 웹 인터페이스 필터링 및 검사를 향상시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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