分类: 安全相关

  • Debian12 安装ClamAV

    ClamAV 是一款流行的开源病毒扫描工具,可以用于扫描文件和目录中的恶意软件。

    1. 安装 ClamAV

    首先,使用以下命令安装 ClamAV 和其守护进程:

    apt install clamav clamav-daemon -y

    2. 更新病毒库

    安装完成后,使用以下命令更新病毒库:

    freshclam

    3. 扫描

    扫描单个文件

    使用以下命令扫描指定的文件:

    clamscan /path/to/file

    扫描整个目录

    扫描整个目录中的所有文件:

    clamscan -r /path/to/directory

    扫描指定目录并仅显示感染的文件

    使用 -i 参数,仅显示感染的文件:

    clamscan -r -i /path/to/directory

    扫描整个系统并仅显示感染的文件,并将结果记录到日志文件

    要扫描整个系统并将结果记录到日志文件中,可以使用以下命令:

    clamscan -r -i -l /var/log/clamscan-infected.log /

  • Debian 12 部署 HIDS Wazuh 指南

    Wazuh 是一款 开源的 SIEM(安全信息和事件管理) 及 HIDS(主机入侵检测系统) 解决方案,能够实时监控系统日志、检测安全威胁、执行合规性审计,并提供可视化安全分析。
    Wazuh可用于入侵检测、日志分析、文件完整性监控、恶意软件检测、漏洞扫描等场景。Wazuh 适用于企业安全运营中心(SOC)、服务器与终端安全、DevSecOps 以及合规性管理,帮助企业和个人提升 IT 环境的安全性。

    1. 单节点部署 Wazuh

    首先,克隆 Wazuh 官方 Docker 仓库,并切换到指定版本:

    git clone https://github.com/wazuh/wazuh-docker.git -b v4.11.1

    进入 单节点部署目录:

    cd wazuh-docker/single-node

    2. 配置 Wazuh

    Wazuh 由 管理器(Manager)、索引器(Indexer) 和 仪表板(Dashboard) 组成。

    2.1 调整内核参数

    在主机(Linux)上,提升 vm.max_map_count 以支持 Wazuh 索引器(需要 root 权限):

    sysctl -w vm.max_map_count=262144

    2.2 生成 SSL 证书

    运行以下命令,生成用于组件间通信的证书:

    docker compose -f generate-indexer-certs.yml run --rm generator

    2.3 启动 Wazuh

    完成配置后,启动 Wazuh 服务:

    docker compose up -d

    2.4 访问 Wazuh 仪表板

    部署完成后,在浏览器中访问:

    https://<Wazuh_IP>

    默认的登录凭据为:

    • 用户名:admin
    • 密码:SecretPassword

    3. 添加 Wazuh Agent

    要将受监控的主机接入 Wazuh,请在 Web 仪表板中进行操作:

    在 Wazuh 仪表板中添加 Agent

    1. 登录 Wazuh 仪表板。
    2. 导航到 HOME — OVERVIEW — Deploy new agent。
    3. 选择要监控的操作系统。
    4. 输入要监控的服务器地址、Agent 名称和分组。
    5. 复制生成的 Agent 安装命令,并粘贴到要监控的主机中执行。

    验证 Agent 连接
    返回到 HOME — OVERVIEW 页面,您应该能够看到新添加的 Agent。

  • 通过关闭第一篇文章评论来防止 WordPress 自动化垃圾评论

    网站刚上线,默认的第一篇文章(“Hello World”)就涌入了大量垃圾评论这并非个例,而是许多WordPress站点初期都会面临的问题,在 WordPress 站点中默认的第一篇文章(通常是“Hello World”)往往会成为垃圾评论的主要目标。许多站长在搭建新站点时,可能会忽略这一点,导致网站在上线初期就受到垃圾评论的侵扰。分析第一篇文章易受攻击的原因,并提供有效的解决方案,帮助您减少垃圾评论,提升网站安全性和用户体验。

    1. 为什么 WordPress 第一篇文章容易受到垃圾评论?

    WordPress 安装完成后,默认会生成一篇标题为 “Hello World” 的示例文章。这篇文章通常具有以下特点,使其成为垃圾评论的高发区域:

    文章 ID 是最小的,容易被机器人扫描

    • WordPress 文章的 ID 号是按顺序分配的,而第一篇文章的 ID 通常是 1。
    • 许多垃圾评论机器人会自动扫描 ID 为 1 的文章,并尝试发送垃圾评论。

    默认文章通常不会删除或修改

    • 许多站长搭建网站后,可能不会立即删除或修改默认文章。
    • 这篇文章往往是公开可见的,容易被垃圾评论者利用。

    WordPress 站点刚建立时安全防护较弱

    • 新站点通常没有安装防垃圾评论插件,如 Akismet 或 CAPTCHA,导致垃圾评论可以轻松提交。
    • 由于管理员可能尚未设置评论审核规则,垃圾评论可能会直接显示在网站上,影响网站的信誉和形象。

    机器人针对默认内容进行批量评论

    • 许多垃圾评论机器人专门针对 WordPress 站点的默认文章,批量发布广告、恶意链接或欺诈信息。
    • 这些垃圾评论不仅影响用户体验,还可能损害网站的 SEO 排名。

    2. 如何手动关闭第一篇文章的评论?

    登录 WordPress 后台

    找到第一篇文章

    1. 在后台左侧菜单栏中,点击 “文章” -> “所有文章”。
    2. 找到 默认的第一篇文章(通常是“Hello World”)
    3. 点击文章标题,进入文章编辑页面。

    关闭评论功能

    1. 在文章编辑页面,找到 “讨论” 选项(如果没有看到“讨论”选项,请点击右上角的“显示选项”,勾选“讨论”)。
    2. 取消勾选 “允许评论” 和 “允许引用通告和通知”。
    3. 点击 “更新” 按钮,保存更改。

    完成以上操作后,该文章的评论功能将被完全禁用,任何访客都无法再对其进行评论。

  • 使用 GoAccess 分析 Web 日志

    GoAccess 是一款轻量级、快速的 Web 日志分析工具,支持终端交互式查看和 HTML 报表生成。

    1. 安装 GoAccess

    1.1 安装 GoAccess

    apt install -y goaccess

    1.2 验证安装是否成功

    goaccess --version

    如果安装成功,你会看到类似 GoAccess - 1.x.x 的输出。

    2. 运行 GoAccess 进行日志分析

    2.1 在终端查看日志统计

    goaccess /var/log/nginx/access.log --log-format=COMBINED

    终端界面显示的内容包括:

    • 此命令将在终端中显示详细的日志统计信息,包括访客 IP、页面访问量、HTTP 状态码等。
    • 使用 Tab 键可以在不同的统计视图之间切换。

    3. 生成 HTML 报表

    goaccess /var/log/nginx/access.log --log-format=COMBINED -o /var/www/html/report.html
    • 此命令将生成一个静态的 HTML 报告,方便在浏览器中查看。

    3.1 让 GoAccess 实时更新 HTML 报表

    goaccess /var/log/nginx/access.log --log-format=COMBINED -o /var/www/html/report.html --real-time-html
    • 添加 --real-time-html 参数,使报告能够自动刷新,实时显示最新的日志分析结果。

    4. 其他日志格式支持

    4.1 解析 JSON 日志格式

    goaccess /var/log/nginx/access.log --log-format=JSON
    • 直接解析 JSON 格式的日志。

    4.2 解析自定义日志格式

    如果 Nginx 日志格式是:

    192.168.1.1 - - [19/Mar/2025:14:30:00 +0000] "GET /index.html HTTP/1.1" 200 512 "-" "Mozilla/5.0"

    使用:

    goaccess /var/log/nginx/access.log --log-format='%h %^ %^ [%d:%t %^] "%r" %s %b "%R" "%u"' --date-format='%d/%b/%Y' --time-format='%H:%M:%S'
    • 使用 --log-format、--date-format 和 --time-format 参数,可以解析自定义的日志格式。
  • Debian12安装Umami 网站分析工具

    Umami是一款轻量级、开源的 网站分析工具,可用于 隐私友好型 统计,不依赖于 Google Analytics,支持 自托管,且对 GDPR / CCPA 友好。

    1. 安装 Docker 和 Docker Compose

    在服务器上运行以下命令安装 Docker:

    curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

    2. 配置 Umami

    在 服务器上创建目录 umami 并进入该目录:

    mkdir -p ./umami && cd ./umami

    创建 docker-compose.yml 文件:

    nano docker-compose.yml

    文件内容

    services:
      umami:
        image: ghcr.io/umami-software/umami:postgresql-latest
        ports:
          - "3002:3000"
        environment:
          DATABASE_URL: postgresql://umami:umami@db:5432/umami
          DATABASE_TYPE: postgresql
          APP_SECRET: replace-me-with-a-random-string
        depends_on:
          db:
            condition: service_healthy
        init: true
        restart: always
        healthcheck:
          test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
          interval: 5s
          timeout: 5s
          retries: 5
      db:
        image: postgres:15-alpine
        environment:
          POSTGRES_DB: umami
          POSTGRES_USER: umami
          POSTGRES_PASSWORD: umami
        volumes:
          - umami-db-data:/var/lib/postgresql/data
        restart: always
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
          interval: 5s
          timeout: 5s
          retries: 5
    volumes:
      umami-db-data:

    3. 启动 Umami

    # 启动
    docker compose up -d
    
    # 查看运行状态
    docker compose ps

    4. 访问 Umami

    默认账号:admin
    默认密码:umami
    
    http://<服务器IP>:3002
  • AI驱动的供应链污染及其安全隐患分析

    随着人工智能(AI)的发展,越来越多的开发者和企业依赖AI生成代码、优化软件和提升生产力。然而,AI在供应链中的应用也带来了严重的安全隐患,攻击者可以利用AI技术污染软件供应链,导致个人用户、开发者和企业面临各种安全风险。

    1. 小白用户下载第三方AI插件,导致系统被植入恶意代码

    案例描述

    • 小白用户在非官方渠道下载了一款“智能办公插件”或AI图像生成工具的扩展插件,但插件内嵌了恶意代码。
    • 恶意代码可能包含远程控制程序、键盘记录器、勒索软件等。
    • 用户未经检查直接运行插件,导致系统被感染。

    安全隐患

    • 个人数据泄露,账号密码、支付信息被窃取。
    • 电脑被远程控制,成为“僵尸网络”一部分。
    • 重要文件被加密,要求支付赎金解锁。

    防范措施

    • 只从官方渠道下载软件和插件。
    • 使用安全软件扫描插件,避免恶意代码感染。
    • 在沙盒或虚拟机环境中测试插件,确保安全性。
    • 提高安全意识,不随意运行来源不明的脚本。

    2. AI生成的代码未经审查上线,导致安全漏洞

    案例描述

    • 开发者使用AI代码生成工具加速开发,但未进行充分的安全审查。
    • AI生成的代码可能包含SQL注入、XSS(跨站脚本攻击)或未授权访问等漏洞。
    • 攻击者利用这些漏洞入侵系统,造成数据泄露或服务宕机。

    安全隐患

    • 敏感数据泄露,可能导致企业声誉受损。
    • 服务器被入侵,影响系统稳定性。
    • 面临法律诉讼,造成经济损失。

    防范措施

    • 对AI生成的代码进行严格安全审查。
    • 使用静态代码分析工具检测安全漏洞。
    • 进行安全测试,模拟攻击场景。
    • 建立代码审查流程,确保代码质量和安全性。

    3. AI联网搜索的恶意代码被直接复制到生产环境

    案例描述

    • 小白程序员在开发过程中使用AI联网搜索写代码进行快速开发。
    • AI提供的代码中隐藏了恶意后门,但程序员未仔细审查。
    • 该代码被部署到生产环境,导致服务器被入侵。

    安全隐患

    • 服务器长期被攻击者控制,可能导致数据泄露。
    • 攻击者窃取企业机密信息,造成商业损失。
    • 可能面临合规性问题和法律风险。

    防范措施

    • 仅信任权威的代码来源,不随意复制粘贴。
    • 使用代码审查工具检测潜在风险。
    • 在测试环境中进行严格测试,确保安全性。
    • 限制AI代码生成工具的访问权限。

    4. AI优化的开源项目隐藏恶意代码

    案例描述

    • 攻击者利用AI生成开源代码并提交到流行项目。
    • 由于代码较复杂,维护者未深入审查直接合并。
    • 受影响的开源项目被广泛使用,导致大量系统受到攻击。

    安全隐患

    • 供应链污染,影响范围广泛。
    • 恶意代码可能导致远程控制或数据窃取。
    • 企业使用该代码后,面临重大安全威胁。

    防范措施

    • 对开源贡献代码进行严格审查。
    • 监控开源库的维护动态,避免使用可疑代码。
    • 采用SBOM(软件物料清单)追踪供应链依赖。

    5. AI优化的编译器或代码压缩工具被污染

    案例描述

    • 开发者使用AI驱动的编译器或压缩工具进行代码优化。
    • 由于工具被污染,编译后的代码被植入恶意逻辑。
    • 该代码最终进入生产环境,影响用户。

    安全隐患

    • 恶意代码难以察觉,长期潜伏。
    • 可能窃取用户数据或劫持API请求。
    • 影响多个企业或开发团队。

    防范措施

    • 仅使用经过安全审计的编译工具。
    • 代码生成后进行额外的安全检查。
    • 监测应用行为,防止异常代码执行。

    6. AI生成的伪造开源项目欺骗开发者

    案例描述

    • 攻击者利用AI生成完整的开源项目,提供详细文档和示例代码。
    • 该项目被宣传为“创新的开源解决方案”,吸引开发者使用。
    • 实际上,该项目隐藏后门,允许远程控制。

    安全隐患

    • 受信任的开源平台被污染,影响开发者社区。
    • 企业误用后门代码,导致数据泄露。
    • 供应链信任体系受损。

    防范措施

    • 避免轻信新兴开源项目,优先使用知名软件。
    • 检查开源库的维护历史,确保代码安全。
    • 对第三方依赖进行安全扫描。

    AI在提高开发效率的同时,也带来了前所未有的安全挑战。为防范AI驱动的供应链污染,需要开发者、企业和安全研究人员共同努力:

    • 小白用户 提高安全意识,不随意下载和运行不明来源的代码,尤其是AI生成的插件和工具。
    • 开发者 加强代码审查,避免误用AI生成的恶意代码。
    • 企业 对供应链安全进行全面管理,防止供应链攻击。

    AI的安全问题不容忽视,只有建立完善的安全机制,才能在享受AI带来的便利的同时,避免潜在的安全风险。