특정 디렉토리에 대한 modsecurity 비활성화


11

특정 디렉토리에 대해서만 modsecurity를 ​​비활성화하는 방법 phpMyAdmin에서 규칙에 따라 modsecurity 트립으로 인해 오류가 발생합니다. 다음 파일을 설정했습니다.

# /etc/httpd/modsecurity.d/modsecurity_crs_15_customrules.conf
<LocationMatch "^/phpMA/">
    SecRuleEngine Off
</LocationMatch>

# /etc/httpd/modsecurity.d/modsecurity_crs_60.custom.conf
<LocationMatch '^/phpMA/*'>
    SecRuleRemoveById 950004
    SecRuleRemoveById 950005
    SecRuleRemoveById 950006
    SecRuleRemoveById 960010
    SecRuleRemoveById 960012
</LocationMatch>

내가 찾은 첫 번째 파일에서 파일을 비활성화해야하지만 여전히 작동하므로 60 개의 파일로 넘어가는 규칙 ID를 추가하려고 시도했지만 여전히 불평합니다.

CentOS 5.3에서 다음 패키지를 실행하고 있습니다.

  • mod_security-2.5.0-jason.2
  • httpd-2.2.8-jason.3
  • mod-php5-apache2-zend-ce-5.2.10-65

승인 된 답변은 안전하지 않습니다. 참조 : serverfault.com/a/766395/345813
SherloxTV

답변:


17

SecRuleEngine Off가 작동해야합니다. SecRuleEngine을 디렉토리 안에 넣으려고 했습니까?

<Directory /var/www/site/phpMA>
SecRuleEngine Off
</Directory>

LocationMatch 대신?


1
15 파일에 저를 추가하고 여전히 같은 오류를 받고하는 것은 modsecurity_audit.log에 붙 잡히기 시도
dragonmantank

modsecurity_crs_15_customrules.conf 및 modsecurity_crs_60.custom.conf 파일이 /etc/httpd/conf.d/mod_security.conf에 포함되어 있습니까 (주석 처리되지 않음)?
hdanniel

facepalm 아니, 그들은 아니었다. 그것은 그것을 처리했다.
dragonmantank

3

일부 서버 및 웹 호스트, 그것을 통해 비활성화 ModSecurity를하는 것이 가능 .htaccess하지만, 단지 전체 (개인이 아닌 규칙)이다.

특정 URL로 제한하려면 <If>아래 명령문 에서 정규식을 지정할 수 있습니다.

### DISABLE mod_security firewall
### Some rules are currently too strict and are blocking legitimate users
### We only disable it for URLs that contain the regex below
### The regex below should be placed between "m#" and "#" 
### (this syntax is required when the string contains forward slashes)
<IfModule mod_security.c>
  <If "%{REQUEST_URI} =~ m#/admin/#">
    SecFilterEngine Off
    SecFilterScanPOST Off
  </If>
</IfModule>

2

모든 규칙을 비활성화하지 마십시오! 심각한 보안 문제가 발생할 수 있습니다!

modsecurity의 로그 파일을 확인해야합니다.

tail -f /var/log/apache2/modsec_audit.log

phpmyadmin 인터페이스에서 오류를 재현하는 각 규칙을 하나씩 제외하십시오.

다음으로 추가하십시오 :

<Directory /path/to/phpmyadmin>
    <IfModule security2_module>
        SecRuleRemoveByTag "WEB_ATTACK/SQL_INJECTION"
        {And other rules you need to disable ...}
    </IfModule>
</Directory>

/etc/apache2/mods-enabled/modsecurity.conf로

당신은 제거해야 태그는 같은 로그 파일에있을 것입니다 . 특정 폴더에 대한 규칙 제거에 대한 자세한 설명은 프로젝트Github 위키를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.