/etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf 포함

/etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf 포함

v3.2.0 다운로드됨 https://coreruleset.org/installation/ INSTALL 파일에 있는 지침을 따르세요.

그러나 Apache를 시작할 수 없으며 다음 오류가 반환됩니다.

AH00526: Syntax error on line 800 of /etc/apache2/crs/crs-setup.conf:
яну 19 01:36:09 VMhomeServer apachectl[20761]: ModSecurity: Found another rule with the same id

이것은 security2용 apache2.conf 파일입니다.

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so
<IfModule security2_module>
Include /etc/apache2/crs/crs-setup.conf
Include /etc/apache2/crs/rules/*.conf
</IfModule>

이 문제에 따르면https://github.com/SpiderLabs/ModSecurity/issues/1227

나는 이것에 대해 "해결"했습니다.

/etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf 포함

하지만 최신 버전을 사용하고 있기 때문에 그런 규칙이 없으며 이제는 규칙이 모두 달라서 내 삶에 무슨 일이 일어나고 있는지 알 수 없습니다.

설치 가이드의 요구에 따라 modsecurity-crs/bionic,bionic,now 3.0.2-1이 모두 [설치]되어 있습니다.

어떤 도움이라도 주시면 감사하겠습니다. 지금까지 인터넷에서 이 버전에 대한 문제에 대해 아무것도 찾지 못했습니다.

답변1

crs-setup.conf를 포함하기 전에 다음과 같은 줄을 사용하여 modsecurity.conf 파일을 포함하고 있는지 확인해 주시겠습니까? Include "/etc/apache2/modsecurity.d/modsecurity.conf"modsecurity의 Ubuntu 저장소 버전을 사용하고 있습니까, 아니면 git 저장소에서 가져왔습니까? 규칙? Ubuntu repo 버전은 /etc/modsecurity/modsecurity.conf해당 파일을 어디에 넣었는지 모르겠지만 conf 파일은 다음과 같이 보일 수 있습니다. 참고: modsecurity의 git repo 버전을 사용하는 경우 추가 라이브러리를 로드해야 할 수도 있습니다.

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so

<IfModule security2_module>
        # Include the main modsecurity conf file
        Include "/etc/apache2/modsecurity.d/modsecurity.conf"

        # Include OWASP ModSecurity CRS rules from github
        Include /etc/apache2/crs/crs-setup.conf
        IncludeOptional /etc/apache2/crs/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
        Include /etc/apache2/crs/rules/*.conf
        IncludeOptional /etc/apache2/crs/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
</IfModule>

그것은 실제로 귀하의 질문을 해결하지는 않지만 해당 파일이 필요합니다. 동일한 ID 번호를 가진 두 개의 규칙이 있기 때문에 Apache가 시작되지 않습니다. ModSecurity는 이를 허용하지 않습니다. 중복된 규칙 번호를 찾아 변경하면 됩니다. modsecurity 표준에 따라 /rules 디렉토리에 있는 기존 conf 파일을 수정하면 안 됩니다. modsecurity.conf및 파일을 수정할 수 있고 수정해야 합니다 crs-setup.conf. 중복된 규칙 ID 번호가 있습니다. on line 800 of /etc/apache2/crs/crs-setup.conf줄 번호가 완벽하게 일치하지 않을 수 있다는 점에 유의하세요. 나는 줄이 \. 기본적으로 crs-setup.conf.example실행 중인 규칙 버전을 나열하는 마지막 규칙을 제외한 모든 규칙은 주석 처리됩니다. 파일을 확인 crs-setup.conf하고 주석 처리를 해제한 내용을 확인하세요. 의심스러운 규칙 ID 번호를 찾으면 다음과 같이 모든 규칙의 중복 여부를 확인할 수 있습니다(물론 찾고 있는 규칙 번호 변경).

grep -r '900990' /etc/apache2/crs/rules/*

파일에서 모든 규칙 ID 번호를 찾으려면 다음이 도움이 될 수 있습니다.

grep -ho 'id:[0-9]*' /etc/apache2/crs/rules/*  | sort | uniq -c | less

관련 정보