2017-03-17 4 views
0

私はブルートフォースの攻撃の下に自分のウェブサイトを持っている顧客を持っています。私が使用してサイトに多くのfradulent IPアクセスを検出:どのようにIPがウェブサイトにアクセスしてブラックリストに載っている時間を計算しますか?

echo $_SERVER['HTTP_REFERER'] . " - " . getIp() . date("Y-m-d H:i:s"); 

私はIPSが秒あたり10回のようなウェブサイトを何度もアクセスしていることがわかります。

私はその動作ですべてのipsをブロックする必要がありますが、何をすることをお勧めしますか?

(簡単なWordpressのブログです)

答えて

0

このルールはおそらく動作します: 1秒間に10回以上のリクエストが詐欺的なIPの信号である場合、これは制御される可能性があります。

のMySQL:

DROP TABLE IF EXISTS `tbl_request`; 
CREATE TABLE `tbl_request` (
    `codigo_request` bigint(11) NOT NULL AUTO_INCREMENT, 
    `ipnumber` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, 
    `date` datetime DEFAULT NULL, 
    `is_hacking` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, 
    `milliseconds` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, 
    `blacklisted` int(11) NOT NULL DEFAULT '0', 
    PRIMARY KEY (`codigo_request`) 
) ENGINE=InnoDB AUTO_INCREMENT=541192 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

詐欺IPS:

select *, SUM(count) AS totalCount from (

select *, count(ipnumber) as count from tbl_request group by ipnumber, date HAVING count >= 10 order by count DESC 

) AS T GROUP by T.ipnumber order by totalCount DESC 

PHP:

$request = new Request(); 
$request->setIpnumber(get_client_ip()); 
$request->setDate(getDateForDatabase()); 
$request->insert(); 

$fips = $request->getFraudulentIps(); 
foreach ($fips as $k => $v) { 
    $v->blacklist(); 
} 
0

「ブルートフォース」攻撃誰かがあなたのサイトの制限区域へのアクセスを得るのを期待して、ユーザー名/パスワードを送信しようとしている場合です。これを処理するために、ブロックされる前にIPが不正なログイン資格情報を送信しようと試みる回数に関するルールを設定できます。 DBに詳細を記録して使用することができます。 WPでは、プラグインを使用してログイン試行を制限することができます。 https://www.wpoptimus.com/912/ban-ip-addresses-login-wordpress-dashboard/

「DoS」攻撃は、サーバーの要求を圧倒することです。この種の攻撃はコードでは処理できず、サービスプロバイダーレベルで行う必要があります。

また、cpanelにipsをブラックリストに追加するオプションもあります。

+0

面積ログインできません、攻撃は公共のブログのレベルの下にある...誰かがリクエストを送信していますhttp://www.theblogattacked.com/ –

+0

にcpanelがありますか?ブラックリストには、それらのIPがリストされています。または.htaccessのIPをブロックします。例:http://blamcast.net/articles/block-bots-hotlinking-ban-ip-htaccess – blokeish

関連する問題