Try   HackMD

架設 Tor Hidden Service

tags: web tor

Windows

  1. 先找個地方建立要放置的目錄(ex: C:\hidden_service)。
  2. 啟動 Apache。
  3. 到 Tor 資料夾中 Tor Browser\Browser\TorBrowser\Data\Tor 找到 torrc 檔案。
  4. 在最下方加上
    ​​​​HiddenServiceDir C:\hidden_service
    ​​​​HiddenServicePort 80 127.0.0.1:80
    
  5. 重啟 Tor 後可在 hidden_service 資料夾中發現多了兩個檔案,其中一個是私鑰,另外一個是網址,可以把此網址丟到 Tor 中,正常會出現 apache 的主頁。
  6. 到 Apache 安裝目錄物中找到 C:\xampp\apache\conf\extra\httpd-vhosts.conf 開啟。
  7. 先備份好原先內容,然後隨便修改其中一段
    ​​​​<VirtualHost *:80>
    ​​​​    ServerAdmin webmaster@[你的隱藏網址].onion
    ​​​​    DocumentRoot "C:/xampp/htdocs/[你的隱藏網址].onion"
    ​​​​    ServerName [你的隱藏網址].onion
    ​​​​    ServerAlias www.[你的隱藏網址].onion
    ​​​​    ErrorLog "logs/[你的隱藏網址].onion-error.log"
    ​​​​    CustomLog "logs/[你的隱藏網址].onion-access.log" common
    ​​​​</VirtualHost>
    
  8. C:\xampp\htdocs 新增一個名為 你的隱藏網址.onion 的資料夾,在裡面放上網頁內容。

Ubuntu

  1. 安裝 tor
  2. /etc/tor/torrc 裡面加上
    ​​​​HiddenServiceDir /var/lib/tor/hidden_service/
    ​​​​HiddenServicePort 80 127.0.0.1:80
    

表示 hidden service 的相關資料會放在 /var/lib/tor/hidden_service/ 下,並且提供 port 80 的服務 (轉到本機 127.0.0.1 的 port 80)。

  1. 重啟 tor: service tor restart
  2. 查看 hostname: vim /var/lib/tor/hidden_service/hostname
  3. apache 啟用虛擬多網站: sudo vim /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>  
# ServerName www.normal.com
DocumentRoot /var/www/normalsite
</VirtualHost>

<VirtualHost *:80>  
ServerName xxx.onion
DocumentRoot /var/www/xxx.onion
</VirtualHost>
  1. 啟用多網站
sudo a2ensite default
  1. 重啟 apache
service apache2 restart
  1. 禁止IP訪問: sudo vim /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerName x.x.x.x(VPS IP)
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
  1. 關閉目錄瀏覽: sudo vim /etc/apache2/apache2.conf
找到 Options Indexes FollowSymLinks
然後把 Indexes 刪掉
  1. 隱藏敏感資訊: sudo vim /etc/apache2/apache2.conf
ServerTokens   Prod
ServerSignature   Off
  1. 禁止Ping
// 禁止
echo "net.ipv4.icmp\_echo\_ignore_all=1" >> /etc/sysctl.conf

// 以上指令會在重啟server生效,但也可以立即生效
sysctl -p

// 允許(立即生效,不需再輸入上面指令)
echo 0 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all

Windows與Linux快速傳輸檔案

參考: Putty - 使用PSCP在Linux與Windows間傳送檔案

  1. 下載 pscp.exe (32-bit) (64-bit)
  2. pscp.exe 放置到你想要的資料夾
  3. 打開 terminal 切換到 pscp.exe 位置

下載資料

#pscp \[options\] user@host:source target  
#pscp \[選項\] 使用者名稱@host ip或名稱:要下載檔案的位置 本機存儲的位置  
pscp jeremy@8.8.8.8:/home/user/picture.jpg c:/document/picture.jpg  

上傳資料

#pscp \[options\] target \[user@\]host:source  
#pscp 要上傳檔案的位置 \[選項\] 使用者名稱@host ip或名稱:遠端存儲的位置  
pscp C:/document/picture.jpg jeremy@8.8.8.8:/home/user/picture.jpg  

Reference

  1. 架設 Tor 的 Hidden Service
  2. Ubuntu Apache啟用虛擬多網站(VirtualHost)
  3. Apache2 上同時代管多個網站
  4. Apache禁止ip和非法域名訪問
  5. Apache安全設定
  6. IPTable