Vai al contenuto
Home » 🧭 Howto – Guide Tecniche per Tor, Privacy e Sicurezza » 🛒 Progetto Marketplace su Hidden Service .onion » 🧩 Installazione WordPress, PHP, MariaDB, Sicurezza WP – Parte 2

🧩 Installazione WordPress, PHP, MariaDB, Sicurezza WP – Parte 2

🔐 Setup e messa in sicurezza base di WordPress su Hidden Service

In questa seconda parte della guida affronteremo la configurazione sicura di WordPress come Hidden Service .onion, destinata a contesti ad alta riservatezza come marketplace o piattaforme anonime nel Dark Web. Verrà allestita un’infrastruttura isolata e accessibile esclusivamente tramite la rete Tor, con PHP e MariaDB ottimizzati per garantire massima affidabilità e sicurezza. Questo ambiente rappresenterà le fondamenta operative su cui costruire, nella Parte 3, sistemi di cifratura avanzati e pagamenti in criptovalute.

Questa guida è pensata per offrire una base tecnica solida a chi desidera configurare in autonomia un’infrastruttura sicura e anonima. Per esigenze più complesse, personalizzazioni avanzate o supporto tecnico dedicato, offro servizi IT su misura: non esitare a contattarmi per una consulenza professionale.

⚠️ Nessun dato utente verrà raccolto o gestito finché la crittografia dei dati non sarà implementata nella prossima fase.

Nota tecnica: il sito sarà raggiungibile solo da Tor Browser tramite indirizzo .onion. Non è necessario alcun certificato SSL, poiché la rete Tor garantisce già una cifratura end-to-end del traffico.

🔧 1. Moduli PHP aggiuntivi richiesti

PHP e i moduli principali sono già stati installati nella Parte 1 della guida. Restano da installare solo i seguenti moduli aggiuntivi:

apt install -y php-soap php-intl

🔧 2. Ottimizzare la configurazione PHP (php.ini)

Modifica il file /etc/php/8.2/fpm/php.ini per ottimizzare le performance:

memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M
max_execution_time = 300
expose_php = Off
display_errors = Off
log_errors = On

Riavvia il servizio PHP-FPM:

systemctl restart php8.2-fpm

🔧 3. Installare e mettere in sicurezza MariaDB

Installa MariaDB:

apt install -y mariadb-server
mysql_secure_installation

Durante la procedura guidata:

  • Imposta la password di root
  • Elimina gli utenti anonimi
  • Disattiva l’accesso remoto per root
  • Rimuovi il database di test

🔧 4. Creare il database e utente WordPress

🔐 Genera una password sicura per l’utente MySQL

openssl rand -base64 32

Esempio:

}F7wZqGpX3A!v#MEjR&2u@QxLpTDz94f

Accedi a MariaDB:

mysql -u root -p

Crea database e utente:

CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_secure_34pX'@'localhost' IDENTIFIED BY '}F7wZqGpX3A!v#MEjR&2u@QxLpTDz94f';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_secure_34pX'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Configura MariaDB per maggiore sicurezza e prestazioni:

Modifica /etc/mysql/mariadb.conf.d/50-server.cnf:

bind-address = 127.0.0.1
skip-name-resolve
slow_query_log = 1
long_query_time = 2

Riavvia MariaDB:

systemctl restart mariadb

🔧 5. Scaricare e installare WordPress

🧹 Rimuovi eventuali file di test:

rm -f /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/index.php

📥 Scarica e installa WordPress:

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
mv wordpress/* /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/
rmdir wordpress
chown -R www-data:www-data /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion
chmod -R 755 /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion

🔧 6. Configurare wp-config.php

Copia il file di configurazione di esempio:

cp /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/wp-config-sample.php /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/wp-config.php

Inserisci le credenziali:

define('DB_NAME', 'wordpress_db');
define('DB_USER', 'wp_secure_34pX');
define('DB_PASSWORD', '}F7wZqGpX3A!v#MEjR&2u@QxLpTDz94f');
define('DB_HOST', 'localhost');

Aggiungi i salts di sicurezza da: WordPress Salt Generator

Aggiungi le costanti di sicurezza:

define('DISALLOW_FILE_EDIT', true);
define('FORCE_SSL_ADMIN', false);
define('AUTOMATIC_UPDATER_DISABLED', true);
define('WP_HOME', 'http://mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion');
define('WP_SITEURL', 'http://mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion');
// $_SERVER['HTTPS'] = 'on';

🔧 7. Impostare i permessi corretti

find /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/ -type d -exec chmod 755 {} \;
find /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/ -type f -exec chmod 644 {} \;

🔧 8. Protezione temporanea con HTTP Auth

🔒 Genera una password sicura

openssl rand -base64 24

Esempio:

#Jc7nGq!9@WfL2zV$ePqBmRu

🧑‍💻 Crea utente HTTP basic:

apt install apache2-utils
htpasswd -c /etc/nginx/.htpasswd dev_user_X8fR

🛠️ Modifica file vhost

Sostituisci il contenuto di /etc/nginx/sites-available/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion con la seguente configurazione aggiornata:

limit_req_zone $binary_remote_addr zone=all:10m rate=10r/s;
include /etc/nginx/blockuseragents.rules;

server {
    listen 127.0.0.1:27484;
    server_name mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion;
    port_in_redirect off;
    allow 127.0.0.1;
    deny all;

    if ($blockedagent) { return 403; }
    if ($request_method !~ ^(GET|HEAD|POST)$) { return 444; }

    root /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion;
    index index.html index.php;

    access_log /var/log/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion_vhost/access.log;
    error_log  /var/log/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion_vhost/error.log error;

    location / {
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
        try_files $uri $uri/ /index.php?$args;
        limit_req zone=all burst=10;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Riavvia NGINX:

systemctl reload nginx

🌐 9. Installazione WordPress su Hidden Service Tor

Per avviare la procedura di installazione, è necessario accedere al sito tramite Tor Browser, poiché l’istanza è disponibile solo tramite Hidden Service .onion. L’accesso sarà protetto da credenziali HTTP Basic (username e password creati precedentemente con htpasswd).

🛡️ 10. Plugin di sicurezza WordPress per ambienti .onion

Dopo aver completato l’installazione guidata di WordPress, accedi al pannello admin e installa i seguenti plugin di sicurezza:

  • Disable XML-RPC
  • Limit Login Attempts Reloaded
  • WP Hide & Security Enhancer (opzionale)

Evita plugin non essenziali per ridurre la superficie d’attacco.

🚫 Non creare utenti reali fino a che non saranno implementate la cifratura e le protezioni della Parte 3.