通过pf防火墙来封堵恶意猜测登陆ssh的IP
2009-05-13 15:42:23来源:未知 阅读 ()
table persist
table persist
block quick from
block quick from
pass quick inet proto tcp from any to any port 22 keep state (max-src-conn 3, max-src-conn-rate 2/1,overload flush global)
pass quick inet proto tcp from any to any port ftp keep state (max-src-conn 11, max-src-conn-rate 20/10,overload flush global)
首先是添加了pf防火墙的两个表:SSHbruteforce,FTPbruteforce,默认是禁止两个表中的IP,最后是付合条件的IP,分别加入到两个表中。
第二步:对于阻擋一日後,即清除IP紀錄,先裝套件/usr/ports/security/expiretable
# /usr/local/sbin/expiretable -v -d -t 24h SSHbruteforce
# /usr/local/sbin/expiretable -v -d -t 24h FTPbruteforce,
把以上内容加入到/etc/rc.local,freebsd6.2中,没有rc.local这个文件,可以自己创建。
第三步:我们记录一下这些被封堵的IP地址:
#!/bin/sh
log_file="/var/log/bad_guy.log"
date >> $log_file
echo " SSH:" >> $log_file
/sbin/pfctl -t SSHbruteforce -T show >> $log_file
echo " FTP:" >> $log_file
/sbin/pfctl -t FTPbruteforce -T show >> $log_file
以上这些内容是别的朋友做出来的。
下边写些自己的扩展:
1。先提取auth.log中的invalid user ip,并且记录下来:
date >/log/ip.txt
echo "############################" >>/log/ip.txt
echo "Login authentication failed IP:" >>/log/ip.txt
echo "############################" >>/log/ip.txt
cat /var/log/auth.log | grep Invalid >/log/auth.log
awk '{print $10}' /log/auth.log >/log/ipadd.txt
sort /log/ipadd.txt |uniq >>/log/ip.txt
sort /log/ipadd.txt |uniq >>/log/ipadd.txt
rm /log/auth.log
#rm /log/ipadd.txt
echo "############################" >>/log/ip.txt
echo "" >>/log/ip.txt
echo "all of IP address:" >>/log/ip.txt
cat /log/ip.txt|grep ^\[0-9]|wc -l >>/log/ip.txt
把脚本加入到crontab中,每五分钟统计一次,把IP写入记录中。
2。通过以下这个简单的shell,把统计整理的IP,加入到pf防火墙的SSHbruteforce表中,
sort /log/ipadd.txt |uniq >>/log/iplog.txt
cat /log/iplog.txt|while read aa
do
/sbin/pfctl -t SSHbruteforce -T add $aa
done
把以上脚本也加入到crontab中,每五分钟执行一次,把统计到的IP加入到pf防火墙中并禁用。
或者把1.2中两个脚本合到一起写如下:
date >/log/ip.txt
echo "############################" >>/log/ip.txt
echo "Login authentication failed IP:" >>/log/ip.txt
echo "############################" >>/log/ip.txt
cat /var/log/auth.log | grep Invalid >/log/auth.log
awk '{print $10}' /log/auth.log | sort | uniq >>/log/ip.txt
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:经常使用的正则表达式举例
下一篇:比较两个文件的方法。
- FreeBSD 内建的防火墙指令ipfw英译汉 2009-05-13
- UNIX学习(8) 2009-05-13
- OpenBSD 3.x 防火墙 PF配置新手指南 2009-05-13
- PF防火墙详解 2009-05-13
- Freebsd上使用pf防火墙 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash