脆弱であることが知られているページにアクセスするIPアドレスを永久にブロックするにはどうすればよいですか/phpMyadmin/
。私はDebianサーバーを実行していますが、ボットやハッカーが脆弱性を見つけるために私のサーバーをスキャンすることをよく見ています。
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpMyadmin/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpMyAdmin/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyAdmin/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyadmin2/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyadmin3/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyadmin4/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
私はこのstackoverflowの質問に従いました。phpMyAdminを保護する方法。
ボットが帯域幅を占めるのをブロックしたいです。
答え1
これは望むものよりも重いかもしれませんが、fall2ban(https://www.fail2ban.org)。このツールは、ログファイルを監視し、カスタマイズ可能なパターンセットに一致するログを生成するアドレスを自動的に抑制できます。
答え2
いいえ。最良の場合、ログは複雑ではありません。最悪のシナリオは最終的に終わるでしょう正当な訪問者をブロック彼はかつてPCがボットネットノードに感染した人の所有であったIPアドレスを(DHCP経由で)取得しました。
ここで本当の問題は、ログが複雑であることです。これは、既知の脆弱性スキャンを削除するようにログを設定することで簡単に解決できます。なぜなら、あなたは脆弱性を使用せず、したがって、あなたのサイトは現在フレームワークに脆弱性を持っておらず、今後も存在しないからです。スキャン。ログ記録がすべて失われることが心配な場合(他の攻撃に責任がある人が誰であるか、攻撃が開始された時点などの証拠を提供することもあります)、短時間で特定のIPのスパムURLから複数のログエントリを制限するだけです。 。期間はよりよく機能するはずです。
答え3
httpd設定ディレクトリの1つでphpMyAdmin.confを見つけて、deny 73.199.136.112
設定ファイルの許可/拒否セクションとセクション2.4の必須IPを追加します。代わりに、ツールへのアクセスを許可したIP範囲を除くすべてのエントリをブロックしたエントリを含む完全な設定ファイルの例を以下に配置しました。
[thebtm@server conf.d]# cat /etc/httpd/conf.d/phpMyAdmin.conf
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 10.10.26
Require ip 192.168.56
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 10.10.25
Allow from 192.168.56
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/lib/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/frames/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#<IfModule mod_security.c>
# <Directory /usr/share/phpMyAdmin/>
# SecRuleInheritance Off
# </Directory>
#</IfModule>