Skip to content
This repository has been archived by the owner on Mar 17, 2024. It is now read-only.

[Feature Request]在读取客户端IP的基础上,整理并输出连接失败的IP地址 #115

Closed
e1732a364fed opened this issue May 23, 2022 · 5 comments
Assignees

Comments

@e1732a364fed
Copy link
Owner

来自另一个issue里面的评论,因为是单独的问题,单独提出来。

这个功能很重要。

目前我们vs并没有记录连接失败的 客户端ip地址,确实不完美,这个功能必须加。

@e1732a364fed
Copy link
Owner Author

e1732a364fed commented May 23, 2022

目前认为,可以直接参考 v2ray的 "access.log" 的情况。

不过我觉得access.log 名称不准确,我们单独记录连接失败的ip的话,可以叫 "rejected.log"

不过简单起见,目前我们依然直接写到 普通日志中。可以通过字符串过滤 筛选出 握手失败的 日志。我们是按行记录json的,所以是容易筛选的。

rejected.log 可以等以后再加,不是很重要。

过滤的字符串目前为 "invalid request and no matched fallback" 以及 "handshake inServer failed"

@e1732a364fed
Copy link
Owner Author

另外就是,如果存在 回落的话,那么 对外监听的 inServer如果握手失败,不能证明 就是非法的。

回落到其他代理协议的话,如果成功,那么依然是合法的。 如果是回落到 nginx服务器,如果是合法的http请求,那么也是合法的。

因此,我们只能在这里进行记录,不能随意屏蔽ip。也就是说,我们没有统一的判定 到底合不合法 的 标准,因为回落配置太灵活了。

@e1732a364fed
Copy link
Owner Author

失败次数的话,我认为不宜添加,以为一旦要记录次数,就涉及到缓存。攻击者可以不断发起错误请求,来增加我们的缓存。

而且经过上面讨论,就算是失败,也不能认为就一定是攻击者,所以记录次数可能意义不大。

而且还是可以通过 字符串过滤的方式,筛选出错误日志,然后手动分析。

@e1732a364fed e1732a364fed changed the title [Feature Request]在读取客户端IP的基础上,整理并输出连接失败的IP地址和对应失败次数 [Feature Request]在读取客户端IP的基础上,整理并输出连接失败的IP地址 May 23, 2022
@NotAzay
Copy link

NotAzay commented May 23, 2022

失败次数的话,我认为不宜添加,以为一旦要记录次数,就涉及到缓存。攻击者可以不断发起错误请求,来增加我们的缓存。

而且经过上面讨论,就算是失败,也不能认为就一定是攻击者,所以记录次数可能意义不大。

而且还是可以通过 字符串过滤的方式,筛选出错误日志,然后手动分析。

如果只记录短时间内的失败次数,例如3分钟并且指定一个失败上限,当失败次数到达上限时就屏蔽该IP,那么缓存大小不至于增加到影响性能的程度。

@e1732a364fed
Copy link
Owner Author

失败次数的话,我认为不宜添加,以为一旦要记录次数,就涉及到缓存。攻击者可以不断发起错误请求,来增加我们的缓存。
而且经过上面讨论,就算是失败,也不能认为就一定是攻击者,所以记录次数可能意义不大。
而且还是可以通过 字符串过滤的方式,筛选出错误日志,然后手动分析。

如果只记录短时间内的失败次数,例如3分钟并且指定一个失败上限,当失败次数到达上限时就屏蔽该IP,那么缓存大小不至于增加到影响性能的程度。

嗯,可以试试。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants