为了完成一项特殊任务,我有一个运行 Linux Ubuntu 14.04 的根服务器。该服务器的安装非常简单,在非标准端口上使用 ssh,没有根访问权限。
基本上,服务器的主要目的是收集和处理来自大量客户端的大量数据。只有一个应用程序和一个 TCP 侦听器来处理客户端请求。
去年我一直在使用 iptables,我注意到我的日志中有很多针对我服务器 IP 地址的 ICMP、DoS 和 DDoS 攻击。其中一些攻击造成了大量不必要的流量。我可以从托管服务提供商提供的流量报告中看到这一点。有一次,由于流量异常,我的 ISP 甚至阻止了对我服务器的访问。
由于我不知道如何解决这个问题,我暂时停用了 iptables,令我惊讶的是,我的流量统计又恢复正常了!现在我问自己哪里出了问题?没有安装 iptables 是不是更好,因为我只有 2 个端口可以连接到互联网?在这种情况下,iptables 如何保护我的服务器?
答案1
Iptables 是一个防火墙,它允许你保持非标准端口开放nSSH 访问并阻止任何其他端口上的任何连接尝试。如果您禁用 iptables,攻击者就有可能尝试利用任何其他端口并可能对您的服务器进行恶意攻击(由于您忘记停止的服务、错误或类似情况)。所以是的,你必须保持开启并配置为打开仅有的您需要的端口。
攻击停止和您禁用 iptables 之间没有任何关联 —— 这纯属偶然。要么就是 iptables 配置错误。
答案2
看起来好像 iptables 配置不正确。
互联网上许多网站都展示了 iptables 规则,这些规则会非常严格地限制 ICMP 或完全阻止它。仅以 ICMP 为例,它的声誉似乎非常差。尝试根据网络要求调整规则,即使这需要一些时间。
答案3
我们首先来看您的一条评论:
去年我一直在使用 iptables,我注意到我的日志中有很多针对我服务器 IP 地址的 ICMP、DoS 和 DDoS 攻击。其中一些攻击造成了大量不必要的流量。
首先要解决的是 DDoS。在服务器/防火墙层面,你无法采取任何措施来防范 DDoS。这些措施旨在针对并超载你的整个网络管道,只有 ISP 才有办法“过滤”DDoS。大多数情况下,你必须为此付费(99% 的住宅级连接没有这个选项)。
其次,ICMP 和 DoS。ICMP 是一种非常常见的数据包类型;它不一定是攻击,因为大多数标准流量也会解释 ICMP 数据包。您可能希望限制这些数据包的速率,而不是直接阻止它们。DoS 类似,但会攻击您系统/服务器上的特定软件以利用并使其崩溃。
现在来谈谈是否iptables
有错。 绝对不是。 它不会生成您指出的任何流量;配置后它将告诉通过日志和删除规则来了解该流量,但最终不是产生该流量。
iptables
是防火墙 - 而不是保护您的服务器或网络免受攻击的全面解决方案。它旨在让您在一定程度上控制哪些可以或不可以连接到您的服务器、您希望根据特定标准自动阻止哪些内容、您希望阻止哪些内容等。它不会防范 DoS,当然也不会防范 DDoS。
iptables
开启或关闭都不会改变进入你网络的流量——你所看到的或多或少是一个巧合,因为有人试图使用权您的服务器,并在失败时再次尝试。您的 ISP 可能不是根据您的iptables
规则阻止连接,而是可能会根据进入系统的流量丢弃连接;这是您必须与 ISP 讨论的事情。