Mạng Tor là một phần mềm mang tính cách mạng. Với một chương trình duy nhất, giờ đây có thể duyệt và xem web ẩn danh. Điều này làm cho Tor trở thành một công cụ thiết yếu cho những người dùng muốn bảo vệ quyền riêng tư của họ khi duyệt một trang web. Việc có thể sử dụng Tor để host một web server cục bộ trực tuyến làm cho nó cực kỳ hữu ích cho những người dùng có ý thức về quyền riêng tư, muốn chia sẻ thông tin công khai mà không tiết lộ bản thân.
Yêu cầu
Trước khi bạn có thể cài đặt cả Nginx và Tor, cần đảm bảo rằng bạn có sẵn các tài nguyên sau:
- Kết nối Internet không hạn chế Tor đối với cả yêu cầu đến và đi. Điều này cho phép bạn quảng bá trang web của mình thông qua mạng Tor.
- Một máy có thể xử lý trang web bạn đang host. Trong hầu hết các trường hợp, máy tính để bàn lõi kép với RAM 4GB là đủ cho một trang web cơ bản.
- Quyền truy cập root vào máy host, vì việc cấu hình Tor yêu cầu bạn truy cập các file hệ thống.
Hình ảnh dưới đây cho thấy cách host trang web chỉ dành cho Nginx Tor trên máy Ubuntu 22.04 LTS.
Cài đặt Nginx và Tor
Mở một terminal. Nhập lệnh sau để cài đặt Nginx và Tor:
sudo apt install nginx tor wget
Cấu hình tường lửa
Khi đã cài đặt cả hai gói trong hệ thống, bạn có thể bảo mật máy chủ của mình bằng cách cấu hình tường lửa để chỉ chấp nhận các kết nối đến từ mạng Tor bằng cách nhập những lệnh sau trong terminal:
sudo iptables -I INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport 9050 -j ACCEPT
Hai lệnh đầu tiên mở cả cổng HTTP và HTTPS trong hệ thống, trong khi lệnh cuối cùng mở cổng SOCKS cho mạng Tor. Cách tiếp cận này đảm bảo rằng Tor sẽ có thể chuyển hướng chính xác bất kỳ lưu lượng truy cập nào đến máy của bạn.
Tạo một Tor service cho website
Tiếp theo, bạn cần tạo một mục nhập service ẩn cho web server của mình. Đây là cấu hình dành riêng cho service sẽ cho phép bạn phát trong mạng Tor.
Đầu tiên, chuyển sang tài khoản root của bạn. Bạn có thể làm điều đó bằng cách chạy lệnh sau:
sudo -i
Khi bạn đã ở trong thư mục root, hãy tạo service ẩn của mình bằng cách chỉnh sửa file “/etc/tor/torrc”. Ví dụ đang mở file này thông qua GNU Nano.
nano /etc/tor/torrc
Tìm phần “location-hidden services” bằng cách nhấn Ctrl + W, sau đó nhập “location-hidden”.
Bạn sẽ thấy một vài ví dụ minh họa cách tạo Tor service ẩn của riêng bạn. Tuy nhiên, đối với hầu hết các phần, bạn chỉ cần đặt hai tùy chọn: HiddenServiceDir và HiddenServicePort.
Tùy chọn HiddenServiceDir cho Tor biết nơi lưu các file cấu hình cho service ẩn của bạn. Tùy chọn HiddenServicePort cho Tor biết nó nên chuyển hướng bất kỳ yêu cầu nào đến service ẩn của bạn ra sao.
Các dòng code sau sẽ tạo một service ẩn mới cho web service của bạn:
HiddenServiceDir /var/lib/tor/nginx-tor-service/
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 443 127.0.0.1:443
Load lại Tor daemon để áp dụng cài đặt mới của bạn bằng cách chạy các lệnh sau:
systemctl enable tor
systemctl restart tor
Tạo một trang web đơn giản bằng Nginx
Sau khi Tor service ẩn được thiết lập và chạy, hãy bắt đầu thiết lập web service của bạn. Tạo một file cấu hình mới thông qua lệnh touch:
sudo touch /etc/nginx/sites-available/nginx-tor-service
Chỉnh sửa file cấu hình Nginx mới của bạn dưới dạng web server cơ bản. Ví dụ, khối code sau sẽ triển khai một web server đơn giản tại cổng 80:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name 4tth4kzmipldb5elklravakdwlnte3ck6m5ahl73nfbe6ni67zmyvxyd.onion;
location / {
try_files $uri $uri/ =404;
}
}
- Hai biến listen đặt cả cổng và host mà cấu hình máy chủ này sẽ lắng nghe. Trong trường hợp này, Nginx lắng nghe ở cổng 80 trên cả IPv4 và IPv6.
- Biến root đặt vị trí mà Nginx sẽ tìm kiếm các file trên web server của bạn.
- Biến server_name chứa tên miền của server. Tìm nó bằng cách chạy sudo less /var/lib/tor/nginx-tor-service/hostname.
- Biến location chứa các chức năng về cách Nginx xử lý những file trong thư mục root của trang web. Trong ví dụ này, nó thiết lậpt lỗi 404 cho bất kỳ file nào bị thiếu.
Tạo một liên kết tượng trưng cho file cấu hình mới của bạn tới “/etc/nginx/sites-enabled.”
sudo ln -s /etc/nginx/sites-available/nginx-tor-service /etc/nginx/sites-enabled/
Cuối cùng, kích hoạt trang web mới của bạn bằng cách khởi động lại Nginx:
sudo systemctl enable nginx
sudo systemctl restart nginx
Truy cập trang web qua Tor
Khi cả Tor và Nginx được thiết lập và chạy, hãy kiểm tra xem trang web của bạn có thể truy cập được từ mạng Tor hay không. Trước tiên, hãy tải xuống file nhị phân trình duyệt Tor mới nhất:
wget https://www.torproject.org/dist/torbrowser/11.5.7/tor-browser-linux64-11.5.7_en-US.tar.xz
Giải nén các file của trình duyệt trong thư mục hiện tại bằng cách chạy lệnh sau:
tar xvf ./tor-browser-linux64-11.5.7_en-US.tar.xz
cd ./tor-browser_en-US
Ngoài ra, hãy đảm bảo rằng file nhị phân của trình duyệt Tor có các bit thực thi phù hợp:
sudo chmod +x ./start-tor-browser.desktop
Chạy và cài đặt Tor Browser trên máy của bạn bằng cách chạy lệnh sau:
./start-tor-browser.desktop --register-app
Cuối cùng, duyệt đến trang web Tor mới của bạn bằng cách nhập tên miền của nó vào thanh địa chỉ.