chaitin / SafeLine

serve as a reverse proxy to protect your web services from attacks and exploits.
https://waf.chaitin.com
GNU General Public License v3.0
13.19k stars 813 forks source link

[建议] 阻止ip直接解析访问 #373

Closed xqw8889 closed 1 year ago

xqw8889 commented 1 year ago

背景与遇到的问题

类似于宝塔的默认站点,在没有用服务器ip作为域名解析时无法进行访问, 目前直接输入ip会显示 您访问的网站不存在 (可能是我设置问题)

建议的解决方案

No response

zclaiqcc commented 1 year ago

没太理解,看标题是说希望阻止直接通过 IP 访问的请求。目前已经支持了,师傅配置站点的时候填写真实的域名即可(不要留空或者填 *)

xqw8889 commented 1 year ago

比如雷池服务器ip地址正常来说直接输入ip是不显示任何东西的 目前会显示您访问的网站不存在 隔壁宝塔平台则默认不显示 除非添加站点时填写ip才会可用 很抱歉未能描述清晰

zclaiqcc commented 1 year ago

比如雷池服务器ip地址正常来说直接输入ip是不显示任何东西的 目前会显示您访问的网站不存在 隔壁宝塔平台则默认不显示 除非添加站点时填写ip才会可用 很抱歉未能描述清晰

了解,“不显示”只是一个看起来的描述,我理解目的是隐藏自己真实的站点,防止被 IP 扫描。最早实现确实是只返回 444 响应码,就是师傅这边说的“不显示”,但是遇到了一些问题,比如 WAF 前面如果有 NGINX,则会提示错误(并非 444)。这就导致排查链路问题非常麻烦。

https://github.com/chaitin/SafeLine/issues/58

希望隐藏网站不被 IP 扫描的需求场景我们认为是已经充分理解了,但是内部讨论认为,无论是“不显示”还是返回 444 还是返回现在的 404 + 网站不存在的页面,都无法做到真正的隐藏。因为端口被 NGINX 监听了,和没有被监听的端口就是有区别,都可以被扫描出来。拒绝掉 IP 扫描的这部分请求,实际上已经被扫描器发现你这里有一个 HTTP 服务了。