LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1523|回复: 0

共享我的 php写的封ssh暴力破解的东东

[复制链接]
发表于 2009-5-19 14:42:32 | 显示全部楼层 |阅读模式
root@www:~/Desktop# cat safe_ssh.sh

#!/usr/bin/php -q   
<?
//心之语,2009-5,www.lybase.net

//登录失败次数
$FailTimes=5;
//本程序的执行日志
$drop_log_path='/var/log/ssh_drop.log';
//取得当前防火墙的IP地址
$iptables=`iptables -nL`;
preg_match_all("/(\d{1,3}\.){3}\d{1,3}/",$iptables,$iptables);
$iptables=array_count_values($iptables[0]);
unset($iptables['0.0.0.0']);
$iptables=(array_keys($iptables));
//使用lastb取得ssh登录不成功的用户
$datas=`lastb`;
preg_match_all("/(\d{1,3}\.){3}\d{1,3}/",$datas,$results);
$ips=array_count_values($results[0]);
//将防火墙中不存在的登录失败次数超过5次的IP加以屏蔽
foreach($ips as $ip=>$times){
   if($times>=$FailTimes)
        if(!in_array($ip,$iptables)){
                        `/usr/sbin/iptables -A INPUT -s $ip -j DROP`;
                        $command='echo -e \#'.date('Y-m-d H:i:s')."\\\\n \/usr\/sbin\/iptables -A INPUT -s $ip -j DROP\\\\n >> $drop_log_path";
                        `$command`;
                }

}
?>
root@www:~/Desktop#
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表