Ubuntu 18.04下AWS同VPC私有实例OSSEC agent与服务端连接失败问题
AWS同一VPC下OSSEC服务端与私有子网Agent连接异常排查方案
1. 基础网络策略排查
- 检查OSSEC服务端所在公有实例的安全组入站规则:确认开放了UDP 1514端口(OSSEC默认通信端口),源地址放开私有实例的内网IP/私有子网CIDR
- 检查OSSEC Agent所在私有实例的安全组出站规则:确认开放UDP 1514端口的出站权限,目标地址放开OSSEC服务端的内网IP
- 排查VPC网络ACL配置:确认子网关联的ACL没有禁止UDP 1514端口的双向通信
2. 网络连通性验证
- 在私有实例上使用
nc命令验证端口连通性,执行:nc -vuz <OSSEC服务端内网IP> 1514,如果返回succeeded说明端口连通正常,否则回到第一步检查网络策略 - 确认OSSEC服务端没有监听在127.0.0.1上,服务端执行
ss -lunp | grep 1514,确认监听地址是0.0.0.0或者自身内网IP
3. OSSEC配置校验
- 服务端配置校验:
- 确认服务端已经添加该Agent的信息,执行
/var/ossec/bin/manage_agents -l,检查返回列表中存在对应Agent的IP和ID - 确认已经为该Agent生成密钥,且Agent端导入的密钥和服务端生成的完全一致,密钥如果有空格、字符错误会直接导致连接失败
- 检查服务端配置文件
/var/ossec/etc/ossec.conf中<remote>段配置正确,确保协议是udp,端口是1514,允许的IP范围包含私有实例的内网IP
- 确认服务端已经添加该Agent的信息,执行
- Agent端配置校验:
- 检查Agent配置文件
/var/ossec/etc/ossec.conf中<client>段的<server-ip>填写的是OSSEC服务端的内网IP,不要填公网IP避免路由问题 - 确认Agent已经正确导入密钥,执行
/var/ossec/bin/manage_agents -l确认存在对应服务端的关联信息
- 检查Agent配置文件
4. 服务状态与日志排查
- 先重启两端服务,服务端执行
systemctl restart ossec,Agent端执行systemctl restart ossec-agent - 查看服务端日志:
tail -f /var/ossec/logs/ossec.log,如果出现Invalid key from <Agent IP>说明密钥错误,如果出现连接拒绝类报错说明网络策略拦截 - 查看Agent端日志:
tail -f /var/ossec/logs/ossec.log,如果出现Unable to connect to server说明网络不通,如果出现Key not accepted by server说明密钥不匹配
5. 常见问题修复
- 密钥不匹配:服务端删除原有Agent记录,重新生成密钥,Agent端重新导入后重启服务即可
- 端口监听异常:修改服务端ossec.conf中
段的local_ip为自身内网IP,重启服务端生效 - 网络策略问题:调整安全组/ACL规则后重新验证连通性
内容的提问来源于stack exchange,提问作者Ganesh Swain
相关产品推荐
相关产品推荐

