Vai al contenuto

Guida Completa alla Connessione Sicura al Server tramite VPN

La connessione a un server in modo sicuro tramite VPN è un modo efficace per garantire la privacy e la sicurezza dei dati durante il trasferimento di informazioni su una rete. Questa guida fornirà una panoramica esaustiva del processo, inclusa la creazione del tunneling tra client e server, l’utilizzo di certificati per l’autenticazione e la configurazione del server per accettare connessioni VPN sicure.

Creazione del Tunneling VPN

  1. Installazione del Software VPN: Prima di tutto, è necessario installare un software VPN sia sul client che sul server. OpenVPN è una scelta comune e affidabile.
  2. Configurazione del Server VPN: Sul server, si configura OpenVPN creando un file di configurazione (server.conf) e specificando i dettagli della rete, le impostazioni di sicurezza e le autorizzazioni degli utenti.
  3. Generazione dei Certificati: Si generano i certificati SSL/TLS per il server e i client, inclusi la chiave privata, il certificato pubblico e il certificato CA (Certificate Authority).
  4. Avvio del Server VPN: Il server viene avviato utilizzando il file di configurazione server.conf e i certificati generati.
  5. Connessione del Client: Sul client, si importano i certificati client e si connette al server VPN utilizzando il software VPN configurato.

Utilizzo del Tunneling VPN

Una volta che il tunnel VPN è stato creato, il client può comunicare in modo sicuro con il server attraverso la connessione VPN. Ecco alcuni esempi di utilizzo comune:

  • Accesso Remoto al Server: L’utente può accedere al server tramite SSH o altri protocolli sicuri utilizzando l’indirizzo IP interno del server assegnato dalla VPN.
  • Trasferimento Sicuro dei Dati: Tutti i dati scambiati tra client e server attraverso la VPN sono crittografati, garantendo la sicurezza e la privacy durante il trasferimento.
  • Gestione dei Servizi di Rete: L’amministratore di sistema può gestire i servizi di rete del server, come la configurazione del firewall o l’amministrazione del server Web, attraverso la connessione VPN in modo sicuro e protetto.

Creazione e Utilizzo dei Certificati

Per creare e utilizzare i certificati SSL/TLS per la connessione VPN, seguire questi passaggi:

  1. Creazione della Chiave Privata e del Certificato Pubblico: Utilizzare il comando openssl per generare la chiave privata e il certificato pubblico per il server e i client.
  2. Generazione del Certificato CA: Creare un certificato CA che verrà utilizzato per firmare i certificati del server e dei client.
  3. Configurazione del Server VPN: Configurare il server OpenVPN per utilizzare i certificati generati nella configurazione.
  4. Configurazione del Client VPN: Importare i certificati del client e configurare il software VPN sul client per utilizzarli per autenticarsi al server VPN.
  5. Caricamento dei Certificati sul Server: Copiare i file dei certificati (chiave privata, certificato pubblico e certificato CA) nelle directory appropriate sul server OpenVPN.

Entriamo nel dettaglio fornendo gli step da utilizzare.

Creazione del Tunneling VPN

1. Installazione del Software VPN

Per iniziare, è necessario installare il software OpenVPN sul server e sul client. Puoi scaricare OpenVPN dal sito ufficiale: OpenVPN Download

  • Server: Scarica e installa OpenVPN sul server utilizzando il pacchetto adatto al tuo sistema operativo (ad esempio, per Ubuntu/Debian: sudo apt-get install openvpn).
  • Client: Scarica e installa OpenVPN sul client seguendo le istruzioni di installazione appropriate per il tuo sistema operativo.

2. Configurazione del Server VPN

