标签:log script IP 黑名单 echo awk ssh print Ubuntu20
我的系统是UBUNTU 20.4 /var/log/secure并不存在,也许只是PC端是如此 在网上找到篇https://developer.aliyun.com/article/60931 原来在早在Ubuntu 16.04.2后就不用 /var/log/secure 实际操作才是王道,我们准备台虚拟机尝试ssh登陆看结果systemctl restart sshd.service sudo nmap -Pn -sS 192.168.224.*/24
ssh root@192.168.224.131 -p 2222
登录几次失败我们可以测下
sudo lastb
我们登录失败的次数都被记录在这上面。
sudo cat /var/log/btmp
lastlog
最后一次登录的IP
cat /var/log/lastlog
cat /var/log/secure |awk '/Failed/{print $(NF-3)}' |sort |uniq -c |awk '{print $2"="$1;}' >/usr/local/bin/black.list for i in `cat /usr/local/bin/black.list` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i |awk -F= '{print $2}'` if [ ${#NUM} -gt 1 ]; then grep $IP /etc/hosts.deny >/dev/null if [ $? -gt 0]; then echo "sshd:$IP:deny" >>/etc/hosts.deny echo -e "$IP \c" fi fi done echo "is denied now."这段代码里的 /var/log/secure目前在ubuntu20.4里没有自带有所以修改下代码 OK这篇是centOS服务器的脚本 由于我用的是PC端的Ubuntu所以得修改部分代码
su root mkdir /script touch /script/checkBlackIp.sh chmod 755 /script/checkBlackIp.sh /script chown root:root /script/checkBlackIp.sh vim /script/checkBlackIp.sh
加入下面代码
#!/bin/sh lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}' >/script/black.list for i in `cat /script/black.list` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i |awk -F= '{print $2}'` if [ ${#NUM} -ne 1 ]; then grep $IP /etc/hosts.deny >/dev/null if [ ! $? -eq 0 ]; then echo "sshd:$IP:deny" >>/etc/hosts.deny echo "$IP \c" fi fi done echo "is denied now."
crontab -e
vim /etc/crontab
systemctl restart cron.service systemctl enable cron.service
https://www.cnblogs.com/eternalnight/p/13905048.html
标签:log,script,IP,黑名单,echo,awk,ssh,print,Ubuntu20 来源: https://www.cnblogs.com/eternalnight/p/13905051.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。