如何使用fail2ban和FirewallD黑名单保护你的系统

使用fail2ban和FirewallD黑名单保护系统是一种有效的方法。Fail2ban可以监控系统日志,并根据一定规则匹配异常IP后使用FirewallD将其屏蔽,尤其是针对一些爆破/扫描等非常有效 。

什么是fail2ban和FirewallD?

1、fail2ban是一个基于Python编写的日志管理工具,主要用于防止恶意软件攻击,它通过监控系统日志,发现异常行为并将其添加到黑名单中,从而阻止这些行为的发生,Fail2Ban可以根据不同的攻击类型和频率自动调整过滤规则,以提高系统的安全性。

2、FirewallD(Firewall Daemon)是一个用于管理Linux内核防火墙的开源工具,它提供了一个灵活的配置接口,允许用户根据需要创建和管理防火墙区域、规则链和策略,FirewallD可以与iptables等其他防火墙工具集成,以提供更强大的安全防护能力。

如何使用fail2ban和FirewallD黑名单保护你的系统

如何安装和配置fail2ban?

1、安装fail2ban:在基于Debian的系统(如Ubuntu)上,可以使用以下命令安装fail2ban:

sudo apt-get update
sudo apt-get install fail2ban

在基于RHEL的系统(如CentOS)上,可以使用以下命令安装fail2ban:

sudo yum install epel-release
sudo yum install fail2ban

2、配置fail2ban:在安装完成后,需要对fail2ban进行一些基本配置,创建一个新的配置文件/etc/fail2ban/jail.conf,并添加以下内容:

[DEFAULT]
指定日志文件的路径
logfile = /var/log/fail2ban/fail2ban.log
指定过滤器的名称和配置文件的路径
filter = %(bantime)s [%(ipaddr)s]:%(port)s -> /etc/fail2ban/filter.d/%(chain)s.conf
[sshd]
enabled = true
port = ssh
filter = sshd:37980 sshd:47890 sshd:37990 sshd:59060 sshd:59050 sshd:37981 sshd:37982 sshd:37983 sshd:37984 sshd:37985 sshd:37986 sshd:37987 sshd:37988 sshd:37989 sshd:37905 sshd:37906 sshd:37907 sshd:37908 sshd:37909 sshd:37910 sshd:37911 sshd:37912 sshd:37913 sshd:37914 sshd:37915 sshd:37916 sshd:37917 sshd:37918 sshd:37919 sshd:50000-52000 sshd:52000-54000 sshd:54000-56000 sshd:56000-58000 sshd:58000-62000 sshd:62000-64000 sshd:64000-66000 sshd:66000-68000 sshd:68000-111000
action = iptables[name=DROP, chain=INPUT, protocol=tcp, port=ssh] & iptables[name=DROP, chain=FORWARD, protocol=tcp, port=ssh] & iptables[name=DROP, chain=OUTPUT, protocol=tcp, port=ssh]
maxretry = 3

这里定义了一个名为sshd的过滤器,用于拦截SSH服务的恶意连接请求,你可以根据需要添加更多的过滤器,例如针对HTTP、FTP等服务的过滤器。

如何使用fail2ban和FirewallD黑名单保护你的系统

3、启动fail2ban服务:使用以下命令启动fail2ban服务,并设置其在系统启动时自动运行:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

如何使用FirewallD创建和管理防火墙区域?

1、创建防火墙区域:firewall-cmd --permanent --zone=<zone_name> --add-source=<network><zone_name>是你要创建的防火墙区域的名称,<network>是你要将该区域与的网络地址或子网,要将名为public的区域与192.168.1.0/24网络关联,可以使用以下命令:

sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.0/24

2、将服务添加到防火墙区域:firewall-cmd --permanent --zone=<zone_name> --add-service=<service_name><service_name>是你要将服务添加到的防火墙区域的服务名称,要将SSH服务添加到名为public的区域,可以使用以下命令:

sudo firewall-cmd --permanent --zone=public --add-service=ssh

3、重载防火墙配置:firewall-cmd --reload,这将使新的防火墙区域和服务的配置立即生效。

如何使用fail2ban和FirewallD黑名单保护你的系统

相关问题与解答

Q1:如何在fail2ban中自定义过滤器?

A1:在/etc/fail2ban/filter.d/<chain>.conf文件中定义过滤器规则,要创建一个只允许来自特定IP地址的SSH连接的过滤器,可以在文件中添加以下内容:

[sshd]
allowed_ips = <ip_addresses>

然后重启fail2ban服务以应用更改,更多关于过滤器的详细信息和示例,请参阅fail2ban官方文档。

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/125732.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
酷盾叔
上一篇 2023-12-30 09:30
下一篇 2023-12-30 09:32

相关推荐

  • 如何关闭服务器上的端口?

    服务器如何关闭端口在现代网络环境中,服务器的安全性至关重要,为了保护服务器免受潜在的威胁和攻击,有时需要关闭特定的端口,本文将详细介绍如何通过不同方法关闭服务器上的端口,包括使用防火墙、IP安全策略、命令行工具和服务配置文件等,以下是具体步骤:一、通过Windows防火墙关闭端口1、打开Windows防火墙:点……

    2025-01-15
    01
  • 如何实现服务器对域名的屏蔽?

    服务器屏蔽域名的方法有多种,包括修改hosts文件、使用防火墙、代理服务器、CDN服务以及DNS屏蔽等,以下是这些方法的详细操作流程和注意事项:修改Hosts文件修改hosts文件是一种简单且常见的屏蔽域名的方法,hosts文件用于将域名解析为IP地址,通过在文件中添加特定的条目,可以将需要屏蔽的域名指向一个无……

    2025-01-15
    07
  • 服务器如何有效屏蔽特定IP地址?

    服务器屏蔽IP地址是网络安全管理中的一项重要操作,主要用于防止特定的IP地址访问服务器资源,以下将详细阐述如何在Windows操作系统上通过多种方法实现这一目标:一、使用Windows安全策略屏蔽IP1、创建IP安全策略 – 打开本地安全设置,点击“IP安全策略,在本地机器”, – 选择“创建IP安全策略”,并……

    2025-01-15
    00
  • 如何关闭服务器的安全功能?

    服务器的安全关闭是一个复杂且需要谨慎处理的过程,以下是关于如何安全关闭服务器的详细步骤和注意事项:一、备份数据在关闭服务器之前,务必备份所有重要的数据和配置文件,这包括数据库、配置文件、日志文件等,将数据备份到另一个存储介质,例如外部硬盘或云存储,确保备份文件的完整性和可用性,以防在关闭过程中发生意外导致数据丢……

    2025-01-14
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入