httpd 및 mod_security는 OWASP dos 규칙을 준수합니다.

httpd 및 mod_security는 OWASP dos 규칙을 준수합니다.

내 httpd 웹 서버에 mod_security를 ​​설정하려고 합니다. 나는 기본적인 단계를 따랐다.

yum install mod_security
  1. 나는 modsecurity_crs_10_setup.conf넣었다/etc/httpd/modsecurity.d
  2. 나는 owasp dos 규칙을 넣었습니다./etc/httpd/modsecurity.d/activated-rules
  3. /etc/httpd/conf.d/mod_security.conf이 2개 포함해서 확인했어요.conf
  4. 폴더에 /etc/httpd/httpd.conf포함되어 있는지 확인했습니다 ./etc/httpd/conf.d

http를 시작하고 체크인하면 http 가 생성되고 모든 오류가 기록되는 /var/log/httpd것을 볼 수 있습니다 (5x 및 4x).modsecurity_auditlog

--b7148938-H--
Apache-Handler: proxy-server
Stopwatch: 1419172908440055 2294 (- - -)
Stopwatch2: 1419172908440055 2294; combined=242, p1=98, p2=8, p3=0, p4=1, p5=84, sr=32, sw=51, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.8.0 (http://www.modsecurity.org/); **OWASP_CRS/2.2.9.**
Server: Apache/2.2.29 (xxx)
Engine-Mode: "ENABLED"

그런 다음 저궤도 이온 캐논을 발사하고 5분 동안 색인 페이지에 스팸을 보냈습니다. 괜찮아요. 서버가 DOS 공격을 받았다는 사실은 언급하지 않았습니다. (modsecurity 감사 로그와 http 오류 로그를 확인했습니다.)

이를 테스트하기 위해 owasp의 변수를 수정했습니다 .conf(임계값이 매우 낮고 버스트 시간 조각이 더 작습니다).

#SecAction \
  "id:'900015', \
  phase:1, \
  t:none, \
  setvar:'**tx.dos_burst_time_slice=10'**, \
  setvar:'**tx.dos_counter_threshold=5**', \
  setvar:'tx.dos_block_timeout=600', \
  nolog, \
  pass"

하지만 아직 아무것도 없습니다. 내 IP는 아직 차단되지 않았습니다.

내가 뭐 놓친 거 없니?

답변1

규칙 900015에 대해 참조한 코드 조각의 #SecAction에서 #을 제거해야 합니다. DoS 규칙을 사용하는 경우 이를 수행하라는 내용이 위에 표시됩니다.

관련 정보