标签: Windows

  • Windows 11如何彻底关闭 Shift 切换中英文输入

    关闭 Windows 11 中 Shift 键切换中英文输入的功能,主要是为了提高输入效率、减少误操作和干扰。许多用户在使用过程中可能会不小心按到 Shift 键,从而导致语言切换,这种情况往往会打断输入流程。通过关闭 Shift 键切换,可以避免这一问题,并且让用户可以根据自己的需求自定义输入法切换方式,提升工作或学习的效率。

    1. 打开“设置”:
      • 按下 Win + I 组合键,或者点击“开始”菜单,然后点击“设置”图标。
    2. 进入“时间和语言”:
      • 在“设置”窗口中,点击“时间和语言”。
    3. 选择“语言和区域”:
      • 在“时间和语言”菜单中,点击“语言和区域”。
    4. 选择“中文(简体,中国)”:
      • 在语言列表中找到“中文(简体,中国)”然后点击它。
    5. 点击“语言选项”:
      • 在中文(简体,中国)的选项下面,点击“语言选项”。
    6. 点击“微软拼音”的“键盘选项”:
      • 在键盘选项里,找到“微软拼音”选项,然后点击“键盘选项”。
    7. 点击“按键”:
      • 在微软拼音的键盘选项里面,点击“按键”选项。
    8. 取消 Shift 选项:
      • 在按键选项里面,找到与shift切换相关的选项,取消相关选项,然后点击确定。
  • Ollama 安全加固措施

    Ollama 安全加固措施

    为了保护在公网上运行的 Ollama 服务并限制访问,可以采取以下措施:

    方法一:通过防火墙限制

    Linux系统 使用 ufw 防火墙

    1. 检查 Ollama 默认监听的端口(通常是 11434)。
    2. 配置 ufw 只允许指定 IP 访问 11434 端口:
    # 允许指定 IP 访问 11434 端口
    ufw allow from <指定IP> to any port 11434 proto tcp
    
    # 拒绝其他所有 IP 访问 11434 端口
    ufw deny in to any port 11434 proto tcp

    <指定IP> 替换为允许访问的 IP 地址(如 192.168.1.100)。完成后,重新加载防火墙规则:

    ufw reload

    确保 ufw 已启用:

    ufw enable

    Windows 系统(使用 Windows 防火墙)

    1. 打开“Windows Defender 防火墙” -> “高级设置”。
    2. 创建一个新的“入站规则”,选择端口 11434,协议为 TCP。
    3. 在“范围”选项中,指定允许访问的远程 IP 地址。
    4. 保存并应用规则,其他未指定的 IP 将被阻止。

    方法二:修改 Ollama 监听地址(配合防火墙)

    默认情况下,Ollama 可能监听 0.0.0.0(所有接口)。你可以将其改为仅监听本地接口(127.0.0.1),然后通过反向代理(如 Nginx)控制访问。

    设置环境变量 OLLAMA_HOST

    Linux

    /etc/systemd/system/ollama.service 中添加:

    Environment="OLLAMA_HOST=127.0.0.1:11434"

    然后重启ollama服务

    systemctl daemon-reload
    systemctl restart ollama

    Windows

    在系统环境变量中添加 OLLAMA_HOST=127.0.0.1:11434,然后重启 Ollama 服务。

    通过配置Nginx反向代理,在代理层限制 IP:

    server {
        listen 80;
        location / {
            proxy_pass http://127.0.0.1:11434;
            allow <指定IP>;  # 替换为允许的 IP
            deny all;        # 拒绝其他 IP
        }
    }

    重启 Nginx:

    systemctl restart nginx

    方法三:使用 VPN 或内网访问

    将 Ollama 部署在本地网络中,通过 VPN连接到服务器,避免直接暴露在公网上。仅允许 VPN 内的 IP 访问服务。

  • Docker安装Nextcloud

    Nextcloud 是一款开源的私有云存储服务,通过 Docker 部署 Nextcloud 可以快速搭建私有云存储服务,适用于个人和小型团队使用。

    1. 创建工作目录

    在服务器上创建一个专门用于存放 Nextcloud 数据的目录,并进入该目录:

    mkdir nextcloud && cd nextcloud

    2. 编写 docker-compose.yml 配置文件

    创建 docker-compose.yml 文件,并填入以下内容:

    services:
      db:
        image: postgres
        restart: always
        volumes:
          - db:/var/lib/postgresql/data
        environment:
          - POSTGRES_DB=nextcloud
          - POSTGRES_USER=nextcloud
          - POSTGRES_PASSWORD=nextcloud
    
      app:
        image: nextcloud
        restart: always
        ports:
          - 8080:80
        volumes:
          - nextcloud:/var/www/html
        environment:
          - POSTGRES_HOST=db
          - POSTGRES_DB=nextcloud
          - POSTGRES_USER=nextcloud
          - POSTGRES_PASSWORD=nextcloud
        depends_on:
          - db
    
      cron:
        image: nextcloud
        restart: always
        volumes:
          - nextcloud:/var/www/html
        entrypoint: /cron.sh
        depends_on:
          - db
    
    volumes:
      db:
      nextcloud:

    2.1 说明

    • 数据库服务 (db): 使用 PostgreSQL 作为 Nextcloud 的数据库存储。
    • Nextcloud 应用 (app): 主要的 Nextcloud 服务,映射端口 8080
    • 定时任务 (cron): 运行 Nextcloud 的定期任务,如清理临时文件、维护数据库等。
    • 数据卷 (volumes): db 用于存储数据库数据,nextcloud 用于存储 Nextcloud 相关文件。

    3. 启动 Nextcloud

    使用 docker compose 命令启动 Nextcloud 容器:

    docker compose up -d

    4. 访问 Nextcloud

    在浏览器中打开以下地址访问 Nextcloud 界面:

    http://<服务器IP>:8080

    首次访问时,需要创建管理员账号并完成初始化。

  • Docker安装Stirling-PDF

    Stirling-PDF 是一款基于 Docker 容器的开源 PDF 处理工具,专为OCR设计,能够将扫描的 PDF 文件中的图像或文字转换为可编辑的文本。通过集成 Tesseract OCR 引擎,Stirling-PDF 使得用户能够轻松提取 PDF 文件中的文字,无论是扫描文档、图像还是其他类型的图文混合内容。

    该工具提供了一个简洁的 Web 界面,用户可以上传 PDF 文件进行批量处理、OCR 识别和文本提取。它支持多语言识别,适用于不同语言的 OCR 数据包,能够帮助用户处理多种语言的文档。

    1. 创建 stirling-pdf 目录并进入

    首先,我们需要在你的服务器上创建一个新的目录来存放相关文件,并进入该目录。

    mkdir stirling-pdf && cd stirling-pdf

    2. 下载 Tesseract OCR 库

    Stirling-PDF 使用 Tesseract OCR 库进行文字识别。因此,我们需要下载其相关的语言数据。

    git clone https://github.com/tesseract-ocr/tessdata.git

    3. 创建 docker-compose.yml 文件

    创建 docker-compose.yml 文件,以便使用 Docker Compose 部署 Stirling-PDF 服务。

    stirling-pdf 目录下,创建并编辑 docker-compose.yml 文件:

    services:
      stirling-pdf:
        restart: always
        image: frooodle/s-pdf:latest
        ports:
          - '8080:8080'  # 映射容器内的 8080 端口到宿主机的 8080 端口
        volumes:
          - ./tessdata:/usr/share/tessdata
          - ./extraConfigs:/configs
          - ./customFiles:/customFiles/
          - ./logs:/logs/
        environment:
          - DOCKER_ENABLE_SECURITY=false
          - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
          - LANGS=en_GB

    4. 启动 Stirling-PDF

    创建完 docker-compose.yml 文件后,可以使用以下命令启动 Stirling-PDF 服务:

    docker compose up -d

    该命令会自动下载所需的 Docker 镜像并启动容器。启动完成后,Stirling-PDF 服务将开始运行。

    5. 使用浏览器访问 Stirling-PDF

    启动成功后,你可以在浏览器中通过以下地址访问 Stirling-PDF:

    http://<IP>:8080
    • 替换 <IP> 为你的服务器的 IP 地址,你就可以在浏览器中访问并使用 Stirling-PDF 进行 PDF 文件的处理了。
  • Windows系统恶意域名连接事件分析与响应

    事件概述

    在防火墙监控中检测到一台内部 Windows 主机(通过其 IP 地址识别)发起了对一个或多个恶意域名的网络连接。这可能表明该主机已受到恶意软件感染,需要立即进行排查和处理。

    1. 识别恶意请求来源

    1.1. 检查防火墙日志

    • 在防火墙管理界面中,找到相关的日志记录,确定:
      • 访问的恶意域名
      • 访问的时间
      • 发起请求的设备 IP
      • 访问的协议(如 HTTP、HTTPS、DNS 等)
      • 源端口和目标端口

    1.2. 在 Windows 设备上检查 DNS 解析历史

    在受感染的 Windows 设备上,使用以下命令查看 DNS 缓存:

    ipconfig /displaydns

    查找是否存在恶意域名,并记录相关条目。同时,检查 DNS 服务器的指向,是否被篡改。

    1.3. 查找相关进程

    使用以下命令查看当前连接的域名和进程:

    Get-NetTCPConnection -State Established | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,OwningProcess | Format-Table -AutoSize

    找到与恶意域名相关的 IP 地址,并记录对应的进程 ID(PID)。

    然后使用:

    Get-Process -Id <PID> -IncludeUserName

    查看是哪个进程在发起恶意请求,并查看进程的用户名,来判断是否是异常进程。

    1.4. windows事件日志分析

    • 打开事件查看器,检查“Windows 日志”下的“应用程序”、“安全”和“系统”日志。
    • 重点关注以下事件:
      • 异常的登录尝试(安全日志)。
      • 应用程序错误或崩溃(应用程序日志)。
      • 系统错误或警告(系统日志)。
      • 查找与恶意软件活动相关的事件,例如:
        • 可疑的进程启动或终止。
        • 异常的文件访问或修改。
        • 网络连接错误。

    1.5. 使用wireshark抓包分析

    • 在受感染主机上安装 Wireshark,捕获网络流量。
    • 使用过滤器(例如,dns.qry.name contains "malicious-domain.com")来查找与恶意域名相关的流量。
    • 分析流量中的数据包,查找恶意软件的通信模式和数据内容。
    • 重点关注以下信息:
      • 恶意软件使用的协议和端口。
      • 恶意软件通信的 IP 地址和域名。
      • 恶意软件传输的数据内容。

    2. 终止并分析恶意进程

    2.1. 终止可疑进程

    • 当发现感染的进程是系统进程时:
      • 仔细核对:使用Process Explorer等工具,查看进程的详细信息。
      • 数字签名验证:检查系统进程的数字签名。
      • 资源占用异常:监控系统进程的CPU、内存和网络占用情况。
      • 网络连接异常:通过netstat,wireshark等工具,确认系统进程的网络链接,是否链接了可疑的IP或者域名。
      • 隔离网络:立即将受感染的主机从网络中隔离。
      • 安全模式扫描:重启计算机进入安全模式,进行全面扫描。
      • 系统文件检查器(SFC):使用sfc /scannow命令扫描并修复受损的系统文件。
      • DISM工具:使用DISM工具,对系统镜像进行修复。
      • 系统还原:尝试回滚到感染前的状态。
      • 分析恶意软件:提取可疑的系统进程文件进行恶意软件分析。
      • 考虑重装系统:如果以上方法无效,考虑重装系统。
    • 找到可疑进程后,可以手动终止:
    Stop-Process -Id <PID> -Force

    或者在任务管理器中找到对应进程并结束任务。在终止前,使用工具进行进程的快照。

    2.2. 分析进程启动项

    使用以下命令检查进程是否在开机启动:

    Get-CimInstance Win32_StartupCommand | Select-Object Name, Command, Location

    如果发现恶意进程,手动删除启动项,或者使用 msconfig 检查启动项。同时检查服务列表,是否有可疑服务在运行。

    3. 查找恶意文件

    3.1. 检查系统文件

    使用 Windows Defender 进行完整扫描:

    Start-MpScan -ScanType FullScan

    或者使用 ClamAV(适用于 Windows 版本)进行手动扫描:

    clamscan.exe -r C:\ --bell --remove

    同时可以使用其他的杀毒软件进行辅助查杀

    3.2. 使用 Autoruns 检查隐藏启动项

    下载 Autoruns,运行后检查是否有恶意程序在系统启动时运行。尤其关注隐藏的启动项和服务。

    3.3. 检查 Hosts 文件

    打开 Hosts 文件:

    notepad C:\Windows\System32\drivers\etc\hosts

    删除所有与恶意域名相关的可疑条目。检查是否有异常的指向。

    4. 阻止恶意域名

    在本地防火墙或 Windows Defender 中阻止恶意域名:

    New-NetFirewallRule -DisplayName "Block Malicious Domain" -Direction Outbound -Action Block -RemoteAddress <恶意IP>

    或者在 Hosts 文件中将恶意域名指向本地:

    127.0.0.1 malicious-domain.com

    同时,在企业环境中,需要在边界防火墙,IDS/IPS 等设备中添加封禁策略。

    5. 排查后门和持久化机制

    5.1. 检查计划任务

    Get-ScheduledTask | Where-Object {$_.TaskName -match "malware"}

    删除任何可疑任务:

    Unregister-ScheduledTask -TaskName "<TaskName>" -Confirm:$false

    5.2. 检查注册表

    查看注册表启动项:

    reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run

    删除可疑项:

    reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v "<恶意项>" /f

    同时,检查其他的注册表启动项,例如 RunOnce,RunServices 等。

    5.3 检查网络连接

    通过 netstat 命令,检查异常网络连接。

    netstat -ano

    6. 进行系统修复

    如果感染严重,可以执行以下操作:

    1. 系统还原:回滚到之前的快照
    2. 重装 Windows:如果找不到恶意软件的来源,建议重装系统
    3. 更改密码:如果怀疑凭据被窃取,建议更改相关账户密码
    4. 隔离受感染主机:将受感染主机从网络中隔离,防止横向传播。
    5. 分析恶意软件样本:如果可能,提取恶意软件样本进行分析,了解其行为和目的。
    6. 更新安全补丁:确保系统和应用程序都安装了最新的安全补丁。
    7. 全网安全扫描:对网络中的其他主机进行安全扫描,确保没有其他主机受到感染。
    8. 备份重要数据:在重装系统前,尽可能的备份重要数据。
  • VMware Workstation 配置虚拟机开机自动启动

    打开启动文件夹

    • Win + R 组合键,输入 shell:startup 并回车。
    • 这将打开 Windows 的 启动 文件夹。

    创建批处理文件

    • 在 启动 文件夹内,右键选择 新建 > 文本文档。
    • 将文件命名为 start_vm.bat,并确保扩展名为 .bat(如果看不到扩展名,需要在文件资源管理器中启用 文件扩展名可见)。
    • 使用文本编辑器(如记事本)打开 start_vm.bat 文件,并输入以下内容:
    @echo off
    "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" start "D:\VM\Debian12-Docker\Debian12-Docker.vmx"
    • D:\VM\Debian12-Docker\Debian12-Docker.vmx 为你需要启动的虚拟机
    • 保存并关闭文件。

    测试自动启动

    • 双击 start_vm.bat 文件,确认虚拟机能正常启动。
    • 重新启动计算机,验证虚拟机是否随 Windows 开机自动运行。