如何使用“psad”实用程序配置防火墙以避免端口扫描

如何使用“psad”实用程序配置防火墙以避免端口扫描

我正在尝试配置psad以阻止端口扫描和其他攻击。

目前,我为防火墙设置了以下规则,该规则会丢弃除端口 22、80、443 和 3306 之外的所有传入连接。

 -A INPUT -j DROP

 -A FORWARD -j DROP

我想使用“psad”。“psad”提到的主要要求是“与 psad 兼容的 iptables 策略只是 iptables 记录数据包”

 iptables -A INPUT -j LOG
 iptables -A FORWARD -j LOG

那么我该如何配置我的防火墙规则?

  1. 我应该先记录它们然后删除它们吗?

    -A INPUT -j LOG
    -A FORWARD -j LOG
    -A INPUT -j DROP
    -A FORWARD -j DROP
    
  2. 我是不是根本不应该使用 drop?我对不使用 drop 有点怀疑。

答案1

来自iptables手册页:

LOG
    Turn  on  kernel  logging of matching packets.  When this option is set
    for a rule, the Linux kernel will print some information on all  match-
    ing  packets  (like most IP header fields) via the kernel log (where it
    can be read with dmesg or syslogd(8)).  This is a "non-terminating tar-
    get",  i.e.  rule traversal continues at the next rule.  So if you want
    to LOG the packets you refuse, use two separate  rules  with  the  same
    matching criteria, first using target LOG then DROP (or REJECT).

“非终止”是这里的关键术语。您可以将LOG目标放置在任何您喜欢的位置,但要明白,任何在LOG条目之前“终止”的目标都不会被记录。

答案2

您需要智能地构建防火墙规则。PSAD 的工作原理是监控系统的连接日志,然后根据各种启发式方法判断是否有人在扫描您的系统。

LOG 目标是非终止的,因此一旦数据包被记录,它就会被传回原始链进行进一步处理

大致来说,你需要:

  • 允许连接到 22、80、443 和 3306没有记录。
  • 将其余所有内容发送至 LOG 目标。
  • 最后应该有一个默认删除规则和/或策略应该是删除。

相关内容