[Deep Web] Setup Onion service

Trong bài tuts này sẽ hướng dẫn các bạn thực hành setup onion service và access resource sử dụng Tor browser. Tor là một dịch vụ ẩn danh mà ở đó bạn có thể truy cập các resources một cách an toàn vì nó che giấu bạn là ai và đến từ đâu, nó cũng ẩn danh bạn với người dùng Tor khác. Tor browser cũng như bao browser khác như Chrome, Firefox, nhưng nó sẽ kết nối đến lớp mạng Tor.

I. Download Tor browser

Access url sau: https://www.torproject.org/download/

Chọn đúng platform, mình xài Ubuntu nên sẽ chọn “Download for Linux”

Giải nén, grant quyền execute vào chạy file ./start-tor-browser.desktop

Done 🙂

II. Setup Union service

Trên Server (ở đây mình cũng dùng Ubuntu server 22.04 LTS), cài đặt apt transport

apt install apt-transport-tor -y

Bước tiếp theo, check distribution của version Ubuntu hiện tại (của mình là Jammy)

lsb_release -c

Codename:	jammy

và thay thế vào đoạn Distribution sau:

cat <<EOF > /etc/apt/sources.list.d/tor.list

deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org jammy main
deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org jammy main

EOF

wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null

apt update
apt install tor deb.torproject.org-keyring
systemctl start tor && systemctl enable tor

Cài đặt Nginx:

apt install nginx
systemctl start nginx && systemctl enable nginx

mở file và thêm vào cuối: vim /etc/tor/torrc

HiddenServiceDir /var/lib/tor/tritest
#HiddenServicePort 80 unix:/var/run/tor/tritest.sock
HiddenServicePort 80 127.0.0.1:80

Restart lại tor, nó sẽ tạo ra một folder tại /var/lib/tor/tritest, bạn sẽ lấy được url từ onion domain service tại file hostname trong này:

cat /var/lib/tor/tritest/hostname 
tritest2wo3gnluc7nunahocs6sbiziarpi3dxehb6mlspkelyr6sad.onion

Thêm nội dung vào file tĩnh

echo “This tor configuration is working as expected from TN team” > /usr/share/nginx/html/index.html

mở file nginx, sửa lại config sau:

vim /etc/nginx/sites-available/default
server {
        listen 127.0.0.1:80;
        root /usr/share/nginx/html;
        server_name tritest2wo3gnluc7nunahocs6sbiziarpi3dxehb6mlspkelyr6sad.onion;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                #try_files $uri $uri/ =404;
                try_files $uri /index.html;
        }

Reload lại Nginx

nginx -t && nginx -s reload

Quay lại browser Tor, paste domain name lấy từ tor ra, bạn nên thấy được trang web tĩnh mình tạo.

Vậy là xong.

P/s: Reference at:

https://support.torproject.org/apt/

https://www.torproject.org/download/