About
IPBan is the worlds most trusted security software to block hackers and botnets. With both Windows and Linux support, IPBan has your dedicated or cloud server protected. Thousands of users agree.
Requirements
- IPBan 需要 .NET 5 SDK 来构建和调试代码。对于 IDE,我建议使用 Visual Studio Community 2019 for Windows 或 VS code for Linux。都是免费的。您可以构建一个自包含的可执行文件来消除对服务器计算机上的 dotnet 核心的需求,或者只下载预编译的二进制文件。
- 运行和/或调试代码要求您以管理员或 root 身份运行 IDE 或终端。
- 官方支持的平台:Windows 8.1 或更新版本(x86、x64)、Windows Server 2012 或更新版本(x86、x64)、Linux(Ubuntu、Debian、CentOS、RedHat x64)。Windows Server 2008 将进行一些调整,但它基本上已结束生命周期,因此不再受到官方支持。请注意,对于 CentOS 和 RedHat Linux,您需要使用 yum 包管理器手动安装 iptables 和 ipset。
- 目前不支持 Mac OS X。
Features
- 通过检测来自事件查看器和/或日志文件的失败登录,在 Windows 和 Linux 上自动禁止 IP 地址。在 Linux 上,默认情况下会监视 SSH。在 Windows 上,监视 RDP、OpenSSH、VNC、MySQL、SQL Server 和 Exchange。可以通过配置文件轻松添加更多应用程序。
- 高度可配置,许多选项可用于确定失败登录计数阈值、禁止时间等。
- 请务必查看 ipban.config 文件(以前称为 DigitalRuby.IPBan.dll.config,请参阅 IPBanCore 项目)以获取配置选项,每个选项都带有注释。
- 对于事件查看器,禁止基本上是立即发生的。对于日志文件,您可以设置轮询更改的频率。
- 非常快 - 我从 2012 年开始优化和调整了这段代码。瓶颈几乎总是防火墙的实现,而不是这段代码。
- 通过将 unban.txt 文件放入程序文件夹中,每个 ip 地址占一行,即可手动取消禁封 ip 地址;通过将 ban.txt 文件放入程序文件夹中,每个 ip 地址占一行,即可手动禁封 ip 地址。
- 适用于所有平台上的 ipv4 和 ipv6。
- 有关更多文档,请访问 https://github.com/DigitalRuby/IPBan/wiki。
Download
Install
请注意,对于 IPBan Pro,您可以在 https://ipban.com/Docs/Install 找到安装说明。github 上的这些安装说明适用于免费的 IPBan 版本。
Windows
- Windows Server 2012 和 Windows 8 或更新版本支持 IPBan。
- 轻松一键安装,打开管理 powershell 并运行:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Windows/Scripts/install_latest.ps1'))
注意:需要 Powershell 5.1 或更高版本。
Windows 注意事项
- 强烈建议禁用 NTLM 登录并只允许 NTLM2 登录。使用“本地安全策略”(secpol) -> 本地策略 -> 安全选项 -> 网络安全:限制 NTLM:传入 NTLM 流量 -> 拒绝所有帐户。
ntlm_tran_dis.png
如果您这样做,您必须禁用 NLA (Network Level Authentication),否则您将被锁定在您的机器之外,控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 远程选项卡(取消选中“仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议)”)。
- 在进行上述更改之前,请确保您的服务器和客户端已打补丁:https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018。您需要按照链接中的说明手动编辑组策略。
EncryptionOracleRemediation_Enable.png - 您可以尝试:将本地策略“网络安全-> LAN 管理器身份验证级别”改为“仅 NTLMv2 响应/拒绝 LM 和 NTLM”。
- Windows Server 2012 或更早版本上的 IPBan 不支持 NLA。如果需要 NLA,则必须使用 Windows Server 2016 或更高版本。无论任何设置、注册表或组策略更改如何,失败的登录都不会在较旧的 Windows 版本上使用 NLA 正确记录。
- 在 Windows Small Business Server 2011(可能更早版本)和运行 Exchange 的 Windows Server 上,安装了不知道 Unblock-File 命令的 PowerShell v.2,并且无法安装较新版本(因为某些用于管理 OWA 的脚本停止正常工作)。更简单的方法是手动取消阻止下载的 ZIP 文件,然后解压缩内容。
- 在运行 Exchange 的 Windows Server 上,不可能禁用 NTLM(在安全限制中拒绝所有客户端限制 ntlm 传入 ntlm 流量),因为客户端计算机上的 Outlook 会永久要求用户输入用户名和密码。要解决此问题,请将本地策略的安全选项中的 LAN Manager 身份验证级别设置为“仅发送 NTLMv2 响应。拒绝 LM 和 NTLM”。有一个小问题——当有人尝试使用未定义的用户名登录时,日志不包含 IP 地址。不知道为什么 Microsoft 无法正确记录 IP 地址。
- 如果使用 Exchange,禁用应用程序池“MSExchangeServicesAppPool”可以消除事件查看器中大量未记录 IP 地址的问题。
Linux
- 大多数 Linux 操作系统都支持 IPBan。
- 轻松一键安装:
sudo -i; bash <(wget -qO- https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Linux/Scripts/Install.sh)
Other
分析
要禁用匿名向全局 ipban 数据库发送被禁止的 IP 地址,请在配置文件中将 UseDefaultBannedIPAddressHandler 设置为 false。
版权声明:本文为原创文章,版权归 BenhoN 所有。
本文链接:https://blog.benhon.net/archives/ipban.html
所有原创文章采用知识共享 署名-非商业性使用 4.0 国际 许可协议进行许可,你可以自由地转载和修改,但请务必注明文章来源并且不可用于商业目的。