Crea una directory per i file di configurazione del server OpenVPN:

    sudo mkdir /etc/openvpn/server
    

    Copia il file di configurazione modello di OpenVPN nella directory appena creata:

    sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server/

    Apri il file di configurazione del server OpenVPN in un editor di testo:

    sudo nano /etc/openvpn/server/server.conf
    

    Modifica il file di configurazione secondo le tue esigenze:

    • Imposta l’indirizzo IP e la porta del server.
    • Specifica il protocollo VPN da utilizzare (UDP o TCP).
    • Configura le impostazioni di crittografia e autenticazione.
    • Imposta i percorsi per i file di certificati (chiave privata, certificato pubblico e certificato CA).
    • Salva e chiudi il file di configurazione.

    3. Generazione dei Certificati

    Crea una directory per i certificati:

      sudo mkdir /etc/openvpn/keys
      

      Genera i certificati utilizzando il tool Easy-RSA fornito con OpenVPN:

      sudo /usr/share/easy-rsa/easyrsa init-pki
      sudo /usr/share/easy-rsa/easyrsa build-ca
      sudo /usr/share/easy-rsa/easyrsa gen-req server
      sudo /usr/share/easy-rsa/easyrsa sign-req server server
      sudo /usr/share/easy-rsa/easyrsa gen-req client1
      sudo /usr/share/easy-rsa/easyrsa sign-req client client1
      

      I certificati verranno generati nella directory pki all’interno della directory Easy-RSA.

      4. Avvio del Server VPN

      Avvia il servizio OpenVPN utilizzando il file di configurazione del server:

        sudo systemctl start openvpn@server
        

        Verifica lo stato del servizio per assicurarti che sia in esecuzione correttamente:

        sudo systemctl status openvpn@server
        

        5. Connessione del Client VPN

        Una volta che hai generato i certificati sul server e li hai salvati nella directory appropriata, è necessario copiarli sul client per configurare correttamente la connessione VPN.

        Creazione della Directory sul Client: Prima di tutto, crea una directory sul client dove verranno memorizzati i certificati. Ad esempio, puoi creare una directory chiamata openvpn nella tua home directory:

          mkdir ~/openvpn
          

          Copia dei Certificati dal Server al Client: Utilizza il comando scp (Secure Copy Protocol) per copiare i file dei certificati dal server al client. Assicurati di sostituire username con il tuo nome utente del server e server_ip con l’indirizzo IP del server:

          scp username@server_ip:/etc/openvpn/keys/client1.crt ~/openvpn/
          scp username@server_ip:/etc/openvpn/keys/client1.key ~/openvpn/
          scp username@server_ip:/etc/openvpn/keys/ca.crt ~/openvpn/
          

          Copia del File di Configurazione del Client: Copia anche il file di configurazione del client (ad esempio, client.ovpn) dal server al client utilizzando lo stesso comando scp:

          scp username@server_ip:/etc/openvpn/client.ovpn ~/openvpn/

          Verifica dei Certificati Copiati: Verifica che i certificati e il file di configurazione siano stati correttamente copiati nella directory openvpn sul client:

          ls ~/openvpn
          

          Una volta che i certificati e il file di configurazione sono stati copiati sul client, puoi utilizzare il software OpenVPN per configurare la connessione VPN utilizzando i file appena copiati. Assicurati di configurare correttamente il software OpenVPN con i dettagli di connessione corretti (indirizzo IP del server, porta, protocollo, ecc.) e i file di certificati appropriati.

          Creazione e Utilizzo dei Certificati

          Passi da Seguire:

          • Inizializzazione della Directory PKI: Utilizzando il tool Easy-RSA fornito con OpenVPN, inizializza una directory per la Public Key Infrastructure (PKI) dove verranno memorizzati i certificati:
          sudo /usr/share/easy-rsa/easyrsa init-pki
          

          Creazione del Certificato CA (Certificate Authority): Genera un certificato CA che sarà utilizzato per firmare i certificati del server e dei client:

          sudo /usr/share/easy-rsa/easyrsa build-ca
          

          Generazione delle Chiavi e dei Certificati del Server: Genera una richiesta di firma di certificato (CSR) e firma il certificato con la chiave CA appena generata per il server:

          sudo /usr/share/easy-rsa/easyrsa gen-req server
          sudo /usr/share/easy-rsa/easyrsa sign-req server server
          

          Generazione delle Chiavi e dei Certificati dei Clienti: Genera una richiesta di firma di certificato (CSR) per ogni client desiderato e firma ciascuna richiesta con la chiave CA:

          sudo /usr/share/easy-rsa/easyrsa gen-req client1
          sudo /usr/share/easy-rsa/easyrsa sign-req client client1
          

          Comandi Utilizzati:

          • easyrsa init-pki: Inizializza una nuova directory per la PKI.
          • easyrsa build-ca: Crea un certificato CA (Certificate Authority).
          • easyrsa gen-req <name>: Genera una richiesta di firma di certificato (CSR) per il soggetto specificato.
          • easyrsa sign-req <type> <name>: Firma una richiesta di certificato (CSR) con la chiave CA. Il tipo può essere server o client.

          Utilizzo dei Certificati:

          Una volta che hai generato i certificati, utilizzali per configurare correttamente il server e i client OpenVPN:

          • Server: Copia il certificato del server (server.crt), la chiave privata (server.key) e il certificato CA (ca.crt) nella directory di configurazione del server OpenVPN e modifica il file di configurazione (server.conf) per puntare ai file corretti.
          • Client: Copia il certificato del client (client1.crt), la chiave privata (client1.key) e il certificato CA (ca.crt) sulla macchina client e utilizzali per configurare il client OpenVPN. Puoi includere anche un file di configurazione (client.ovpn) che punti ai file corretti.

          Seguendo questi passaggi e utilizzando correttamente i certificati generati, potrai creare una connessione VPN sicura e crittografata tra il server e i client OpenVPN. Assicurati di proteggere correttamente i certificati e di configurare il software OpenVPN in modo appropriato.