Linux查看访问IP以及统计日志访问最多的IP ,以及安全的问题

Shell命令 置顶 精帖
1477
linux
linux 举报
2020-05-28
Linux查看访问IP以及统计日志访问最多的IP ,以及安全的问题

Linux 系统有很多用于快速处理数据的工具如 grep , awk , cut , sort , uniq , sort 可以帮助我们分析网络情况 , 他们非常非常地好用 , 如果你熟练掌握他们的使用技巧 , 他们则可以帮你快速定位问题 ; 接下来一步步来查看访问系统的 IP 情况

通过 netstat -ntu , 找出通过 tcp 和 udp 连接服务器的 IP 地址列表 :

[root@izufxxxxxezyz ~]# netstat -ntu

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State      

tcp        0      0 172.17.63.162:57852     100.100.30.25:80        ESTABLISHED

tcp        0      0 172.17.63.162:22        223.73.57.231:37362     ESTABLISHED

tcp        0     52 172.17.63.162:22        223.73.57.231:37448     ESTABLISHED

使用 awk 将第五列单独截出来 :

[root@izufxxxxxezyz ~]# netstat -ntu | grep tcp | awk '{print $5}'

100.100.30.25:80

223.73.57.231:37362

223.73.57.231:37448

安全问题

centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny

格式  sshd:$IP:deny

vim /etc/hosts.deny   添加你要禁止的ip就可以了

sshd:192.168.1.142:deny

找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单

1、编辑脚本  vim /usr/local/bin/secure_ssh.sh

#! /bin/bash

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt

for i in `cat  /usr/local/bin/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、创建记录登录失败次数的文件  touch /usr/local/bin/black.txt

3、添加定时 5分钟执行一次   

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



版权声明:本文为CSDN博主「半碗面」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_34861341/java/article/details/91053303


倒序看帖 只看楼主
热点关注
postfix下过滤垃圾邮件的有效方法
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
组成共享库的目标文件和一般的目标文件有所不同,在编译时要加-fPIC和-share选项,例如:
gcc指定链接库路径后还是找不到库文件
./configure -build,-host,-target设置
关于Linux系统中configure中build,target,host中的若干问题
不用单独编译gmp、mpfr和mpc三个包,放在gcc源码下面一起编译
安装最新版本的GCC编译器(./configure执行编译报错 C++ compiler too old)
在后台用进程名运行bash脚本
shell参数判断
postfix过滤规则的几个关键规则