OPSEC 策略

1,  TOR隐藏服务

一、准备

一台 Linux 服务器(建议新建最小化实例),具备 sudo。

本地已有一个要对外发布的服务(例如 Nginx/Apache 在本机 127.0.0.1:80 或 Unix Socket 上)。
community.torproject.org

二、安装 Tor(推荐用 Tor 官方仓库)
# 1) 启用 Tor 官方 APT 仓库(替换 <DISTRIBUTION> 为你的代号,如 bookworm / jammy)
sudo apt update
sudo apt install apt-transport-https gnupg -y
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc \
 | gpg --dearmor | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null

sudo tee /etc/apt/sources.list.d/tor.list >/dev/null <<'EOF'
deb     [signed-by=/usr/share/keyrings/deb.torproject.org-keyring.gpg] https://deb.torproject.org/torproject.org <DISTRIBUTION> main
deb-src [signed-by=/usr/share/keyrings/deb.torproject.org-keyring.gpg] https://deb.torproject.org/torproject.org <DISTRIBUTION> main
EOF

# 2) 安装 Tor 与 keyring
sudo apt update
sudo apt install -y tor deb.torproject.org-keyring


这样能拿到最新稳定版 Tor,比仅用发行版自带包更及时。
support.torproject.org
community.torproject.org

三、配置 Onion Service

编辑 /etc/tor/torrc,添加(或按需修改)以下条目:

# v3 隐藏服务目录(Tor 会在重启时生成密钥与 hostname)
HiddenServiceDir /var/lib/tor/my_site/
HiddenServiceVersion 3

# 将 Onion 的 80 端口转发到本机 80(也可转到反代/应用端口)
HiddenServicePort 80 127.0.0.1:80

# (可选)更隐蔽的做法:使用 Unix Socket 而不是 TCP 回环
# HiddenServicePort 80 unix:/var/run/tor/my_site.sock


注意:HiddenServiceDir 需要 tor 进程可写;常见报错就是目录/权限不对。
community.torproject.org

重启 Tor:

sudo systemctl restart tor


成功后,在 HiddenServiceDir 下会出现 hostname 文件,里面就是你的 v3 .onion 地址(56 个字符)。请妥善保管同目录中的私钥文件。
community.torproject.org
support.torproject.org

现在用 Tor Browser 访问该地址,应能看到你的站点内容。
community.torproject.org

四、(可选但强烈建议)启用客户端授权(私有/白名单访问)

如果你不希望“知道地址的人都能访问”,可以为 v3 服务开启客户端授权:服务器侧在 HiddenServiceDir/authorized_clients/ 放入授权文件;客户端持有私钥后方可访问。流程要点如下(官方步骤精简版):

服务端:在 <HiddenServiceDir>/authorized_clients/ 内,为每个允许的客户端写入一行 descriptor:x25519:<公钥base32> 的 .auth 文件,然后 systemctl reload tor;

客户端:在 torrc 设置 ClientOnionAuthDir /var/lib/tor/onion_auth,并为目标 onion 地址写入 <onion-addr-without-.onion>:descriptor:x25519:<私钥base32> 的 .auth_private 文件,重载 Tor 即可访问。
community.torproject.org

五、(可选)把 SSH 也放到 Onion(请务必配合客户端授权)
HiddenServiceDir /var/lib/tor/ssh/
HiddenServiceVersion 3
HiddenServicePort 22 127.0.0.1:22


将 SSH 暴露到 Onion 时,务必打开 v3 客户端授权,避免被扫描与暴力破解。
community.torproject.org

六、(进阶)临时/程序化创建 Onion(Ephemeral)

如果想在应用中动态创建 Onion(例如穿透 NAT),可以通过 Tor ControlPort 的 ADD_ONION 命令创建“临时”服务;这在自动化部署/自托管工具中很常见。请确保理解 single-hop / anonymous 模式的区别与风险。
spec.torproject.org
+1
trickster.dev

