如何在FreeBSD 11.1上安装列入黑名单

介绍

任何连接到Internet的服务都可能成为暴力攻击或不当访问的目标。有类似fail2ban或的工具sshguard,但由于它们仅用于分析日志文件,因此它们在功能上受到限制。黑名单采用不同的方法。修改后的守护程序(例如SSH)能够直接连接到列入黑名单的服务器,以添加新的防火墙规则。

步骤1:PF(防火墙)

锚是规则的集合,我们在PF配置中需要一个。要创建最小规则集,请进行如下编辑/etc/pf.conf

set skip on lo0
scrub in on vtnet0 all fragment reassemble

anchor "blacklistd/*" in on vtnet0

block in all
pass out all keep state
antispoof for vtnet0 inet

pass in quick on vtnet0 inet proto icmp all icmp-type echoreq
pass in quick on vtnet0 proto tcp from any to vtnet0 port 22

现在启用PF自动启动功能,编辑/etc/rc.conf:

pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"

但是,您可能还需要做一件事:测试您的规则,以确保一切正确。为此,请使用以下命令:

pfctl -vnf /etc/pf.conf

如果此命令报告错误,请返回并首先修复这些错误!

现在最好重新启动服务器,以确保一切正常,这是一个好主意: shutdown -r now

步骤2:列入黑名单

IP被阻止24小时。这是默认值,可以在中更改/etc/blacklistd

# Blacklist rule
# adr/mask:port type    proto   owner           name    nfail   disable
[local]
ssh             stream  *       *               *       3       24h

编辑/etc/rc.conf以启用列入黑名单:

blacklistd_enable="YES"
blacklistd_flags="-r"

使用以下命令启动Blacklisted:

service blacklistd start

步骤3:SSH

我们需要做的最后一件事是sshd通知blacklistd。添加UseBlacklist yes到您的/etc/ssh/sshd_config文件。现在使用重新启动SSH service sshd restart

最后一步

最后,尝试使用无效密码登录服务器。

要获取所有被阻止的IP,请使用以下命令之一:

blacklistctl dump -bw
        address/ma:port id      nfail   last access
 150.x.x.x/32:22        OK      3/3     2017/x/x 04:43:03
 115.x.x.x/32:22        OK      3/3     2017/x/x 04:45:40
  91.x.x.x/32:22        OK      3/3     2017/x/x 07:51:16
  54.x.x.x/32:22        OK      3/3     2017/x/x 12:05:57

pfctl -a blacklistd/22 -t port22 -T show
   54.x.x.x
   91.x.x.x
  115.x.x.x
  150.x.x.x

要删除被阻止的IP,您必须使用命令pfctl。例如:

pfctl -a blacklistd/22 -t port22 -T delete <IP>

请注意,blacklistctl该IP仍显示为已阻止!这是正常现象,希望在将来的版本中将其删除。

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息