centos黑白名单设置

CentOS系统中对用户登录历史记录,存储在以下文件中:

  • /var/run/utmp(用于记录当前打开的会话)被whow工具用来记录当前有谁登录以及他们正在做什么,而uptime用来记录系统启动时间。
  • /var/log/wtmp (用于存储系统连接历史记录)被last工具用来记录最后登录的用户的列表。
  • /var/log/btmp(记录失败的登录尝试)被lastb工具用来记录最后失败的登录尝试的列表。

utmpdump命令

来自sysvinit-tools包,可以用于转储二进制日志文件到文本格式的文件以便检查。
 

utmpdump /var/run/utmp

utmpdump /var/log/btmp

utmpdump /var/log/wtmp

utmpdump从utmp、wtmp和btmp日志文件或轮循的旧归档文件来读取详细的登录事件,来补充如who,w,uptime,last,lastb之类的标准工具的不足,这也使得它成为一个很棒的工具。


知道了怎么查看日志,如何防御呢?


添加单个黑名单只需要把ip添加到 /etc/hosts.deny

sshd:192.168.0.xxx:deny

允许IP访问的放置在白名单 /etc/hosts.allow 

sshd:192.168.0.xxx:allow

下面是自动拦截攻击并加入黑名单的自动化脚本(未实测

1,创建脚本文件:

mkdir /usr/local/bin/ipblock.sh
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /data/doc/black.txt
for i in `cat  /data/doc/black.txt`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
   if [ $NUM -gt 5 ];then
      grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done

2,添加执行权限

chmod +x /usr/local/bin/ipblock.sh

3,创建记录日志文件

touch /data/doc/black.txt

4,创建定时任务

crontab -e


*/5 * * * *  sh /usr/local/bin/ipblock.sh

5,测试查看

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Romel_wtp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值