Schließen Sie /etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf ein.

Schließen Sie /etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf ein.

v3.2.0 heruntergeladen https://coreruleset.org/installation/ Befolgen Sie die Anweisungen in der Datei INSTALL

Aber Apache kann nicht gestartet werden und gibt diesen Fehler zurück -

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

dies ist meine apache2.conf-Datei für security2

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>

Nach dieser Ausgabehttps://github.com/SpiderLabs/ModSecurity/issues/1227

Ich habe es „gelöst“, indem ich Folgendes kommentierte:

Schließen Sie /etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf ein.

aber da ich eine neuere Version verwende, gibt es keine solche Regel, die Regeln sind jetzt alle anders, also kann ich beim besten Willen nicht herausfinden, was los ist.

Ich habe modsecurity-crs/bionic,bionic,now 3.0.2-1 alles [installiert] wie in der Installationsanleitung gefordert

Für jede Hilfe wäre ich dankbar. Bisher habe ich im Internet nichts zu einem solchen Problem mit dieser Version gefunden.

Antwort1

Könnten Sie überprüfen, ob Sie die Datei modsecurity.conf mit einer Zeile wie dieser einbinden: Include "/etc/apache2/modsecurity.d/modsecurity.conf"bevor Sie crs-setup.conf einbinden? Verwenden Sie die Ubuntu-Repo-Version von modsecurity oder haben Sie diese sowie die Regeln aus dem Git-Repo gezogen? Die Ubuntu-Repo-Version wird die Konfiguration in „ /etc/modsecurity/modsecurity.confIch weiß nicht, wo Sie diese Datei abgelegt haben, aber Ihre Conf-Datei könnte so aussehen“ ablegen. Hinweis: Wenn Sie die Git-Repo-Version von modsecurity verwenden, müssen Sie möglicherweise einige zusätzliche Bibliotheken laden.

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>

Das geht zwar nicht wirklich auf Ihre Frage ein, aber Sie brauchen diese Datei. Apache kann nicht gestartet werden, da es zwei Regeln mit derselben ID-Nummer gibt. ModSecurity lässt das nicht zu. Sie müssen lediglich die doppelte Regelnummer finden und ändern. Gemäß den Modsecurity-Standards dürfen Sie keine der vorhandenen conf-Dateien im Verzeichnis /rules ändern. Sie können und sollten die Dateien modsecurity.confund ändern crs-setup.conf. Sie haben eine doppelte Regel-ID-Nummer. on line 800 of /etc/apache2/crs/crs-setup.confBedenken Sie, dass die Zeilennummern möglicherweise nicht genau übereinstimmen. Ich glaube, dass diese als eine Zeile gezählt werden, wenn Zeilen mit maskiert werden \. Standardmäßig crs-setup.conf.examplesind alle Regeln auskommentiert, außer der letzten, die die Version der von Ihnen ausgeführten Regeln auflistet. Prüfen Sie Ihre crs-setup.confDatei und sehen Sie nach, was Sie auskommentiert haben. Wenn Sie verdächtige Regel-ID-Nummern finden, können Sie alle Ihre Regeln mit etwas wie diesem auf Duplikate überprüfen (natürlich unter Änderung der gesuchten Regelnummer):

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

Wenn Sie nur alle Regel-ID-Nummern in den Dateien finden möchten, könnte dies hilfreich sein:

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

verwandte Informationen