七、安全与运维要点(强烈建议)

仅绑定回环或 Unix Socket:你的 Web/应用服务器监听 127.0.0.1 或 unix:/...,不要绑定公网。
community.torproject.org

最小暴露:需要公网访问时用常规反代;Onion 侧只走本机回环/Socket。

不要与中继同机同实例:同一 Tor 实例不建议同时跑中继与隐藏服务。
riseup.net

密钥备份与轮换:备份 HiddenServiceDir 私钥;泄露即意味着可被假冒。
community.torproject.org

只用 v3:v2 已弃用;确认用 56 位地址。
community.torproject.org
support.torproject.org
+1

运维与泄露面检查:参考官方“运营安全”与 Riseup 的 Best Practices,避免通过站点配置、日志、外链等暴露真实 IP/域名。可用 OnionScan 辅助检查。
community.torproject.org

如果你告诉我你的发行版(如 Debian 12/Ubuntu 24.04)和要暴露的服务端口,我可以把上面的命令与 torrc 片段按你的环境定制,顺带给一个 Nginx(Unix Socket) 最小示例配置。

您说:
OPSEC 是什么?
ChatGPT 说:

OPSEC(Operations Security,行动安全/运作保密)是一套持续性的管理流程,用来识别并控制在日常活动中可能泄露给对手的关键信息与可观察迹象,避免被对手用来推断你的计划、能力与弱点。最早源于军队/情报领域,如今广泛用于企业安全、研发、红队蓝队、个人隐私等场景。

OPSEC 五步法(经典循环)

识别关键信息(CI):哪些信息一旦被对手知道就会造成实质风险?
例:发布窗口、内网拓扑、管理员账号命名规则、出差行程。

威胁分析:谁可能针对你?他们的动机与能力是什么?
例:竞争对手、钓鱼团伙、APT、数据扒手。

脆弱性分析:哪些行为/迹象会暴露 CI?
例:社媒晒工牌、Git 仓库泄密、文档元数据、可被爬到的测试域名、规律化作息。

风险评估:结合发生概率与影响度,给出优先级。

实施对策:最小化暴露面与可观察性,并持续评估效果。
例:最小必要披露、分级信息管控、最小权限、密钥与元数据治理、变更前后“迹象审计”。

和相关概念的区别

InfoSec(信息安全):侧重数据/系统的机密性、完整性、可用性;OPSEC 更关注行为与迹象管理。

COMSEC(通信安全):加密与密钥管理;OPSEC 关心“即便加密,是否仍泄露模式/时间线等侧信道”。

PERSEC(个人安全):个人身份与隐私;OPSEC 可包含 PERSEC,但侧重“对手视角下的可推断性”。

常见失误(非穷尽)

社交媒体/招聘启事/发布日志里过度披露细节(堆栈、架构、上线窗口)。

文档/图片元数据(作者、路径、坐标)未清理。

代码仓库遗留密钥/令牌与可预测命名。

预发布/演示环境对外可见、目录索引开放、错误页信息量过大。

高度可预测的模式(打卡、会议、变更节奏)被对手长期画像。

最小清单(可落地)

按需披露:对外材料做“对手视角”复查;设定可公开/内部/机密分级。

元数据治理:对外文件与图片统一脱敏;CI/CD 中加“元数据剥离”步骤。

密钥与配置:集中式秘密管理(而非 .env 入仓),定期轮换、审计。

环境隔离:测试/预发使用访问控制或私有入口,关闭目录索引与详细错误。

最小可观察性:减少可被爬虫探测的指纹(版本号、Banner、调试端点)。

训练与演练:员工社工演练、红队蓝队对抗;将 OPSEC 纳入变更评审。

简而言之:OPSEC 是“从对手视角出发”的信息与行为暴露管理。并不等同于“隐身”,而是有计划地控制能被观察与推断到的内容,用最小成本降低风险。

发表回复