运维开发网

Tcp Wrapper和sudo的常用实现

运维开发网 https://www.qedev.com 2020-09-01 12:18 出处:51CTO 作者:wx5eb64f3ae31eb
小练习

编写脚本/root/bin/checkip.sh,每5分钟检查一次,如果发现通过ssh登录失败 次数超过10次,自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问

[[email protected] scripts]# cat checkip.sh
#!/bin/bash
#

# lastb | awk '/ssh/{count[$3]++}END{for(i in count){if(count[i]>10){system("echo sshd: "i">> /etc/hosts.deny")}}}'
lastb | awk '/ssh/{count[$3]++}END{for(i in count){if(count[i]>10){print i}}}' >> /tmp/DdosIp.txt
cat /tmp/DdosIp.txt | uniq | while read IP; do
    if grep $IP /etc/hosts.deny &>/dev/null; then                                #这里可以使用!非语句,但是为了使用true的效果,所以应用了此判断语句
        true
    else
        echo "sshd:$IP" >> /etc/hosts.deny
    fi
done
> /tmp/DdosIp.txt

[[email protected] scripts]# crontab -l
*/5 * * * * /bin/bash /data/scripts/checkip.sh

配置magedu用户的sudo权限,允许magedu用户拥有root权限

[[email protected] ~]$useradd magedu

[[email protected] ~]$echo 123.com|passwd --stdin magedu
Changing password for user magedu.
passwd: all authentication tokens updated successfully.

[[email protected] ~]$visudo
...
magedu  ALL=(root)      ALL

[[email protected] ~]$sudo head -3 /etc/shadow
[sudo] password for magedu: 
root:$6$ljJwzL/BYFbUCH1i$7E3jQyxprcQw7BUobSEcXDv1cYQcrjgZti8hTvD4Oz5C6Ludl/C/IxWJ.XOBpAJ2NID9JdLf6sMxeVbZMiwHT0::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号