使用高端口号是否安全?(回复:模糊 Web 服务)

使用高端口号是否安全?(回复:模糊 Web 服务)

我有一个小型家庭网络,我正在尝试平衡安全性和便利性的需求。保护内部网络服务器的最安全方法是仅使用 VPN 进行连接,但这对于保护 DVR 远程网络界面(例如)来说似乎有些过头了。

作为一种折衷,使用非常大的端口号会更好吗?(例如五位数字,最多 65531)

我读到过端口扫描器通常只扫描前 10,000 个端口,因此使用非常高的端口号会更安全一些。

这是真的?

有没有更好的方法来保护网络服务器?(即应用程序的 Web GUI)

答案1

我读到过端口扫描器通常只扫描前 10,000 个端口,因此使用非常高的端口号会更安全一些。

许多人相信这一点。我不相信。

也许它更安全一些,但并不安全。编号较低的端口更常见,因此某些扫描仪会首先检查这些端口。

如果我是一名黑客,我会首先扫描高端口,只是为了抓住那些依赖这种方法进行安全保护的人。依赖隐蔽式安全保护的人可能对安全性理解不足,而且更有可能忘记使用其他安全方法。因此,这些服务可能更容易受到攻击,也更容易被破解。

有些扫描器利用了这种信念,从列表顶部开始,然后向下扫描。其他扫描器将在整个范围内随机选择端口,因此所有端口都有同等的机会被扫描。

继续使用以下方法自行测试网络映射。对端口 1-10,000 运行 nmap 扫描并查找 HTTP 服务器,然后将其与对所有 1-65,xxx 端口进行扫描的扫描进行比较。您会发现差异通常为 3-10 分钟。如果我使用 Nessus 之类的工具进行详细扫描,差异有时会达到 20-60 分钟。

优秀的饼干师是有耐心的饼干师。他们会等待。

答案2

使用奇数端口号根本没有安全性,除非您允许以非 root 用户身份运行应用程序。

这种事情可以被认为是通过隐蔽性来实现的安全性,但它实际上并不是安全性。

答案3

如果两端都使用 Linux,那么还可以使用 ssh 隧道:

ssh -f -N -L 9090:localhost:9090 user@remote-host

例如,我使用这种方法将远程主机上的端口 9090 转发到本地端口 9090 cherokee-admin,并且我对其他 Web GUI 使用类似的设置。您可以通过在应用程序配置中指定它们仅在本地主机(即)上运行来以这种方式保护应用程序127.0.0.1。这样,它们就无法从外部访问,但您可以使用它们进行转发ssh。检查man ssh使用端口转发的更多选项(包括 X,这可能会以另一种方式完全解决您的问题。)

根据您的设置,这可能是实现您的目标的合适方法,无需安装/配置额外的软件。

答案4

如果你的防火墙允许,你可以首先在防火墙级别进行身份验证,如果你的密码复杂度足够高,那么这应该可以加强所暴露服务的安全性。你也可以使用 SSL 隧道,例如隧道和相互认证。

考虑到使用更高的端口号更安全,在某种程度上,可能参考机器人扫描您的 IP 并尝试一些漏洞,但如果有人真的想闯入,使用更高的端口号不会提供更高的安全性。

相关内容