Pages

Sunday, 29 November 2015

Linux vps下,搭建Tor Hidden Service

使用Tor隐藏服务来保护服务器的位置以及访客的个人隐私是一种比较好的方法,因为服务器隐藏在Tor只下,传统的方法是无法获取到服务器的真实IP的,同样访客也必须使用Tor Browser来访问隐藏服务,服务器与访客互不知道身份.同样对于有权利的某些机构来说Tor的隐藏服务也是不可被审查的,通过技术手段保障了言论自由..
所需条件:
1. 有一台VPS或服务器
2. 可以链接外网
第一步 安装Tor
既然要搭建Tor Hidden Service, 第一步当然是要安装Tor咯...
Debian系参考: https://www.torproject.org/docs/debian.html.en
RHEL/CentOS参考: https://www.torproject.org/docs/rpms.html.en
这些基础操作就略过了...
第二步 建立Tor Hidden Service密钥目录
Tor Hidden Service 需要一个目录用于存储隐藏服务的密钥..该目录需要给予tor运行用户的写入权限,且其他用户不得读取,即700权限...并且需要归属于Tor运行用户..
mkdir /var/lib/tor/hiddenservice/
mkdir /var/lib/tor/hiddenservice/site1/
chown _tor._tor -v -R /var/lib/tor/hiddenservice/ #注意,这里不同的系统可能为不同的用户,具体请cat /etc/passwd查找有tor字眼的用户名...
chmod 700 -v -R /var/lib/tor/hiddenservice/
至此密钥目录建立完毕..
第三步 修改配置文件
在/etc/tor/torrc最后一行加入
HiddenServiceDir /var/lib/tor/hiddenservice/site1/ #你的tor密钥目录
HiddenServicePort 80 127.0.0.1:80 #反向代理,一般web第一个留80,第二个留本机http server的地址
之后service tor reload成功后hidden service即可正常运行了...至于http server的搭建就不在这里讲了,用nginx/apache/iis都可以...
第四步 查看hostname获取地址
搭建好了之后总要知道自己的hidden service的地址呢...
cat /var/lib/tor/hiddenservice/site1/hostname
就可以看到地址了,如 o47j5hfdr3wu3oln.onion
风险提示 & 高级应用技巧 & 常见问题
如果需要做一个非常敏感的tor site, 则需要做好安全, 并且避免服务器主动链接到外网而泄漏真实IP, 包括但不限于:发送密码找回邮件, 程序自动联网更新等……
建立Tor hidden service并「不需要」拥有外网IP, 甚至在天朝家中都可以搭建tor hidden service, 只是需要一个Socks5Proxy或HTTPS proxy做前置代理...
在通过网桥联网的tor下是无法搭建tor hidden service的....
使用网桥联网的Tor是可以搭建tor hidden service的…亲测…
感谢网友“重庆网友”的测试.
from  https://xiaolan.me/tor-hidden-service-in-linux.html
------------

建立并进入tor文件夹(mkdir tor && tor),之后下载tor的源代码进行编译
wget https://www.torproject.org/dist/tor-0.2.7.6.tar.gz
tar zxvf tor-*cd tor*
./configure
make
等待大约10分钟编译完成,编译完成后进入src/or目录,将tor移动出来
mv tor ../../../
随后建立torrc文件
SocksPort 0 #禁用代理
Log notice file /var/lib/openshift/5****************a/app-root/logs/tor.log
RunAsDaemon 1
DataDirectory /var/lib/openshift/5****************a/app-root/data/tor
PidFile /var/lib/openshift/5****************a/app-root/data/tor.pid
HiddenServiceDir /var/lib/openshift/5****************a/app-root/data/tor/hidden_service/
HiddenServicePort 80 127.7.44.1:8080
5****************a替换为你的openshift目录,通过pwd命令查看..
执行
export | grep "OPENSHIFT_PHP_IP"
命令查看PHP的IP,将127.7.44.1替换为你的PHP_IP
随后运行
./tor -f torrc
运行完毕后,使用命令
cat ~/app-root/data/tor/hidden_service/hostname
查看hidden service的主机名
此方法已在1984.city上测试成功:) 示例: http://drtw4rrgoe34xs5t.onion/index.php
from http://web.archive.org/web/20160531172556/https://xiaolan.me/tor-on-openshift.html