httpd24を使用してmod_evasiveまたはmod_securityをインストールする方法

httpd24を使用してmod_evasiveまたはmod_securityをインストールする方法

Cenots 6.10でhttpd24を使用してmod_evasiveとmod_securityをインストールしようとしましたが、失敗しました。

私はこの解決策を試しました:https://github.com/shivaas/mod_evasive、ダウンロード:mod_evasive24.c $APACHE_ROOT/bin/apxs -i -a -c mod_evasive24.c

次のメッセージが表示されます。

/usr/lib64/apr-1/build/libtool --silent --mode=コンパイル gcc -prefer-pic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fExceptions -fstack-protector --param= ssp-buffer-size=4 -m64 -mtune=generic -Wformat-security -fno-strict-aliasing -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -pthread -I/usr/include/httpd -I/usr/include/apr- 1 -I/usr/include/apr-1 -c -o mod_evasive24.lo mod_evasive24.c && touch mod_evasive24.slo mod_evasive24.c: 関数 'create_hit_list': mod_evasive24.c:122: 警告: nonなし ステートメント void mod_evasive24.c: 'access_checker' 関数に: mod_evasive24.c:146: エラー: 'request_rec' に 'useragent_ip' というメンバーがありません。 mod_evasive24.c:150: エラー: 'request_rec' に 'mod_evasive24.c というメンバーがありません: 162: エラー: 'request_rec' に 'useragent_ip' というメンバーがありません。 mod_evasive24.c:162: エラー: 'request_rec' に 'useragent_ip' というメンバーがありません。 mod_evasive24.c:162: エラー: 'request_rec' に 'useragent_ip' というメンバーがありません。 mod_evasive24.c:169: エラー: ârequest_recâ âuseragent_ipâ という名前がありません。 mod_evasive24.c:184: エラー: ârequest_recâ âuseragent_ipâ という名前がありません。 mod_evasive24.c:191: エラー: ârequest_recâ âuseragent_ipâ という名前がありません。 mod_evasive24.c:191: エラー: ârequest_re 名前がありません âuseragent_ipâ mod_evasive24.c:2 12: エラー: 'request_recâ' 'useragent_ip' という名前がありません。 mod_evasive24.c:219: エラー: 'request_rec' に 'useragent_ip' という名前のメンバーがありません。 mod_evasive24.c:225: エラー: 'request_rec' に 'useragent_ip' というメンバーがありません。 mod_evasive24.c:226: エラー: 'request_rec' "'useragent'_ipâ mod_evasive24.c:232: エラー: 'request_rec' には 'useragent_ip' というメンバーがありません。 mod_evasive24.c:233: 警告: warning_unused_result 属性system' の戻り値を無視 mod_evasive24.c: 'destroy_hit_list' 関数で: mod_evasive24.c:305: 警告: void ではなく apxs を返す関数に戻りステートメントがありません: エラー: rc=65536 でコマンドが失敗しました。

答え1

CentOS 6はやや古いので、CentOS 7にアップグレードするのが最善です。 Apache 2.4でApache 2.2ツールを使用する際に問題があるようです。

問題を解決するためのいくつかの質問:

  • CentOS 6を使用している場合は、7にアップグレードすることをお勧めします。
  • にはmod_evasive対応するソフトウェアパッケージがあります。
  • 情報mod_security、難しさはインストールではなく構成です。適切に、現在のサイト/ソリューションを中断することなく。

CentOS 7にmod_evasiveとmod_securityをインストールする前に、EPELリポジトリを有効にする必要があります。

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh epel-release-7*.rpm

次に、次のようにします。

sudo yum --enablerepo=epel install mod_evasive  mod_security mod_security_crs

構成については、mod_evasive次を参照してください。Apacheの代わりにロードバランサーを使用して特定のIPのトランザクションを制限します。

に関してはmod_security基本的にイベントのみ記録します。有効にするには、インストール後にApacheを編集し、/etc/httpd/conf.d/mod_security.conf変更してSecRuleEngineOn起動する必要があります。

ただし、SecRuleEngineそうする準備ができていない場合は有効にしないことをお勧めします。:

  • mod_security自己デバッグ;
  • ウェブサイトの特定の部分が機能しない理由を理解してください。
  • デフォルト設定で無効にする適切なルールを変更/追跡しますmod_security

関連情報