我应该在端口 80、8080 或 81 上运行我的小网站吗?

old*_*ud0 21 networking security website port

我正在使用 nginx 运行一个小型网站。由于(可能)在我的服务器的生命周期中不会有大量流量并且为了避免随机 DoS 攻击,我正在考虑将 Web 服务器设置为侦听备用端口而不是端口 80。

侦听备用端口(81、8080 等)是否真的降低了我遭受攻击或破坏的风险?或者维护它的负担是否大于收益?在这种情况下,我是否应该将这些备用端口用于其他 Web 服务,以防我将来设置它们?

Kel*_*ari 45

这里有两件事需要考虑:

  1. 您的用户会记得在名称中使用非标准端口吗?默认情况下,端口 80 是标准端口,因此您不必将其键入 URL。例如,http://superuser.com在端口 80 上运行并且您的浏览器假定 80 是您输入时所指的端口。这与输入 没有什么不同http://superuser.com:80。如果您在端口 8080 上运行 websever,则用户必须键入http://superuser.com:8080. 普通用户不太可能记住这一点。
  2. 在非标准端口上运行网络服务器是否可以保护您免受 DoS 攻击?并不真地。如果有人真的想关闭您的网站,在非标准端口上运行不会阻止他们。攻击者将扫描您 IP 上的所有端口,并迅速发现 8080(或您选择的任何端口)已打开并响应 HTTP 请求。

像更改端口这样的方法被称为“通过默默无闻的安全性”,额外的工作和不便提供任何有价值的安全性是非常值得怀疑的。

  • 我想补充一点,并非所有通过默默无闻的安全都是坏的。更改默认管理员或 Root 用户名被认为是一种很好的做法。但是,更改端口之类的事情毫无意义,因为只有 32k,而计算机可以在几秒钟内对其进行扫描。 (6认同)
  • 它不会增加安全性,但它确实可以防止粗略的扫描机器人减慢您的站点的速度,尤其是当站点具有 DNS 记录时。 (3认同)
  • 错了,它是`https://superuser.com`,它运行在端口 443 上。安全网站使用 443。 (3认同)

Mic*_*aël 6

是的,设置备用端口实际上降低了攻击的风险,因为爬行网络以查找有缺陷的 web 应用程序的机器人通常不会查看其他端口。

如果人类攻击者瞄准您的服务器,则很容易发现 nginx 正在侦听的真实端口(通过扫描开放端口)。

使用这些备用端口很少见(代理或...备用网络服务器除外),因此我认为您可以放心使用它。

但请记住,使用这样的备用端口将阻止“默认”访问者找到您的网站,您需要使用诸如http://yourserver.com:81/ 之类的URL 告诉人们(或将其写在链接中)正确的端口。 ..