通过fail2ban或iptables保证debain

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

假设我想完全阻止FTP:

  1. 我应该编写一个单独的IPtable规则来阻止FTP,并使用Fail2ban仅用于SSH
  2. 或者简单地把所有的规则,甚至FTP阻止规则放在Fail2Banconfiguration中

任何帮助,将不胜感激。

詹姆士

回答你的具体问题。

  • 如果你没有使用FTP,那么你不应该安装任何FTP守护进程。
  • SFTP是sshd的一部分,您可以configurationsshd来禁用它
    • 注释掉它的指令,例如/ etc / ssh / sshd_config中的#Subsystem # Subsystem sftp /usr/lib/openssh/sftp-server
  • 使用iptables策略来帮助你 – 做出政策降落。
  • Fail2ban仅用于阻止持续的“违规者”。

为了回答您的更通用的问题斯科特包写了一个很好的答案来保护一个LAMP服务器 ,即使你的服务器不是专门的LAMP(或类似的)将有信息,你会发现有用的提示。 Scott今天也在iptables上发表了这个优秀的博客文章 。 你有很多阅读需要通过。

如果你想完全阻止FTP,最简单和最安全的方法就是简单地禁用FTP守护进程。 但是,如果您想从Internet上保护FTP,则应使用可扩展IPtablefunction的fail2ban,并允许您阻止特定的可疑IP。 如果你打算在本地使用FTP,并且阻止从互联网上使用IPtables。

要完全阻止你想要的iptables,而不是fail2ban。 Fail2ban是阻止只触发恶意检测的站点。

  • 把fail2ban放在你的服务上,你必须打开互联网(例如你的问题中的SSH)
  • 将iptable块放在你想要在内部激活的任何服务上,否则被阻塞(例如你的问题中的FTP)
  • 只把iptable规则放在你从特定IP地址使用的服务上

你可以改变你的SSH默认端口,这将阻止所有扫描和黑客攻击的99.999%。 如果您的SSH位于非默认端口,那么当您检测到恶意活动时,您可以认为它确实是严重的。

Fail2Ban的目的是在(configuration)错误尝试访问打开的服务之后禁止IP。 所以,如果你想阻止外部networking的FTP,你应该使用iptables。 但是,如果你想完全阻止FTP,你总是可以停止服务本身。