| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
我的控制访问比较特殊,考虑到远程登陆点并非固定,所以无法设定固定IP通过SSH登陆服务器。这样N多IP会通过黑客软件试图破解您的用户名和密码(基本都是穷举,不怕一万只怕万一,因此我写了这个后台脚本)。
安全:利用/etc/hosts.deny、/etc/hosts.allow来做tcp wrapper控制访问,配合iptables作进一步过滤。 网管下载dl.bitscn.com
crontab最短执行周期是每隔1分钟执行一次,而以下这段代码的最短执行周期可以自定义(最短1秒)
脚本名:sshd_monitor
网管网www.bitscn.com
#!/bin/sh 网管u家u.bitscn@com
while true
网管bitscn_com
#使用while true来做循环,这样当脚本后台执行的时候总是会根据sleep时间的长短来执行任务 网管网www.bitscn.com
do 网管u家u.bitscn@com
cat /var/log/secure* |awk '{if($6==\"Invalid\")print $10}' |sed 's/::ffff://g' |sort -n |uniq -c |awk '{if($1>=5)print $2}' >/root/lawless_ip 网管网www_bitscn_com
#在secure日志中,获取登陆失败大于5次的ip并输入到lawless_ip文件中 网管网www.bitscn.com
row=`cat /root/lawless_ip|wc -l`
#记录lawless_ip文件中的ip记录条数
a=0
for z in `seq 1 $row` 网管联盟bitsCN_com
#从第一个ip开始写规则到lawless_ip_deny这个临时文件中,起结果会类似 ALL:123.123.123.123 ……
do 网管下载dl.bitscn.com
a=$[$a+1] 中国网管论坛bbs.bitsCN.com
row_ip=`cat /root/lawless_ip |sed -n -e \"\"$a\"p\"`
echo -e \"ALL:$row_ip\" >> /root/lawless_ip_deny 网管论坛bbs_bitsCN_com
done 中国网管论坛bbs.bitsCN.com
cat /root/lawless_ip_deny > /etc/hosts.deny
#然后将lawless_ip_deny文件中的内容写入到hosts.deny。 网管联盟bitsCN_com
rm /root/lawless_ip_deny 网管网www_bitscn_com
#删除该临时文件
网管bitscn_com
sleep 10 网管bitscn_com
#每隔10秒执行while操作
done
为防止自己登陆失败超过5次被禁止,需要在/etc/hosts.allow中加入自己本机或许可某个IP总是能够登陆的匹配规则如: ALL:192.168.10.12。记住,一般allow的优先级总比deny高。此外,在/etc/rc.local加句sh /dir/sshd_monitor &,保证每次启动服务器时都能后台运行该脚本。 网管bitscn_com
以上方法只是抛砖引玉,这样的deamon可以写成监控ftp、http、进程等各种需求,相当实用。 网管u家u.bitsCN.com
|
0
|
评论加载中…