악성 봇과 스크레이퍼를 효과적으로 차단하도록 아파치를 구성하려면 다양한 기술을 결합한 다층 접근 방식이 포함됩니다. 단일 솔루션은 어리석지 않지만 방법의 조합은 강력한 보호를 제공합니다. 다음은 효과적인 전략의 분류입니다.
1. Modsecurity : 이것은 아마도 봇 완화를위한 가장 강력한 Apache 모듈입니다. Modsecurity는 WAF (Web Application Firewall)로, 사용자 지정 규칙을 정의하여 악의적 인 트래픽을 감지하고 차단할 수 있습니다. IP 주소, 사용자 에이전트, 요청 패턴 및 HTTP 헤더를 포함한 다양한 기준에 따라 규칙을 만들 수 있습니다. 예를 들어, 스크레이퍼가 자주 사용하는 특정 키워드가 포함 된 요청을 차단하거나 알려진 악성 IP 범위에서 발생하는 요청을 차단할 수 있습니다. OWASP Modsecurity Core Rule Set (CRS)과 같은 소스에서 사전 구축 된 규칙 세트를 활용하여 강력한 기준을 빠르게 구현할 수 있습니다. 적절한 구성에는 정규 표현식 및 HTTP 요청 구조를 이해해야하지만 보안 측면에서 지불이 중요합니다.
2. htaccess 파일 규칙 : 더 간단한 차단을 위해 .htaccess
파일을 사용하여 기본 규칙을 구현할 수 있습니다. 이 규칙은 Modsecurity보다 강력하지 않지만 빠른 수정 또는 특정 알려진 나쁜 행위자를 차단하는 데 유용 할 수 있습니다. 예를 들어, 지침 Deny from
사용하여 특정 IP 주소 또는 범위를 차단할 수 있습니다. 또한 RewriteEngine
및 RewriteCond
지시문을 사용하여보다 정교한 규칙을 사용하여 사용자 에이전트, URL 또는 기타 헤더를 기반으로 요청을 분석 할 수 있습니다. 그러나 잘못 쓰여진 규칙이 사이트의 성능 또는 기능에 부정적인 영향을 줄 수 있으므로 복잡한 .htaccess
규칙에주의하십시오.
3. 사용자 에이전트 필터링 : 봇은 종종 독특하거나 의심스러운 사용자 에이전트로 자신을 식별합니다. Modsecurity 또는 .htaccess
규칙을 사용하여 특정 사용자 에이전트를 기반으로 요청을 차단할 수 있습니다. 그러나 정교한 봇이 사용자 에이전트를 쉽게 스푸핑 할 수 있으므로 이것은 완벽한 방법이 아닙니다. 이것을 일차 방어가 아니라 보충 조치라고 생각하십시오.
4. 요금 제한 : 여기에는 특정 기간 내의 단일 IP 주소에서 허용되는 요청 수를 제한하는 것이 포함됩니다. 이것은 무차별 대기 공격을 완화하고 과도한 스크래핑에 중요합니다. mod_evasive
또는 mod_limitipconn
과 같은 Apache 모듈은 비율 제한을 효과적으로 구현할 수 있습니다. 이 모듈을 사용하면 초당 또는 분당 요청에 대한 임계 값을 구성 할 수 있으며, 초과 할 때 차단 작업이 트리거됩니다.
5. CAPTCHAS : 양식 제출 또는 계정 생성과 같은 민감한 조치의 경우, 빌을 구현하면 봇을 효과적으로 저지 할 수 있습니다. Apache 구성이 직접적으로 구성되지는 않지만 Captcha 서비스를 통합하면 자동화 된 공격에 대한 또 다른 보호 계층이 추가됩니다.
몇몇 Apache 모듈은 자동화 된 공격으로부터 보호하는 데 탁월합니다. 선택은 특정 요구와 기술 전문 지식에 따라 다릅니다.
mod_evasive
와 유사 하게이 모듈은 단일 IP 주소에서 동시 연결 수를 제한합니다. 이것은 종종 봇에 의해 시작되는 서비스 거부 (DOS) 공격을 방지하는 데 특히 유용합니다. 단일 IP 주소의 요청을 효과적으로 제한하는 것은 mod_evasive
또는 mod_limitipconn
과 같은 속도 제한 모듈을 사용하는 데 의존합니다. 이 모듈을 사용하면 초당 요청에 대한 임계 값을 지정할 수 있습니다. 이러한 임계 값을 초과하면 임시 또는 영구 IP 차단과 같은 동작이 발생합니다.
구성 예제 (mod_evasive) :
특정 구성은 선택한 모듈에 따라 다르지만 다음은 mod_evasive
사용하는 일반적인 아이디어입니다.
<code class="apache"><ifmodule mod_evasive20.c> EvasiveHTTPDDenyStatus 403 EvasiveHTTPDLogFormat "%h %l %u %t \"%r\" %>s %b" DOSEmail nobody@example.com DOSWhitelist 127.0.0.1 DOSPageCount 2 DOSSiteCount 5 DOSPageInterval 1 DOSSiteInterval 1 DOSThreshold 10 </ifmodule></code>
이 예제는 1 초 간격 ( DOSThreshold 10
, DOSSiteInterval 1
) 내에 10 번의 요청 후 IP 주소를 차단하도록 mod_evasive
구성합니다. 트래픽 패턴 및 공차 수준에 따라 이러한 매개 변수를 조정하십시오. 필요에 따라 이메일 주소와 화이트리스트를 조정해야합니다.
단일 "완벽한"구성은 없지만 많은 예제와 리소스를 온라인으로 제공합니다. "봇 완화를위한 Apache mod_security 규칙", "Apache .htaccess Bot Protection"또는 "Apache Rate Limiting Configuration"을 검색하면 많은 예제가 생성됩니다. 그러나이 예를 조정할 때 주의를 기울이십시오 . 제작 서버에서 구현하기 전에 규칙을 신중하게 검토하여 그 의미를 이해하십시오. 잘못 구성된 규칙은 합법적 인 사용자에게 부정적인 영향을 줄 수 있습니다. 기본 구성으로 시작하고 필요에 따라 더 제한적인 규칙을 점차적으로 추가하여 의도하지 않은 결과에 대해 서버 로그를 면밀히 모니터링하십시오. 규칙을 정기적으로 업데이트하고 진화하는 봇 기술에 적응하는 것은 장기적인 효과에 중요합니다.
위 내용은 악성 봇과 스크레이퍼를 차단하도록 Apache를 어떻게 구성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!