监控 Docker 事件
Docker可以在软件容器中自动部署不同应用。Wazuh的Docker模块能够识别容器中的安全事件并实时告警。本例在运行Docker容器的Ubuntu终端上配置Wazuh,以监控Docker事件。
关于Docker监控与docker-listener模块的更多信息,参见文档中的监控容器活动。
基础环境
|
终端 |
说明 |
|---|---|
|
Ubuntu 22.04 |
这是Docker宿主机,示例将在此创建和删除容器。 |
配置
按以下步骤在Ubuntu终端安装Docker,并配置Wazuh监控Docker事件。
-
安装Python和pip:
# sudo apt install python3 python3-pip -
升级pip:
# pip3 install --upgrade pip -
安装Docker及Python Docker库:
Python 3.8–3.10
$ curl -sSL https://get.docker.com/ | sh $ sudo pip3 install docker==7.1.0 urllib3==1.26.20 requests==2.32.2Python 3.11–3.12
$ curl -sSL https://get.docker.com/ | sh $ sudo pip3 install docker==7.1.0 urllib3==1.26.20 requests==2.32.2 --break-system-packages注意
此命令会修改默认的、由外部管理的Python环境。详情参见PEP 668。
若要避免修改该环境,可在虚拟环境中运行
pip3 install --upgrade pip,并把/var/ossec/wodles/docker/DockerListener脚本的shebang改为虚拟环境中的解释器,例如#!/<path/to/your/virtual/environment>/bin/python3。 -
启动Docker服务并设置开机启动。
$ sudo systemctl start docker.service $ sudo systemctl enable docker.service -
编辑Wazuh代理配置文件
/var/ossec/etc/ossec.conf,加入以下配置以启用docker-listener模块:<ossec_config> <wodle name="docker-listener"> <interval>10m</interval> <attempts>5</attempts> <run_on_start>yes</run_on_start> <disabled>no</disabled> </wodle> </ossec_config> -
重启Wazuh代理,使修改生效:
$ sudo systemctl restart wazuh-agent
测试配置
执行一些Docker操作,例如拉取镜像、启动实例、运行其他Docker命令,然后删除容器。
-
拉取镜像,例如NGINX镜像,并运行容器:
$ sudo docker pull nginx $ sudo docker run -d -P --name nginx_container nginx $ sudo docker exec -it nginx_container cat /etc/passwd $ sudo docker exec -it nginx_container /bin/bash $ exit -
停止并删除容器:
$ sudo docker stop nginx_container $ sudo docker rm nginx_container
查看告警
在Wazuh仪表板中进入Docker,即可查看相关告警数据。
故障排查
-
错误日志:
wazuh-modulesd:docker-listener: ERROR: /usr/bin/env: ‘python’: No such file or directory位置:Wazuh代理日志
/var/ossec/logs/ossec.log。解决方法:可以创建符号链接来解决此问题:
$ sudo ln -s /usr/bin/python3 /usr/bin/python
检测暴力破解攻击












暂无评论内容