我的家庭网络很小,我想在安全性和便利性之间取得平衡。保护内部Web服务器最安全的方法是仅使用VPN进行连接,但这对于保护DVR远程Web界面(例如)来说似乎是过大的选择。
作为一种折衷,使用很大的端口号会更好吗?(例如,五位数,最多65531)
我读过,端口扫描程序通常只扫描前10,000个端口,因此使用很高的端口号会更安全。
这是真的?
有更好的方法来保护Web服务器吗?(即应用程序的Web GUI)
我的家庭网络很小,我想在安全性和便利性之间取得平衡。保护内部Web服务器最安全的方法是仅使用VPN进行连接,但这对于保护DVR远程Web界面(例如)来说似乎是过大的选择。
作为一种折衷,使用很大的端口号会更好吗?(例如,五位数,最多65531)
我读过,端口扫描程序通常只扫描前10,000个端口,因此使用很高的端口号会更安全。
这是真的?
有更好的方法来保护Web服务器吗?(即应用程序的Web GUI)
Answers:
我读过,端口扫描程序通常只扫描前10,000个端口,因此使用很高的端口号会更安全。
许多人相信这一点。我不。
也许它更安全一些,但不是很多。低编号的端口更为常见,因此某些扫描仪将首先在该端口查找。
如果我是一名饼干手,那么我将首先扫描高端口,以赶上依赖此方法进行安全保护的人员。依赖于模糊不清的安全性的人可能对安全性了解甚少,并且更可能忘记使用其他安全性方法。因此,这些服务可能更容易受到攻击,并且更容易破解。
一些扫描仪利用这种信念,从顶部开始,一直到列表末尾。其他扫描将在整个范围内选择随机端口,因此所有端口被扫描的机会均等。
继续并使用NMAP对此进行测试。对端口1-10,000运行nmap扫描并查找HTTP服务器,然后将其与对所有1-65,xxx端口进行扫描的扫描进行比较。您会发现通常相差3-10分钟。如果我使用Nessus之类的工具进行详细扫描,则有时相差20-60分钟。
一个好的饼干是一个耐心的饼干。他们会等待。
除非您想知道它允许您以非root用户身份运行应用程序,否则使用奇数端口号根本没有安全性。
这种事情由于含糊不清可以被认为是安全性,但实际上并不是安全性。
如果两端都使用Linux,也可以使用ssh隧道:
ssh -f -N -L 9090:localhost:9090 user@remote-host
例如,这就是我用来将远程主机上的端口9090转发到的本地端口9090的方式cherokee-admin
,并且我将类似的设置用于其他Web GUI。您可以通过在应用程序配置中指定它们仅在localhost上运行来保护应用程序127.0.0.1
。这样就无法从外部访问它们,但是您可以使用来转发它们ssh
。man ssh
使用端口转发检查更多选项(包括X,这可能会以另一种方式完全解决您的问题。)
根据您的设置,这可能是实现您的目标而无需安装/配置其他软件的合适方法。
如果您的防火墙允许,那么您可以首先在防火墙级别进行身份验证,如果您的密码复杂性足够好,那么这应该可以确保所公开服务的安全性。您还可以使用SSL隧道,例如使用stunnel和相互认证。
考虑到使用较高的端口号在某种程度上更安全的事实,也许是参考漫游器扫描您的IP并尝试某些漏洞利用,但是如果有人真的想闯入,使用较高的端口号不会提供更高的安全性。