监控 Docker 事件

监控 Docker 事件

Docker可以在软件容器中自动部署不同应用。Wazuh的Docker模块能够识别容器中的安全事件并实时告警。本例在运行Docker容器的Ubuntu终端上配置Wazuh,以监控Docker事件。

关于Docker监控与docker-listener模块的更多信息,参见文档中的监控容器活动。

基础环境

终端

说明

Ubuntu 22.04

这是Docker宿主机,示例将在此创建和删除容器。

配置

按以下步骤在Ubuntu终端安装Docker,并配置Wazuh监控Docker事件。

  1. 安装Python和pip:

    # sudo apt install python3 python3-pip
    
  2. 升级pip:

    # pip3 install --upgrade pip
    
  3. 安装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.2
    

    Python 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。

  4. 启动Docker服务并设置开机启动。

    $ sudo systemctl start docker.service
    $ sudo systemctl enable docker.service
    
  5. 编辑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>
    
  6. 重启Wazuh代理,使修改生效:

    $ sudo systemctl restart wazuh-agent
    

测试配置

执行一些Docker操作,例如拉取镜像、启动实例、运行其他Docker命令,然后删除容器。

  1. 拉取镜像,例如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
    
  2. 停止并删除容器:

    $ sudo docker stop nginx_container
    $ sudo docker rm nginx_container
    

查看告警

在Wazuh仪表板中进入Docker,即可查看相关告警数据。

Wazuh dashboard Docker module Events view showing a histogram and table of Docker container alerts

故障排查

  • 错误日志:

    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
    

检测暴力破解攻击


监控 AWS 基础设施

来源与许可

原文:Monitoring Docker events。本页为中文翻译与排版整理,示例源码保留原样,权利归原作者及维护者所有。

Wazuh 官方文档;著作权归 Wazuh 及相应权利人所有。官方法律信息。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容