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

Shell命令 置顶 精帖
2321
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


倒序看帖 只看楼主
热点关注
You need Perl 5 安装openssl时报错提示需要安装perl 5
shell 脚本中常见的 if [ $? -ne 0 ]; 意思
shell 中 if [ “x${var}“ == “x“ ] 中 x的作用
shell脚本每行后面多了一个^M的原因和解决办法
服务停止、启动、重启一体化脚本,万能语言启动脚本
shell参数判断
在后台用进程名运行bash脚本
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
extman-1.1自带了图形化显示日志的功能;此功能需要rrdtool的支持,您需要安装此些模块才可能正常显示图形日志。
postfix的相关个别参数设置
postfix中recipient/client/sender/helo四者的区别