Οι ιστοσελίδες στο darknet χρησιμοποιούν υπηρεσίες Tor που επιτρέπουν τη λειτουργία διαφόρων χαρακτηριστικών. Μέσω Tor μπορείτε να τρέξετε κάποιον web server, telnet, και πολλά άλλα εντός του δικτύου Tor.
Αυτό επιτρέπει στους χρήστες αλλά στους παρόχους υπηρεσιών να κρύβουν την ταυτότητα και τις τοποθεσίες τους.
Σχεδόν οτιδήποτε τρέχει στο κανονικό διαδίκτυο μπορεί να τρέξει και στο darknet ή deepweb.
Παρακάτω θα δούμε πως μπορούμε να στήσουμε ένα LEMP server σε ένα σύστημα που τρέχει Debian 10 Buster.
Ο όρος LEMP προέρχεται από τα ακρώνυμα Linux με nginx web server (προφέρεται engine-x, έτσι έχουμε το E) , MySQL database και PHP.
Ο οδηγός κυκλοφορεί μόνο για εκπαιδευτικό σκοπό.
Ξεκινάμε σε ένα πλήρες ενημερωμένο σύστημα που τρέχει Debian 10 Buster
sudo apt update && sudo apt upgrade -y
Table of Contents
Εγκατάσταση του Tor
Αρχικά θα εγκαταστήσουμε το πακέτο Tor πρέπει να εγκατασταθεί στο σύστημα. Tο Debian διαθέτει ένα πακέτο Tor στα αποθετήριά του, αλλά θα προσθέσουμε το επίσημο αποθετήριο του Tor για να μπορούμε να έχουμε την τελευταία έκδοση αμέσως μόλις κυκλοφορήσει.
Αρχικά, θα πειράξουμε το sources list έτσι ώστε το Debian να γνωρίζει τα επίσημα αποθετήρια του Tor.
sudo nano /etc/apt/sources.list
Στο κάτω μέρος του αρχείου, επικολλήστε τις δύο γραμμές και αποθηκεύστε:
deb http://deb.torproject.org/torproject.org buster main #deb-src http://deb.torproject.org/torproject.org buster main
Τώρα θα προσθέσουμε το κλειδί GPG του Tor Project που χρησιμοποιείται για την υπογραφή των πακέτων Tor. Αυτό θα βοηθήσει στην επαλήθευση των πακέτων ούτως ώστε να γνωρίζουμε ότι το λογισμικό που εγκαθιστούμε δεν έχει παραβιαστεί.
wget https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc
apt-key add <A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc
Ας μην αφήνουμε σκουπίδια:
rm -r A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc
Ώρα για την εγκατάσταση του Tor
apt-get update
apt-get install tor deb.torproject.org-keyring
Εγκατάσταση της PHP
Θα εγκαταστήσουμε τα dependencies και ένα repository που λέγεται Sury για την PHP 8.
sudo apt install apt-transport-https lsb-release ca-certificates wget curl -y
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Προσθήκη του GPG key (εξηγήσαμε παραπάνω το γιατί)
curl -sSL -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo apt update
Ας προχωρήσουμε με την εγκατάσταση της PHP
sudo apt install php8.0 php8.0-fpm php8.0-curl php8.0-mysqlnd php8.0-zip php8.0-mbstring php8.0-bcmath php8.0-gd php8.0-xml -y
Εγκατάσταση και ρύθμιση της MariaDB
sudo apt install -y software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
Προσθέτουμε το MariaDB repository
sudo add-apt-repository 'deb [arch=amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.4/debian buster main'
και κάνουμε την εγκατάσταση
sudo apt update
sudo apt install -y mariadb-server mariadb-client
Αν θέλετε ασφαλή εγκατάσταση του πακέτου τρέξτε την εντολή
sudo mysql_secure_installation
Θα δείτε τις παρακάτω ερωτήσεις, ακολουθήστε τις οδηγίες
Enter current password for root (enter for none): Enter Switch to unix_socket authentication [Y/n] N Change the root password? [Y/n] Y New password: δώστε νέο Password Re-enter new password: δώστε το πάλι Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Ρύθμιση στο hidden service
θα επεξεργαστούμε το torrc file:
sudo nano /etc/tor/torrc
Αν διαβάσετε γραμμή προς γραμμή αυτό το αρχείο θα πάτε για ύπνο, επομένως καλύτερα να γράψουμε από την αρχή μόνο αυτά που θέλουμε. Επικολλήστε τα παρακάτω πάνω στο υπάρχον περιεχόμενο στο αρχείο torrc:
Log notice file /var/log/tor/notices.log HiddenServiceDir /var/lib/tor/iguru/ HiddenServicePort 80 127.0.0.1:80 HiddenServicePort 81 127.0.0.1:81 HiddenServicePort 22 127.0.0.1:22
Αφού αποθηκεύσετε το αρχείο, δημιουργήσετε και αδειοδοτήσετε ένα αρχείο καταγραφής. Είμαστε έτοιμοι να επανεκκινήσουμε το Tor.
sudo touch /var/log/tor/notices.log
chown debian-tor:debian-tor /var/log/tor/notices.log
sudo service tor restart
Υπάρχει ένα αρχείο hostname στο /var/lib/tor/iguru/hostname που περιέχει το δημόσιο κλειδί της κρυφής υπηρεσίας (το και onion domain δημιουργείται τυχαία). Αυτό το δημόσιο κλειδί λειτουργεί σαν διεύθυνση .onion την οποία μπορούν να χρησιμοποιήσουν οι χρήστες στο δίκτυο Tor για να έχουν πρόσβαση στην υπηρεσία σας. Σημειώστε κάπου την διεύθυνση που θα δείτε με την παρακάτω εντολή:
sudo cat /var/lib/tor/iguru/hostname
Ρύθμιση στον Nginx web server
Πρώτα η εγκατάσταση
sudo apt-get install nginx
και
sudo mkdir -p /var/www/iguru/
Ας δημιουργήσουμε και ένα HTML:
sudo nano /var/www/iguru/index.html
Προσθέστε τα παρακάτω και αποθηκεύστε
iguru.gr tor
Ας δώσουμε τα απαραίτητα δικαιώματα
sudo chown -R www-data:www-data /var/www/iguru/
sudo chmod -R 755 /var/www
Μερικές ρυθμίσεις στο nginx
sudo nano /etc/nginx/sites-available/default
Στο block που ξεκινάει με server { θα δείτε μια γραμμή που αναφέρει listen 80 default_server;. Αλλάξτε αυτή την γραμμή με την παρακάτω:
listen localhost:80 default_server;
Στο block που αναφέρει server_name δώστε την παρακάτω ονομασία
server_name _;
Τώρα θα πειράξουμε το αρχείο Nginx configuration
sudo nano /etc/nginx/nginx.conf
Στο block που αρχίζει με http { δώστε τις παρακάτω επιλογές:
keepalive_timeout 300; server_names_hash_bucket_size 128; server_name_in_redirect off; server_tokens off; port_in_redirect off;
Τώρα θα πρέπει να δημιουργήσουμε ένα server block, ώστε το Nginx να γνωρίζει από ποιον κατάλογο θα δίνει περιεχόμενο όταν γίνεται πρόσβαση στην υπηρεσία μας. Χρησιμοποιώντας τον επεξεργαστή κειμένου μας, θα δημιουργήσουμε ένα νέο αρχείο server block:
sudo nano /etc/nginx/sites-available/iguru
Στο άδειο αρχείο προσθέστε τα παρακάτω (Μην ξεχάσετε να αλλάξετε την .onion διεύθυνση με την δική σας):
server { listen 127.0.0.1:80; server_name qwdygkwajtmhkytyuetwerkakrgkjnargpid.onion; error_log /var/log/nginx/iguru.error.log; access_log off; root /var/www/iguru; index index.php index.html index.htm; server_tokens off; location / { allow 127.0.0.1; deny all; try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php8.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Μετά την αποθήκευση θα κάνουμε ένα symbolic link και ένα restart στο Nginx:
sudo ln -s /etc/nginx/sites-available/iguru /etc/nginx/sites-enabled/iguru
sudo service nginx restart
Λογικά τώρα θα μπορείτε να δείτε το site σας μέσω του δικτύου Tor με την διεύθυνση .onion που έχετε σημειώσει.
Αν ενδιαφέρεστε μπορούμε να συνεχίσουμε με το δεύτερο μέρος, όπου θα εγκαταστήσουμε το phpMyAdmin και θα δημιουργήσουμε ένα onion domain που αρχίζει με τα γράμματα που επιθυμείτε (custom .onion address).
Φυσικά και ενδιαφερόμαστε! ;-)