首页
/ 使用Docker Compose部署SocialFish钓鱼检测工具指南

使用Docker Compose部署SocialFish钓鱼检测工具指南

2025-07-08 07:27:17作者:魏侃纯Zoe

前言

SocialFish是一款用于网络安全测试的钓鱼检测工具,它能够帮助安全研究人员和渗透测试人员评估系统的安全防护能力。本文将详细介绍如何使用Docker Compose快速部署和运行SocialFish工具。

Docker Compose文件解析

SocialFish提供的docker-compose.yml文件采用了Docker Compose 3.9版本格式,这是一个经过精心设计的容器编排配置,确保了服务的可靠性和可维护性。让我们深入分析这个配置文件的各个部分。

日志配置

x-logging: &default-logging
  options:
    max-size: "40m"
    max-file: "10"
  driver: json-file

这部分定义了日志记录策略,采用了JSON格式的日志驱动,并设置了以下参数:

  • 单个日志文件最大40MB
  • 最多保留10个日志文件
  • 使用json-file驱动,便于后续日志分析和处理

这种配置确保了日志不会无限增长占用磁盘空间,同时保留了足够的日志信息用于故障排查。

服务定义

services:
  social-fish:
    container_name: social-fish
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "5000:5000"
    command: "pipenv run python SocialFish.py user password"

服务定义部分包含了SocialFish的核心配置:

  1. 容器命名:明确指定容器名称为"social-fish",便于管理

  2. 构建配置

    • 使用当前目录(.)作为构建上下文
    • 指定Dockerfile作为构建文件
  3. 端口映射:将容器内部的5000端口映射到主机的5000端口,这是SocialFish的默认Web服务端口

  4. 启动命令:使用pipenv环境运行SocialFish.py脚本,并提供了默认的用户名(user)和密码(password)

部署步骤详解

1. 准备工作

在开始部署前,请确保系统已安装以下组件:

  • Docker引擎(版本建议18.06+)
  • Docker Compose(版本建议1.25.0+)

2. 启动服务

在包含docker-compose.yml文件的目录中执行以下命令:

docker-compose up -d

这个命令会执行以下操作:

  1. 根据Dockerfile构建SocialFish镜像
  2. 创建并启动名为social-fish的容器
  3. 将服务放入后台运行(-d参数)

3. 访问服务

服务启动后,可以通过以下方式访问:

  • 浏览器访问:http://localhost:5000
  • 用户名:user
  • 密码:password

4. 服务管理

常用管理命令:

  • 查看服务状态:docker-compose ps
  • 查看日志:docker-compose logs -f
  • 停止服务:docker-compose down

安全建议

虽然SocialFish提供了默认的用户名和密码,但在生产环境或敏感网络中使用时,强烈建议:

  1. 修改默认凭证 编辑docker-compose.yml文件中的command部分,替换"user"和"password"为强密码

  2. 考虑添加TLS加密 可以通过反向代理(如Nginx)添加HTTPS支持

  3. 限制访问IP 可以在防火墙层面限制访问SocialFish服务的IP范围

常见问题排查

  1. 端口冲突:如果5000端口已被占用,可以修改ports配置为"新的端口:5000"

  2. 构建失败:确保网络通畅,能够正常下载Docker镜像依赖

  3. 认证失败:检查docker-compose.yml中的command参数是否正确传递了用户名和密码

总结

通过Docker Compose部署SocialFish工具,我们获得了一个隔离、可复现且易于管理的安全测试环境。这种部署方式不仅简化了安装过程,还提高了系统的可维护性。对于安全研究人员而言,能够快速搭建和销毁测试环境是非常重要的,而Docker Compose正好提供了这种灵活性。

希望本指南能帮助您顺利部署和使用SocialFish工具进行安全测试工作。在实际应用中,请始终遵守相关法律法规,仅在授权范围内使用此类工具。