作者: 启鑫

  • 通过组策略彻底关闭 Windows 11 小组件 (Widgets)

    Windows 11 任务栏左侧的“小组件”(Widgets)功能虽然可以提供天气和资讯,但经常会在后台运行并占用一定的系统资源。如果你不需要这些推送内容,希望系统更加轻量、干净,可以通过 Windows 自带的组策略功能将其完全关闭。

    操作步骤

    1. 打开组策略编辑器

    按键盘上的 Win + R 快捷键打开运行窗口,输入以下命令然后按回车:

    gpedit.msc

    这会打开“本地组策略编辑器” (Local Group Policy Editor) 窗口。

    2. 定位到小组件策略

    在左侧的导航树状列表中,依次展开以下路径:

    Computer Configuration (计算机配置)
    ↳ Administrative Templates (管理模板)
     ↳ Windows Components (Windows 组件)
      ↳ Widgets (小组件)

    3. 打开策略设置

    在右侧的策略列表中,找到名为 Allow widgets (允许小组件) 的选项,并双击打开它。

    4. 禁用小组件

    在弹出的配置窗口中,将左上角的选项从“未配置”或“已启用”更改为:

    Disabled (已禁用)

    5. 应用并保存

    点击窗口右下角的 Apply (应用),然后点击 OK (确定) 关闭该窗口。

    6. 强制更新策略

    为了让设置尽快生效,可以强制刷新一下系统策略:

    按 Win + R 打开运行,输入 cmd 后按 Ctrl + Shift + Enter(以管理员身份运行命令提示符)。
    输入以下命令并回车:

    gpupdate /force

    等待屏幕提示“计算机策略更新成功”。

  • 在 FortiGate 中配置 Spamhaus DROP 列表:实现恶意网段自动同步与拦截

    通过 FortiGate 外部连接器 (External Connectors) 自动化集成 Spamhaus DROP 威胁情报。该方案通过 curljq 提取恶意 CIDR 网段,并利用防火墙的 Threat Feed 功能实现动态同步,旨在为企业边界安全提供一层自动化的“零误伤”过滤屏障。

    一、 环境准备:获取并整理 DROP 列表

    Spamhaus 提供的 DROP (Don’t Route Or Peer) 列表包含了由恶意组织控制的网段。其原始格式为 JSON,需转换为 FortiGate 兼容的纯文本。

    1. 原始格式预览

    {"cidr":"1.10.16.0/20","sblid":"SBL256894","rir":"apnic"}
    {"cidr":"1.19.0.0/16","sblid":"SBL434604","rir":"apnic"}

    2. 数据提取脚本

    在你的 Web 服务器(或中转服务器)上运行以下命令,提取 cidr 字段并生成纯文本:

    # 下载、解析并保存为文本文件
    curl -s https://www.spamhaus.org/drop/drop_v4.json | jq -r '.cidr' > spamhaus_drop.txt

    注意:FortiGate 无法直接解析该 JSON 文件,因此必须通过上述步骤将其托管在内部或公网的 HTTP/HTTPS 服务器上。

    二、 FortiGate 配置步骤

    1. 创建外部连接器 (Threat Feed)

    1. 登录 FortiGate,进入 Security Fabric > External Connectors
    2. 点击 Create New,在 Threat Feeds 类别下选择 IP Address
    3. 参数配置详情:
    • Name: Spamhaus_DROP
    • URL: http://yourserver.com/spamhaus_drop.txt
    • Refresh Rate: 设置为 60 分钟(平衡实时性与服务器负载)。

    2. 状态验证

    保存配置后,在列表中观察连接器图标状态:

    • 绿色箭头:连接正常。
    • 红色感叹号:请检查 FortiGate 是否有权限访问该 URL,或 DNS 解析是否正常。
    • 查看内容:右键点击连接器选择 View Entries,确认是否已成功拉取 IP 列表。

    三、 应用安全策略

    获取列表后,必须将其应用到安全策略中才会生效。

    1. 进入 Policy & Objects > Firewall Policy
    2. 创建一条新的拦截策略:
    • Name: Deny_Spamhaus_Inbound
    • Incoming Interface: WAN (外部接口)
    • Source: 选择刚才创建的动态对象 Spamhaus_DROP
    • Destination: All
    • Service: ALL
    • Action: DENY
    1. 关键操作:在策略列表中,手动将该策略 移至顶端 (Top)

    提示:为了防范内网主机被感染后回连 C&C 服务器,建议额外创建一条 SourceInternalDestinationSpamhaus_DROP 的拦截策略。


    四、 自动化更新

    为了确保列表始终最新,建议在 Web 服务器上设置 Crontab 定时任务:

    # 每小时自动更新一次列表
    0 * * * * curl -s https://www.spamhaus.org/drop/drop_v4.json | jq -r '.cidr' > /var/www/html/spamhaus_drop.txt
  • 使用 AbuseIPDB 与 FortiGate 打造全自动威胁情报拦截系统

    通过FortiGate 的“外部连接器(External Connectors)”功能,实时联动 AbuseIPDB 威胁情报库。通过构造动态 API 请求,防火墙可自动获取并更新全球恶意 IP 黑名单,实现对攻击源的毫秒级自动封禁,有效提升企业边界安全。

    准备工作

    • 注册一个AbuseIPDB账户
    • 在My API 栏目生成一个 API Key
    • 设置 API 请求链接

    构造如下格式的 URL:

    https://api.abuseipdb.com/api/v2/blacklist?plaintext=true&confidenceMinimum=75&limit=131072&key=[YOUR API KEY HERE]

    confidenceMinimum:黑名单中包含的最低滥用置信度分数(25-100),建议 ≥75,避免误报。

    FortiGate 配置步骤

    1. 创建外部连接器 (Threat Feed)

    • 登录 FortiGate,进入 Security Fabric > External Connectors
    • 点击 Create New,在 Threat Feeds 类别下选择 IP Address。
    • 参数配置
      • Name: AbuseIPDB_IP_Blacklist
      • URL: 粘贴你在第一阶段构造好的 URL
      • Refresh Rate: 设置为 60 分钟(避免请求过于频繁导致 API 超限)

    2. 验证连接

    保存后,观察连接器图标:

    • 绿色箭头:连接成功,已获取数据
    • 红色/感叹号:检查 URL 是否正确,或防火墙是否有权限访问互联网
    • 点击 View Entries:确认列表内已填充大量恶意 IP

    3. 应用安全策略

    获取到数据后,必须通过策略才能生效:

    • 进入 Policy & Objects > Firewall Policy
    • 创建拦截策略:
      • Incoming Interface: WAN (或外部接口)。
      • Source: 选择刚才创建的对象 AbuseIPDB_IP_Blacklist
      • Destination: All
      • Action: DENY
    • 排序:将该策略 移至顶端(Top),确保流量在匹配放行策略前先经过黑名单过滤。
  • Fedora Workstation 43 初始化设置卡住,Next 按钮无响应的通用修复方案

    问题描述

    在完成 Fedora Workstation 43 的安装后,系统会进入首次开机初始化设置(Initial Setup)流程。在 Privacy(隐私设置) 页面点击 Next(下一步) 时发现按钮毫无反应,系统处于假死状态,导致无法正常进入桌面。

    这通常是由于内核在初始化阶段与特定的显示硬件(尤其是部分 NVIDIA 显卡或集成显卡)存在兼容性问题,导致图形界面渲染挂起。

    解决方案:使用 VESA 模式强制初始化

    通过在引导时临时禁用显卡硬件加速,使用 VESA 模式(纯软件渲染)可以顺利绕过此卡顿。

    1. 重启并进入编辑模式

    强制重启你的电脑。在看到 GRUB 引导菜单(选择 Fedora 内核版本的倒计时界面)时,立即按下键盘上的 e 键进入编辑模式。

    2. 修改内核启动参数

    在出现的代码页中,找到以 linux 开头的行(通常位于倒数第 3 或第 4 行)。

    1. 将光标移动到该行的末尾
    2. 先输入一个 空格
    3. 手动输入以下参数:
      inst.xdriver=vesa nomodeset

    3. 启动并完成设置

    按下 Ctrl + X 启动系统。此时系统会以低分辨率模式启动,初始化页面的 Next 按钮现在可以正常点击了。

    进入桌面后的后续处理

    成功进入桌面后,由于我们使用了 nomodeset,系统分辨率会很低且操作有延迟。请务必执行以下步骤恢复正常:

    1. 更新系统: 打开终端,运行 sudo dnf update
    2. 安装驱动: 检查并安装适合你显卡的驱动程序(如 NVIDIA 专有驱动)。
    3. 正常重启: 驱动安装完成后,直接重启电脑,无需再手动输入任何参数,系统将恢复满血性能。
  • Debian 13 GNOME 启用 root 登录教程

    Debian 13 GNOME 默认不允许 root 登录桌面,但在测试或开发机上可以通过修改 PAM 配置和重启 GDM 实现。
    生产环境请勿直接用 root,日常操作用普通用户更安全

    1. 切换到 root

    su - root

    2. 修改 GDM PAM 配置

    打开 PAM 文件:

    nano /etc/pam.d/gdm-password

    找到这一行:

    auth required pam_succeed_if.so user != root quiet_success

    在前面加 # 注释掉:

    # auth required pam_succeed_if.so user != root quiet_success

    保存并退出 (Ctrl+OEnterCtrl+X)。

    3. 重启 GDM

    systemctl restart gdm3
  • 在 Debian 13 上构建原生 Linux 开发工作流

    过去很长一段时间,我的主力开发环境一直是 Windows。它对软件兼容性友好、工具齐全,上手成本低,是很多开发者的第一选择。今年,我选择了 Debian 13 + KDE 桌面 作为新的主力开发环境。

    Debian 让开发成为连续的、高专注的 Vibe Coding,而不是不断处理系统小问题。对于我来说,选择 Debian 并不是放弃 Windows,而是为了更专注、更顺畅地完成工作。每一次迁移,都是为了让注意力回到真正重要的代码上。

    为什么从 Windows 迁移到 Debian

    今年真正促使我从 Windows 迁移到 Debian 的原因,并不是系统优劣之争,而是开发方式发生了变化

    随着 Vibe Coding 成为我日常开发的常态,我越来越依赖一种长时间、高专注、不被打断的工作状态。代码、终端、浏览器、日志在同一个节奏里不断切换,我希望系统可以稳定的运行来支持我的工作,而不会成为注意力的干扰源。

    虽然 Windows 本身表现不错,但在处理 Docker、CLI、文件系统以及权限相关的任务时,总会出现各种问题,这些问题迫使我不断进行环境切换,频繁发生时极大地消耗了我的注意力。

    在 Debian 上,开发环境与生产环境之间的迁移几乎感受不到差异:目录结构、权限管理、工具链和运行方式都保持一致,因此我无需为环境差异而分散注意力。

    相比之下,在 Windows 11 下,即便是资源管理器也会偶尔卡死,尤其是在同时打开多个目录或处理大量文件时,这些微小但频繁的阻塞不仅打断我的思路,还让我担心电脑是否会蓝屏,或者命令行软件会不会崩溃。此外,Docker 在 Windows 11 上依赖 WSL,存在诸多限制,容易导致磁盘膨胀和管理复杂,而在 Debian 上管理 Docker 更加简洁、稳定和可控。