대용량 파일의 부분 다운로드 시 mod_evasive 오탐을 방지하는 방법

대용량 파일의 부분 다운로드 시 mod_evasive 오탐을 방지하는 방법

내 아파치 서버에 설치된 mod_evasive가 보낸 많은 오탐 알림을 받고 있습니다. 이러한 문제는 항상 대용량 PDF 파일 다운로드 시 발생합니다. 클라이언트가 내 사이트에서 PDF를 다운로드할 때 mod_evasive에서 블랙리스트 동작을 트리거하는 많은 동시 연결을 사용합니다. mod_evasive 추적에서 PDF를 제외할 수 있는 방법이 있습니까? 너무 제한적인 구성을 사용하고 있습니까? 모든 배포가 다소 다르다는 점을 이해하지만 제안 사항을 찾고 있습니다. 부분 다운로드 요청 시 403 전송을 중단하고 싶습니다.

로그는 다음과 같습니다.

[Tue Dec 31 09:47:37 2013] [error] [client 70.180.65.28] client denied by server configuration: /srv/netce/Root/pdfs/catalogs/productid_3078.pdf
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 403 1018 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 206 2560 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 206 1024 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 206 4096 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"

mod_evasive 구성은 다음과 같습니다.

LoadModule evasive20_module modules/mod_evasive20.so
<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        5
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
    DOSEmailNotify      [email protected]
    DOSLogDir           "/var/www"
    DOSWhitelist   127.0.0.1
    DOSWhitelist   192.168.*
</IfModule>

도움을 주시면 감사하겠습니다.

답변1

이 질문을 쓴 후 저는 조사하고 해결책을 찾기 시작했습니다. 기본적으로 부분 다운로드를 비활성화하는 해결 방법을 찾았습니다. 가장 효율적인 솔루션은 아니지만 작동하는 것 같습니다.

<LocationMatch "\.pdf$">
 Header unset Accept-Ranges
</LocationMatch>

관련 정보