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 / 问题 / 18324
Accepted
Unknown
Unknown
Asked: 2009-06-03 15:52:51 +0800 CST2009-06-03 15:52:51 +0800 CST 2009-06-03 15:52:51 +0800 CST

隐身vs封闭端口

  • 772

我正在阅读一个关于隐身端口和封闭端口之间区别的网站。

http://www.grc.com/faq-shieldsup.htm

如果关闭,关闭的端口将回显数据包。但是,隐藏的端口根本不会响应。

是否建议隐藏所有不使用的端口?如果是这样,你会怎么做呢?

firewall port stealth
  • 6 6 个回答
  • 13906 Views

6 个回答

  • Voted
  1. Evan Anderson
    2009-06-03T15:58:50+08:002009-06-03T15:58:50+08:00

    一些操作系统响应连接请求(在 TCP 的情况下)或未经请求的数据包(在 UDP 的情况下),数据包表明那里没有任何东西在监听。一些操作系统可以配置为将传入的数据包丢弃到没有任何响应的端口。

    对我来说,两种行为都不比另一种更好。我的看法很简单:不要运行不必要的程序来监听传入的连接/数据包。您必须运行的程序应尽可能安全地配置。

    对我来说,担心你的盒子响应端口扫描似乎没有抓住重点。在我看来,史蒂夫·吉布森(经营 GRC.com)有点疯狂。(他的“纳米探针”页面还在吗?)他的一些作品似乎在散布恐惧。

    • 14
  2. Best Answer
    freiheit
    2009-06-03T16:00:48+08:002009-06-03T16:00:48+08:00

    取决于你想要做什么。基本上,如果您不回复说端口已关闭的数据包,您将使合法用户的生活更加困难,但也可能使任何试图闯入该盒子的攻击者的生活变得困难。它不会阻止有人扫描盒子以找出打开的端口,但它可能会减慢它们的速度。它可能会降低有人首先发现您的系统存在的可能性。

    它是在世界知名港口提供服务的系统吗?(例如网络服务器)然后尝试“隐藏”您的端口不会有太大作用。好的。

    它是一个什么都不做的系统吗?大胆试试吧。

    你没有说你正在运行什么操作系统等,所以答案如何变化。在带有 iptables 的 Linux 上,基本上你会使用“-j DROP”而不是“-j REJECT”。

    • 8
  3. Sean Earp
    2009-06-03T16:04:38+08:002009-06-03T16:04:38+08:00

    你有什么特别的原因想要隐藏你的端口吗?它不会使您的计算机不可见(因为您的开放端口仍会响应端口扫描),为您做额外的工作,并违反 RFC 791 (TCP) 的规则。你是频繁端口扫描的对象,还是只是相信史蒂夫吉布森的偏执狂;)

    无论如何,史蒂夫吉布森在您链接到的页面上回答了这个问题:

    http://www.grc.com/faq-shieldsup.htm#STEALTH

    Q ShieldsUP!将我的端口显示为“关闭”而不是“隐身”,但我想要隐身!如何获得“隐身”?

    严格来说,“隐藏”端口违反了适当的 TCP/IP 行为规则。正确的行为需要一个关闭的端口来响应一条消息,表明打开的请求已收到,但已被拒绝。这让发送系统知道它的打开请求已收到,因此它不需要继续重试。但是,当然,这种“肯定拒绝”也让发送系统知道接收端确实存在一个系统。. . 在恶意黑客试图探测我们的系统的情况下,这是我们想要避免的。

    当我开发此站点的端口探测技术时,我创造了“隐身”一词来描述一个封闭的端口,它选择通过不向其尝试的开启者发送任何内容来保持完全隐藏,宁愿看起来根本不存在。

    由于“隐身”是 Internet 系统的非标准行为,因此必须通过某种防火墙安全系统来创建和实施这种行为。个人计算机使用的本地 TCP/IP 接口软件将始终回复端口已关闭。因此,必须将一些附加的软件或硬件以“隐身防火墙”的形式添加到计算机系统中,以压制其“关闭端口”的回复。

    要从您的系统中获得完全的隐身模式状态,我强烈建议使用 ZoneLabs, Inc. 提供的完全免费的 ZoneAlarm 2 防火墙。访问他们的网站 www.ZoneLabs.com 以了解有关这款出色且免费的防火墙的更多信息,然后下载最新版本.

    • 3
  4. Kyle
    2009-06-03T16:01:19+08:002009-06-03T16:01:19+08:00

    配置防火墙以静默丢弃它们而不是回复。大多数防火墙都有办法做到这一点。上次我需要使用 OpenBSD 的 ipf,它是“块丢弃”与“块返回”。

    http://www.openbsd.org/faq/pf/filter.html#syntax

    http://www.openbsd.org/faq/pf/options.html#block-policy

    • 2
  5. carlito
    2009-06-03T16:25:10+08:002009-06-03T16:25:10+08:00

    理解那个页面有点困难。也许它是由儿童或销售无用产品的人写的。所以让我们重新开始吧。

    我们现在只讨论 TCP。

    当有人尝试连接到您不希望允许连接的 TCP 端口(发送 SYN 数据包)时,您可以选择以下几种响应方式:

    1) 如果您没有在此端口上侦听 TCP 协议,则使用 RST 数据包进行响应。通常你会称之为“封闭”端口。如果您在其上运行一些允许来自其他来源的连接的服务,则将其称为“隐形”端口是有意义的。

    2) 接受连接并立即断开(RST 或 FIN)它们。TCP 包装器在历史上对阻塞的连接有这种行为。

    3) 忽略数据包。这很常见。如果您在其上运行一些允许来自其他来源的连接的服务,则将其称为“隐形”端口是有意义的。

    4) 接受连接并忽略该连接的进一步数据包。这可能会惹恼攻击者,尽管可能不会增加任何真正的安全性。

    5) 以合理的 ICMP 错误响应。通常由路由器(包括防火墙)完成,但不像基于主机的“防火墙”那样通常完成。

    6) 以不合理的 ICMP 错误响应。只是为了惹恼/迷惑攻击者

    7) 反应不一致和随机。这可能会惹恼攻击者,但可能不会增加任何真正的安全性。

    你如何回应取决于你的目标是什么。如果你想让机器看起来不是一个有效的节点,你应该忽略这个数据包,不管你是否有一个服务正在运行(允许来自其他来源的连接)。但是,如果您要响应任何流量,这无助于隐藏您的存在。

    如果您只想禁止连接,并且不想隐藏您的 IP 地址是活动的,那么您最好的选择可能是使用 RST 数据包进行响应,无论您是否正在侦听该端口。这隐藏了您在该端口上是否有允许来自某些地址的连接的服务,或者该端口上是否没有运行任何服务。

    选择 #4 或 #7 可能会让运行端口扫描器的人感到沮丧,但偶尔也会给您带来操作上的烦恼。对于您实际使用的地址来说,这并不是那么有用,但对于蜜罐来说可能很有趣。

    选择 #2 很常见,因为一些流行的过滤软件(例如 TCP Wrappers)要求接受连接以获取源地址,以确定是否应允许连接。这是基于历史操作系统限制,可能与现代操作系统的新安装无关。

    您的选择将取决于您的要求。这包括您是否有任何端口允许从每个地址连接,以及您是否有任何端口允许从某些地址连接。

    如果您不允许来自任何来源的传入连接,您不妨丢弃任何不允许的数据包。这隐藏了您机器的存在,使随机攻击者不太可能相信它是一个有效地址。

    如果您允许来自某些端口上的任何来源的传入连接以及来自其他端口上的某些来源的传入连接 - 这是一种非常常见的配置 - 您有一些合理的选择可供选择。如果您为根本不侦听的端口发回 RST,但对于您故意禁止的端口的行为有所不同,则表明您允许从选定的源连接到哪些端口。我相信更好的选择是发回 RST,无论您是根本不监听该端口还是不允许来自源的连接。

    这正是应包括威胁模型的安全问题,说明您向所有人提供的服务与选择的来源,以及您在定义安全策略时需要帮助的安全策略或说明。额外的混乱是由于引入了没有明确定义的新术语。

    • 2
  6. Bob
    2009-06-10T10:23:09+08:002009-06-10T10:23:09+08:00

    对于客户端系统,正确配置的软件防火墙应该使您的端口“隐身”我刚刚运行了我的个人盒子,它针对 Sheilds Up 暴露在互联网上,我的所有端口都被列为隐身。

    当我配置防火墙时,我不希望关闭端口将信息通过防火墙传回,攻击者可以使用这些端口来了解我的环境,但是让攻击者可以利用的开放端口要糟糕得多。

    • 0

相关问题

  • 如何查看 Windows 机器上是否正在使用端口?

  • 那里有什么像样的小型办公室级路由器[关闭]

  • SOHO - 限制来自问题用户的 bittorrent 流量

  • 设置安全网站的最佳实践 [关闭]

  • 如何在 Ubuntu 上设置简单的防火墙?

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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