 |
|
|  |
| SSH 공격 아이피 필터링 스크립트(recent IP 기반) |
|
|
 |
15년 전 |
http://kr.blog.yahoo.com/blogger711/1455309
0 && in_array($ip, $block_ip))
continue; // 이미 목록상에 있는경우 다음것을 찾음
if (strcmp($ip, $w_addr)) {
$cnt = 1; // 횟수
$w_addr = $ip;
$w_time = $time;
$diff = 0;
$recent = array($time);
}
else {
$cnt ++;
$recent[$cnt - 1] = $time;
}
// 가장 인접한 목록에서 diff 값을 계산한다.
if ($cnt >= 10) $diff = $time - $recent[$cnt - 10];
else $diff = $time - $recent[$cnt - 1];
//echo "DEBUG:" . $ip . "/" . $cnt . "/" . $diff . "/" . $diff/$cnt . "\n";
// 횟수가 6번 이상이고 60초 이내인 경우
if ($cnt >= 10 && $diff <= 60) {
// block 시킬 IP로 판단하고 등록한다.
$block_ip[] = $w_addr;
//echo "DEBUG:".$diff."/".$w_addr."\n";
}
// 횟수가 30번 이상이고 6시간이내인 경우
//else if ($cnt >= 30 && $diff <55*60*50) {
// $block_ip[] = $w_addr;
//}
}
}
parse_file();
//print_r ($attach_ip);
make_block_list();
echo "\nALL: ";
$i = 0;
while (list($time,$ip) = each($block_ip))
{
echo $ip;
$i ++;
if ($i < count($block_ip))
echo ", ";
}
echo "\n";
?> |
|
추천 : 711 |
추천
목록
|
|
|  |
|