我正在尝试记录到达特定端口(在我的情况下是 80 和 443)的所有流量(IP 地址和数据,无论接收到何种形式的数据),如果它对于该端口无效。
因此,例如,如果有人只是发送ping
,使用 telnet 客户端,扫描端口,发送格式错误的 HTTP 请求,或向端口 80 发送任何非有效 HTTP 请求,它都会将其写入日志。443 的情况相同,只是寻找有效的 HTTPS 请求。
我发现这这似乎是一种可能的解决方案,但阅读页面后mod_log_config
我无法判断它是否只记录有效的 HTTP 请求或是否能够记录发送到端口的所有数据。
我还发现这,但它是针对的nginx
,尽管看起来如果 Apache 存在类似的东西,那么当检测到重定向时你可以记录它。
如果这是一个简单的问题,请原谅,这只是我以前从未深入研究过的领域,但我确信存在现有的解决方案,因为出于安全和故障排除的原因,这似乎会引起很多人的兴趣。
谢谢!
答案1
不幸的是,apache httpd 不会给你你想要的东西。通常,apache 仅在收到并处理请求后才会记录。apache 中有一个可选的取证日志,可让你选择记录前请求已处理,但仅后收到请求标头。如果实际上没有发送请求,那么 apache 将没有任何内容可记录。
您可能需要查看以下工具普萨德以帮助检测扫描活动。
答案2
依靠 Apache 网络服务器做正确的事情并拒绝无效流量。
用于处理无效流量的配置和 CPU 时间越多,可用于处理合法流量的 CPU 就越少。
从这一点来看,您越是忽略意外流量,您就会感觉越安全(和越开心)。如果您觉得无法忽略它,请尝试将 Apache 配置为不记录它。
集中精力尽可能地传递合法流量。