使用 fail2ban 或 iptables 保护 debain

使用 fail2ban 或 iptables 保护 debain

我想保护我的服务器。最初我的第一个想法是使用iptables但后来我也了解到Fail2ban。我了解 Fail2ban 是基于 iptables 的,但它的优点是能够在多次尝试后禁止 IP。

假设我想完全阻止 FTP:

  1. 我是否应该编写单独的 IPtable 规则来阻止 FTP,并仅对 SSH 使用 Fail2ban
  2. 或者简单地将所有规则,甚至 FTP 阻止规则都放在 Fail2Ban 配置中

任何帮助都将不胜感激。

詹姆士

答案1

回答您的具体问题。

  • 如果您不需要 FTP,那么您不应该安装任何 ftp 守护进程。
  • SFTP 是 sshd 的一部分,您可以配置 sshd 来禁用它
    • 注释掉它的指令,例如# Subsystem sftp /usr/lib/openssh/sftp-server在 /etc/ssh/sshd_config 中
  • 使用 iptables 策略来帮助您 - 制定 POLICY DROP。
  • Fail2ban 仅适用于阻止持续的“违法者”。

回答你比较笼统的问题斯科特·帕克写了一篇很好的回答保护 LAMP 服务器的技巧即使您的服务器不是 LAMP(或类似服务器),其中也会有您觉得有用的信息。Scott 还发布了这篇出色的博客文章今天刚刚介绍了 iptables。你还有很多内容需要阅读。

答案2

如果您想完全阻止 FTP,最简单、最安全的方法就是禁用 FTP 守护进程。但是,如果您想保护 FTP 免受互联网攻击,则应使用 fail2ban,它扩展了 IPtable 功能并使您能够阻止特定的可疑 IP。如果您打算在本地使用 FTP 并阻止互联网攻击,则应使用 IPtables。

答案3

要完全阻止,您需要 iptables,而不是 fail2ban。Fail2ban 仅用于阻止触发恶意检测的网站。

  • 将 fail2ban 放在你必须向互联网开放的服务上(例如你问题中的 SSH)
  • 将 iptable 块放在你希望仅在内部激活的任何服务上,否则将被阻止(例如你问题中的 FTP)
  • 另外,仅对你从特定 IP 地址使用的服务设置 iptable 规则

您只需更改 SSH 等服务的默认端口,即可阻止 99.999% 的扫描和黑客攻击。如果您的 SSH 位于非默认端口,那么当您检测到恶意活动时,您可以假设它确实很严重。

答案4

Fail2Ban 旨在在错误尝试访问某个 IP 的次数达到(配置的)后禁止该 IP已打开服务。因此,如果你想堵塞对于外部网络的 FTP,您应该使用 iptables。但是如果您想完全阻止 FTP,您可以随时停止服务本身。

相关内容