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、現在3.0.2-1がすべて[インストール済み]です
助けていただければ幸いです。今のところ、このバージョンに関するそのような問題についてはインターネット上で何も見つかりませんでした。
答え1
Include "/etc/apache2/modsecurity.d/modsecurity.conf"
crs-setup.conf をインクルードする前に、次のような行で modsecurity.conf ファイルが含まれていることを確認してください。modsecurityの Ubuntu リポジトリ バージョンを使用していますか、それともルールと同様に git リポジトリから取得しましたか? Ubuntu リポジトリ バージョンでは、構成が配置されます/etc/modsecurity/modsecurity.conf
。そのファイルをどこに配置したかはわかりませんが、conf ファイルは次のようになります。注: modsecurity の git リポジトリ バージョンを使用している場合は、追加のライブラリをロードする必要がある場合があります。
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 番号のルールが 2 つあるため、Apache は起動に失敗しています。 ModSecurity はそれを許可しません。 重複したルール番号を見つけて変更するだけです。 modsecurity 標準に従って、/rules ディレクトリ内の既存の conf ファイルは変更しないでください。 およびmodsecurity.conf
ファイルは変更できますし、変更する必要がありますcrs-setup.conf
。 ルール ID 番号が重複していますon line 800 of /etc/apache2/crs/crs-setup.conf
行番号が完全に一致しない場合があることに注意してください。 で行をエスケープすると、1 行としてカウントされると思います\
。 デフォルトでは、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