服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 利用 firewalld ipset 禁止 Linux 服务器被暴力破解登录

利用 firewalld ipset 禁止 Linux 服务器被暴力破解登录

2023-12-22 17:03未知服务器之家 Linux

不知道之前是哪位同事心大,居然把一台Linux主机在防火墙上做了主机映射,结果这台主机完全暴露在公网上,关键是sshd服务端口也没改。一查日志,全是暴力登录的记录,真担心哪天密码被暴力破解了。 为了解决这个问题,想到

不知道之前是哪位同事心大,居然把一台Linux主机在防火墙上做了主机映射,结果这台主机完全暴露在公网上,关键是sshd服务端口也没改。一查日志,全是暴力登录的记录,真担心哪天密码被暴力破解了。

利用 firewalld ipset 禁止 Linux 服务器被暴力破解登录

为了解决这个问题,想到了使用firewalld来禁止这些ip地址通过ssh连接,从而阻断服务器被远程暴力破解,以下是详细步骤。

1.定义firewalld ipset

firewall-cmd --permanent --new-ipset=blacklist --type=hash:ip

2.定义firewalld规则调用ipset

firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source ipset=blacklist port protocol="tcp" port=22 drop'

3.将日志中的ip添加到ipset中

因为日志中ip很多,而且会不断更新,不可能手动添加,于是打算写个shell脚本,通过定时任务添加到ipset中。shell脚本内容如下:

#!/bin/bash
# Author: Harry
# Description: 使用root账号登录错误大于10次的IP被加入到黑名单中
for ip in `grep -i 'Failed password for root' /var/log/secure | awk '{print $11}' | sort -n | uniq -c | sort -k1nr | awk '{if ($1>10) print $2}'`; do
    firewall-cmd --permanent --ipset=blacklist --add-entry="${ip}";
done;
firewall-cmd --reload;

4.定时任务

0 * * * * /opt/blockips.sh >/dev/null 2>&1

说明:任务每小时执行一次

5.其他

此时可以用如下方法查询被禁止的IP地址:

使用firewall-cmd命令查看已经被进入黑名单的IP地址

firewall-cmd --permanent --info-ipset=blacklist
firewall-cmd --ipset=blacklist --get-entries

经过查询,居然有这么多IP,由此可见服务器暴露在公网上是有多不安全。

利用 firewalld ipset 禁止 Linux 服务器被暴力破解登录

查看ipset配置文件blacklist.xml

cat /etc/firewalld/ipsets/blacklist.xml

注意,这里使用的firewalld ipset 是指 firewalld 与 ipset 工具的集成,而不是独立的ipset工具,如果使用ipset命令创建IP地址集合,firewalld将无法与之关联。

延伸 · 阅读

精彩推荐
  • LinuxLinux系统下无法卸载挂载的目录怎么办?

    Linux系统下无法卸载挂载的目录怎么办?

    我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目...

    今日头条10302020-12-30
  • Linux在Linux系统中创建新的亚马逊AWS访问密钥的方法

    在Linux系统中创建新的亚马逊AWS访问密钥的方法

    如何在Linux系统中创建新的亚马逊AWS访问密钥?我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥,我怎样创建一个...

    Linux教程网6182019-10-30
  • Linuxssh 登录很慢该如何解决

    ssh 登录很慢该如何解决

    这篇文章主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下...

    linuxeye9922021-12-16
  • Linux理解 Linux/Unix 登录脚本的技巧

    理解 Linux/Unix 登录脚本的技巧

    有一些常见的情况,例如从Debian的包管理程序到Iaas的管理中,很多任务需要设置环境变量才能正常运行。 有时,程序通常只需要在 登陆时运行一次,例如...

    未知1042023-05-12
  • Linuxlinux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下...

    Linux教程网8512021-10-10
  • Linuxlinux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev5622022-03-01
  • Linuxlinux驱动程序开发详细介绍

    linux驱动程序开发详细介绍

    前提,一般来说内核代码的错误可能会引起一个用户进程的死亡,或者整个系统的瘫痪,更严重的后果,可能导致磁盘损伤~因此建议最好有一台实验机进行...

    Linux教程网5392019-12-17
  • Linux将 Linux 终端与 Nautilus 文件管理器结合起来

    将 Linux 终端与 Nautilus 文件管理器结合起来

    Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。 尽管并非所有人都喜欢使用终端来管理文件和目录,...

    未知812023-08-08