onion ドメインでサイトを構築してみた

  • 投稿者:
  • 投稿カテゴリー:security

onionドメインのサーバを建ててみたを参考に構築した。

Torのインストール

公式によるとDebian/Ubuntuパッケージはしばらくアップデートされていないため、利用しないほうがよいと記載されていた。
確かに最終更新日は、2018年3月と古かった。

root@tech:/home/ubuntu# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
# apt changelog tor
tor (0.3.2.10-1) unstable; urgency=medium

  * New upstream version.
    - Includes an important security fix for a remote crash attack against
      directory authorities.
      [TROVE-2018-001 and CVE-2018-0490]
    - Additionally, backports a fix for Tor#24700, which was originally
      fixed in 0.3.3.2-alpha but had its severity upgraded now as it can be
      remotely triggered and can crash relays.
      [TROVE-2018-002 and CVE-2018-0491]

 -- Peter Palfrader <weasel@debian.org>  Sat, 03 Mar 2018 14:37:34 +0100
...

公式の通りインストールした。

# echo 'deb https://deb.torproject.org/torproject.org bionic main' >> /etc/apt/sources.list.d/tor.list
# echo 'deb-src https://deb.torproject.org/torproject.org bionic main' >> /etc/apt/sources.list.d/tor.list
# curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
...
# gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -
# apt update
# apt install tor
...
# tor --version
Tor version 0.3.5.8.

Tor設定

# cp /etc/tor/torrc /etc/tor/torrc.default
# vi /etc/tor/torrc
...
# diff /etc/tor/torrc /etc/tor/torrc.default
71,72c71,72
< HiddenServiceDir /var/lib/tor/hidden_service/
< HiddenServicePort 80 127.0.0.1:80
---
> #HiddenServiceDir /var/lib/tor/hidden_service/
> #HiddenServicePort 80 127.0.0.1:80
# cat /var/lib/tor/hidden_service/hostname
u5bsgenv7mshtwmh6jbroelnajmxz3dfov6dpiktwrtazjafmzhszpad.onion

HiddenServicePortについてはTorで公開するポートを設定すると理解した。

Nginx設定

# mkdir /var/www/onion
root@tech:/home/ubuntu# echo "Hello Onion :)" | sudo tee /var/www/onion/index.html
Hello Onion :)
root@tech:/home/ubuntu# chown -R www-data:www-data /var/www/onion
# vi /etc/nginx/sites-available/u5bsgenv7mshtwmh6jbroelnajmxz3dfov6dpiktwrtazjafmzhszpad.onion
server {
    server_name u5bsgenv7mshtwmh6jbroelnajmxz3dfov6dpiktwrtazjafmzhszpad.onion;
    root /var/www/onion/;
}

# ln -s /etc/nginx/sites-available/u5bsgenv7mshtwmh6jbroelnajmxz3dfov6dpiktwrtazjafmzhszpad.onion /etc/nginx/sites-enabled/

# nginx -t
nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 64
nginx: configuration file /etc/nginx/nginx.conf test failed

# vi /etc/nginx/nginx.conf
  # 以下を追加する
  server_names_hash_bucket_size 128;

# systemctl restart nginx

Tor Browserにてアクセスすると、サイトが表示された。

参考

https://qiita.com/charichuma_hack/items/ba3fc74f73f1929ef50b
https://hackmd.io/s/HyxJs1A9W
https://medium.com/gyoza-x/tor-hidden-service-%E3%81%A7%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92%E5%85%AC%E9%96%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B-5eab0d968d10