在Tor网络上搭建洋葱域名的Web服务器
环境
使用在之前的文章中所建立的Whonix Gateway。
-
- Whonix Version: 17.0.4.5
- Apache: 2.4.57
安装Apache
因为官方网站上有有关Apache和Nginx的解释,所以这次我们选择使用Apache。
sudo apt install apache2
网页准备
创建用于在浏览器中显示的内容。
sudo vi /var/www/html/index.html
当内容准备好后,进行Apache的操作确认。

Torrc的设置
在torrc文件中添加所需的设置。
对于Whonix,torrc文件是一个符号链接,链接的目标是/etc/tor/torrc.anondist文件。

检查/etc/tor/torrc.anondist文件的内容后发现,它写着不要编辑该文件,而是要编辑/usr/local/etc/torrc.d/50_user.conf文件,因此,请编辑/usr/local/etc/torrc.d/50_user.conf文件。

sudo vi /usr/local/etc/torrc.d/50_user.conf
将以下内容以中文进行本地化翻译(仅需一种选项):
在Tor配置文件中添加两个项目:HiddenServiceDir /var/lib/tor/hidden_service/ 和 HiddenServicePort 80 127.0.0.1:80。
# Tor user specific configuration file
#
# Add user modifications below this line:
############################################
ExcludeNodes {jp},{us},{gb},{ca},{au},{nz},{dk},{fr},{nl},{no},{cn},{ru},{de},{be},{it},{es},{il},{sg},{kr},{se},127.0.0.1,{??}
ExcludeExitNodes {jp},{us},{gb},{ca},{au},{nz},{dk},{fr},{nl},{no},{de},{be},{it},{es},{il},{sg},{kr},{se},{bg},{cz},{fi},{hu},{ie},{lv},{??}},{cn},{ru}
NumEntryGuards 5
StrictNodes 1
HiddenServiceDir /var/lib/tor/hidden_service
HiddenServicePort 80 127.0.0.1:80
HiddenServiceDir是用于指定包含Onion服务信息和加密密钥的目录。它需要由运行Tor的用户拥有读取和写入权限的目录。
HiddenServicePort是用于设置重定向端口和地址的命令。在本例中,访问80端口的流量会被重定向到127.0.0.1:80。
设定完成后,为了让设置生效,请重新启动Tor服务。
sudo systemctl restart tor
测试洋葱地址服务的运行情况
如果设置正常完成,将在HiddenServiceDir指定的目录下生成所需的文件。
% sudo ls -l /var/lib/tor/hidden_service
total 16
drwx--S--- 2 debian-tor debian-tor 4096 Nov 25 08:11 authorized_clients
-rw------- 1 debian-tor debian-tor 63 Nov 25 08:11 hostname
-rw------- 1 debian-tor debian-tor 64 Nov 25 08:11 hs_ed25519_public_key
-rw------- 1 debian-tor debian-tor 96 Nov 25 08:11 hs_ed25519_secret_key
请确认hostname文件中是否包含了.onion域名的地址。
% sudo cat /var/lib/tor/hidden_service/hostname
ypb7sakgr6sxmtiaj6537evb255k6jaccf6mufuewl6k2ppmmgswg7ad.onion
要小心,不要外泄密钥文件。
由于其他文件都是Onion服务的密钥,所以必须将它们保持机密。如果密钥泄露,其他人可以冒充Onion服务,导致服务被入侵、无用甚至危险,并被认为是危险访问。设置Onion服务。
最後,通过Tor浏览器访问hostname中所记录的地址。

赠品
如果要搭建多个网站的情况下 de xià)
在构建多个网站或添加转发端口时,需要添加HiddenServiceDir和HiddenServicePort项目。
HiddenServiceDir /var/lib/tor/onion_service/
HiddenServicePort 80 127.0.0.1:80
HiddenServiceDir /var/lib/tor/other_onion_service/
HiddenServicePort 6667 127.0.0.1:6667
HiddenServicePort 22 127.0.0.1:22
Apache服务器的配置
如果使用Apache的VirtualHost,应该如下所示进行描述。
<VirtualHost *:80>
ServerName <your-onion-address.onion>
DocumentRoot /path/to/htdocs
ErrorLog ${APACHE_LOG_DIR}/my-website.log
</VirtualHost>
Nginx的配置设定
如果使用Nginx,可以按如下方式进行描述。
server {
listen unix:/var/run/tor-my-website.sock;
server_name <your-onion-address>.onion;
access_log /var/log/nginx/my-website.log;
index index.html;
root /path/to/htdocs;
}
设置与安全有关的选项
可以使用客户端认证。
请查看关于洋葱服务运营的最佳实践。
还有一些工具可以检查暗网站是否泄露了可能会暴露服务器IP地址等信息的匿名性信息。
请参考以下网站