Linux-监控IP频繁登录服务器脚本------------------iptables脚本

该脚本的作用是监控IP登录失败次数,如果某个IP的登录失败次数超过设定的最大次数,则阻止该IP的进一步登录尝试。

通过iptables防火墙阻止连接,当一个IP尝试登录次数超过5次时,iptables会阻止来自该IP的所有连接。

#!/bin/bash

function secrity(){
# 设置要监控的登录失败次数,超过该次数则会被阻止
MAX_ATTEMPTS=5

# 获取所有登录失败的IP并计数
IP_COUNT=$(lastb | awk '{print $3}' | sort | uniq -c | awk '$1 >= '$MAX_ATTEMPTS' {print $2}')


# 遍历所有登录失败次数超过阈值的IP并将其阻止
for IP in ${IP_COUNT}
do
    # 检查IP是否已经在iptables策略中
    if ! iptables -C INPUT -s $IP -j DROP &> /dev/null; then
        echo "`date +"%F %H:%M:%S"`  Blocking $IP ..."
        iptables -A INPUT -s $IP -j DROP
    else
        echo "$IP is already blocked." > /dev/null 2>&1
    fi
done
}

效果展示:

图片

SSH暴力破解防护手册

 

在Linux系统中,SSH是一种常用的远程登录协议,但也存在被暴力破解的风险。为了加强SSH的安全防护,可以采取以下措施:

  1. 修改SSH默认端口:默认情况下,SSH使用22端口进行通信。为了防止被攻击者扫描和尝试破解,可以将SSH端口修改为其他非默认端口号。可以使用SSH的Port配置选项进行设置。例如,在/etc/ssh/sshd_config文件中,将Port选项修改为其他端口号,然后重启SSH服务。

  2. 禁用root登录:默认情况下,root账户可以通过SSH登录系统。为了提高安全性,可以禁用root账户的SSH登录权限,而是创建一个普通用户用于远程登录。然后,在需要执行管理员任务时,使用sudo命令以root权限执行。

  3. 限制登录IP地址:通过限制SSH登录的IP地址范围,可以防止未授权的远程访问。在/etc/ssh/sshd_config文件中,使用AllowUsers或DenyUsers选项来指定允许或拒绝登录的IP地址范围。

  4. 使用公钥身份验证:公钥身份验证是一种更安全的SSH登录方式。它使用一对加密密钥进行身份验证,其中一个是公钥,另一个是私钥。公钥用于加密数据,而私钥用于解密数据。通过配置SSH服务器和客户端使用公钥身份验证,可以确保只有拥有相应私钥的用户才能成功登录系统。

  5. 定期更新和打补丁:保持系统和SSH软件的最新版本可以确保您获得最新的安全修复和漏洞补丁。及时更新系统和软件可以减少被攻击的风险。

  6. 使用防火墙限制访问:防火墙可以限制对SSH端口的访问,只允许特定的IP地址或网络范围访问SSH端口。通过配置防火墙规则,可以增加对SSH服务器的安全保护。

  7. 监控和日志记录:启用SSH日志记录功能,记录所有SSH登录尝试和操作。通过对日志进行分析,可以检测到任何异常行为或潜在的攻击活动。同时,监控系统中的登录活动可以帮助及时发现潜在的安全威胁。

     

招贤纳士

欢迎👏关注《院长技术》,只做原创,干货~~~

      图片

更多技术干货持续输出中......

欢迎👏加院长助理,邀请微信群:《烦请关注公众号》

图片

欢迎加入QQ-2群:【1群已满

图片

推荐阅读

K8s命令行交互运维神器

院长带你玩转K8s证书续签

Nginx配置SSL证书及跳转特别配置

Docker自建轻量监控系统


欢迎关注我的公众号“院长技术”,原创技术文章第一时间推送。

图片

院长技术
阅读 1625
 
 
posted @ 2024-01-19 17:13  往事已成昨天  阅读(98)  评论(0编辑  收藏  举报