AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 389707
Accepted
Barnaba
Barnaba
Asked: 2012-05-17 07:52:07 +0800 CST2012-05-17 07:52:07 +0800 CST 2012-05-17 07:52:07 +0800 CST

仅丢弃 SYN 数据包会提高还是降低防火墙性能?

  • 772

我正在设置 ipfw,并向我提出了以下建议:如果我制定规则仅丢弃 TCP 的 SYN 数据包,则无法建立连接,防火墙甚至不必查看其他数据包。

这对我来说似乎违反直觉。我认为如果我阻止指定端口上的所有通信(涉及较少的数据包检查),防火墙会表现得更好,并且由于任何一种方式都无法建立连接,因此传入数据包的数量将相同。

真的有区别吗?

编辑:具体问题,从某个主机阻止 SSH:

ipfw add deny tcp from somehost to any port 22 via em0 tcpflags syn

对比

ipfw add deny tcp from somehost to any port 22 via em0
firewall freebsd ipfw
  • 3 3 个回答
  • 1858 Views

3 个回答

  • Voted
  1. Anonymous
    2012-05-17T08:29:27+08:002012-05-17T08:29:27+08:00

    全局阻止到指定端口的所有流量似乎比阻止某些类型的流量更有效,正如你所说的更少的数据包检查。这真的取决于你的意图。如果您希望服务开放且可用但不希望有人 SYN 扫描该端口,还有其他检测此类活动的方法。如果您不希望该服务一起可用,请关闭该端口。

    不过我认为这很有趣,“如果我制定规则只丢弃 TCP 的 SYN 数据包,则无法建立连接,防火墙甚至不必查看其他数据包。”

    好吧...如果您根本不想让防火墙查看任何数据包,请全部拒绝!如果你想(出于某种原因)将 SYN 数据包记录到指定端口,你可以这样做,但老实说,我确实看到了任何好处。

    谁建议阻止 SYN 数据包并提高性能需要研究他的 Net+

    • 4
  2. Jeff Ferland
    2012-05-17T08:23:57+08:002012-05-17T08:23:57+08:00

    这是我未经检验的理论,将所有数据包丢弃到端口比仅丢弃syn数据包更快。原因如下:

    • 意外数据包通常会生成 TCP 重置或 ICMP 端口不可达消息。只为 SYN 数据包编写规则将导致其他数据包触发进入操作系统。
    • 规则仍然需要匹配。两条规则都检查端口 22,但必须在第二条规则中再次检查是否有 SYN。

    为了有效,防火墙必须查看每个数据包。作为一个有状态的防火墙,它可能还会耗费一些时间来尝试将非 SYN 数据包与来自其他规则集的现有允许流相匹配。

    如果您要丢弃到某个端口的 TCP 连接,请丢弃所有到该端口的 TCP 数据包。

    • 2
  3. Best Answer
    Gordon Davisson
    2012-05-17T15:08:01+08:002012-05-17T15:08:01+08:00

    仅丢弃 syn 数据包是有目的的,但这不是(主要)性能;这是一种创建默认拒绝规则的简单方法,该规则将应用于传入连接,但不会为传出连接返回数据包。像这样的规则:

    deny tcp from any to any in setup
    

    (请注意,“setup”是“tcpflags syn,!ack”的简写)将阻止所有传入的 TCP 连接(更高优先级规则不允许的连接)。

    这实际上可能有一个性能参数,因为替代方案——使用保持状态规则允许在传出连接上返回数据包——涉及动态规则(并根据它们创建、管理和检查所有数据包),这可能有一些对性能的影响。

    请注意,这与阻止特定低编号端口(例如您的示例中的 22)的规则无关,因为您可以非常确定不会为传出连接分配 1024 以下的端口。

    • 1

相关问题

  • 用 D-LINK DFL-CPG310 防火墙替换 Cisco Pix 防火墙

  • MSMQ 防火墙端口

  • IP-KVM(在我的例子中是 ADDER Ipeps):轻松防火墙穿越

  • 远程连接 sql server 不工作,但如果防火墙禁用它呢?

  • 服务器 2003 R2 上的 Cisco VPN 客户端

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve