GNU/Linux >> Linux Esercitazione >  >> Panels >> Webmin

Tunnel SSL

In questa pagina sono documentati il ​​programma STunnel e il modulo Webmin per la sua configurazione.

Introduzione a SSL e STunnel

SSL è un protocollo per crittografare i dati in una connessione TCP mentre viaggia sulla rete. È stato originariamente sviluppato per proteggere il traffico tra browser Web e server, ma può essere utilizzato per crittografare qualsiasi tipo di flusso di dati che verrebbe normalmente inviato tramite il protocollo TCP.

Il protocollo SSL consente a client e server di autenticarsi reciprocamente, in modo che un client possa essere sicuro che si stia davvero connettendo all'host che crede di essere. Questo viene fatto utilizzando certificati emessi da un'autorità di certificazione riconosciuta dal client (in modo che possano essere verificati) e associati a un particolare nome host. Senza certificati, un utente malintenzionato potrebbe reindirizzare una connessione SSL al proprio server e acquisire informazioni sensibili da un client che pensa di parlare con il server reale.

Tutti i dati che viaggiano su Internet non crittografati possono essere acquisiti e letti da un utente malintenzionato con accesso a una delle reti che attraversa. Anche i dati che viaggiano tra un client e un sistema server su una LAN possono essere facilmente ascoltati. Quando ti connetti a un server telnet, FTP o POP3, la tua password viene inviata sulla rete e quindi può essere catturata da un utente malintenzionato.

SSL può essere utilizzato per proteggere i dati in questo tipo di situazioni, ma solo se sia il client che il server lo supportano. La maggior parte dei browser Web e dei client di posta può effettuare connessioni HTTP, POP3 e IMAP con crittografia SSL, ma non tutti i server Web e POP3 possono accettarle. POP3 in particolare è difficile da proteggere, perché il server standard fornito con la maggior parte dei sistemi Unix non supporta affatto SSL. Fortunatamente però c'è una soluzione:STunnel.

STunnel è un semplice programma che converte una connessione non crittografata in una crittografata SSL. In genere è impostato per essere eseguito da un super server come inetd o xinetd, quindi eseguire un altro programma come il server POP3 che non supporta SSL. Questo design gli consente di proteggere qualsiasi server normalmente eseguito da inetd, come i server telnet, NNTP e IMAP.

Tuttavia, non tutti i server possono essere protetti in modo utile con la crittografia, poiché non esiste alcun client per utilizzarli in modalità SSL. Ad esempio, non ho mai sentito parlare di un client telnet o FTP in grado di utilizzare SSL, perché il pacchetto SSH comune consente già accessi remoti crittografati e trasferimenti di file.

Il modulo Tunnel SSL

Questo modulo Webmin semplifica la configurazione di servizi super server che eseguono STunnel per avviare alcuni programmi server. Anche se questo può essere fatto manualmente usando il modulo Servizi Internet (trattato nel capitolo 15), questo è specificamente progettato per impostare e configurare STunnel. Rileva automaticamente se hai installato inetd e/o xinetd, legge le loro configurazioni per verificare la presenza di tunnel SSL esistenti e li aggiunge quando crei un nuovo tunnel. Se entrambi sono installati, alla configurazione di xinetd vengono aggiunti nuovi tunnel SSL in quanto secondo me è il superiore dei due.

Il modulo può essere trovato in Webmin nella categoria Networking nel menu principale. Quando si fa clic sulla sua icona verrà visualizzata una pagina come quella mostrata di seguito, che elenca tutti i tunnel esistenti. Nella parte inferiore della pagina c'è un pulsante con l'etichetta Applica modifiche che una volta cliccato riavvia inetd o xinetd, rendendo così attiva la configurazione corrente.


Il modulo Tunnel SSL

Se il programma non può essere trovato sul tuo server, verrà invece visualizzato un messaggio di errore come *Il comando STunnel /usr/bin/stunnel non è stato trovato sul tuo sistema*. Questo può indicare che non è installato o che il modulo sta cercando nella directory sbagliata il comando stunnel. In quest'ultimo caso è possibile modificare la configurazione del modulo, come spiegato nella sezione *Configurazione del modulo Tunnel SSL* più avanti nella pagina.

Tuttavia, se il programma non è davvero installato, controlla il CD del tuo sistema operativo o il sito Web per vedere se esiste un pacchetto per STunnel. In tal caso, puoi installarlo utilizzando il modulo Pacchetti software. Altrimenti dovrai scaricare il codice sorgente da www.stunnel.org, compilarlo e installarlo.

Creazione e modifica di tunnel SSL

Se vuoi proteggere alcuni servizi con la crittografia SSL dovrai creare un nuovo tunnel SSL. È possibile creare due diversi tipi di tunnel:uno che esegue un processo server come fa inetd, o uno che si connette a un altro host e porta in modalità non SSL. Quest'ultimo è più semplice se hai già il server in esecuzione in modalità non crittografata, ma sarà leggermente più lento a causa della necessità di effettuare una connessione di rete aggiuntiva.

Prima di poter creare un tunnel, devi decidere un numero di porta da utilizzare. Per alcuni protocolli esiste un numero di porta standard, ad esempio 995 viene spesso utilizzato per POP3 crittografato e 993 viene utilizzato per IMAP crittografato. Ovviamente, il numero di porta che scegli non deve essere utilizzato da nessun altro servizio o server inetd sul tuo sistema.

I passaggi da seguire per creare un tunnel sono :

  1. Nella pagina principale del modulo, fai clic su Aggiungi un nuovo tunnel SSL link sopra o sotto la tabella dei tunnel esistenti. Il modulo di creazione mostrato nella Figura 46-2 verrà visualizzato nel browser.
  2. Nel Nome del servizio inserire un nome univoco per il servizio inetd di questo tunnel, ad esempio ssl-pop3 .
  3. Nella porta TCP immettere il numero di porta su cui il tunnel deve accettare le connessioni, ad esempio 993 .
  4. A meno che non si desideri disattivare temporaneamente il tunnel, impostare Attivo? campo su .
  5. Se questo tunnel deve eseguire un programma come un server POP3, seleziona Esegui programma in stile inetd opzione. Nel Percorso da programmare immettere il percorso completo del server, ad esempio /usr/sbin/ipop3d . In con argomenti campo immettere il nome del programma seguito da qualsiasi argomento della riga di comando, come ipop3d . Come per i servizi creati nel modulo Servizi e protocolli Internet, è necessario includere il nome del programma come primo argomento.
  6. In alternativa, se questo tunnel deve connettersi a un server esistente, seleziona Connetti a host remoto opzione. Quindi inserisci l'host a cui connetterti (come localhost ) e il numero di porta da utilizzare (come 110 ) nel *Nome host remoto e nella *Porta remota rispettivamente i campi.
  7. Il certificato SSL e file chiave campo determina quale certificato SSL verrà presentato ai client per questa connessione. Se hai generato il tuo certificato autofirmato o reale con il comando openssl, seleziona Usa certificato nel file opzione e immettere il percorso completo del file nella casella di testo adiacente. Altrimenti puoi scegliere Usa il certificato di Webmin per utilizzare lo stesso certificato utilizzato da Webmin in modalità SSL o *Compiled-in default* per utilizzare il certificato fornito con il software STunnel. Se generi il tuo certificato, assicurati che il file contenga sia la chiave privata che il certificato in formato PEM.
  8. Quando ci si connette a un host remoto, STunnel può essere configurato per comportarsi in modo opposto al normale. Invece di accettare una connessione SSL e decrittografarla, puoi invece scegliere di accettare una connessione normale e crittografarla per la connessione a un server compatibile con SSL diverso. Questa modalità può essere abilitata selezionando Accetta normale e connettiti con SSL nel campo *Modalità tunnel*. Può essere utile se né i tuoi programmi client né quelli del server supportano SSL, ma desideri comunque che i dati tra di loro vengano crittografati. STunnel può essere impostato sul sistema client in questa modalità, configurato per connettersi a un altro servizio STunnel sul sistema server che utilizza la modalità *Accetta SSL e si connette normalmente*.
  9. Premi Crea pulsante in fondo alla pagina per aggiungere il nuovo servizio.
  10. Dopo essere stati riportati alla pagina principale del modulo, fare clic su Applica modifiche per rendere attivo il nuovo tunnel.


Il modulo di creazione del tunnel SSL

Tutti i dettagli di un tunnel esistente possono essere modificati cliccando sul suo nome nell'elenco nella pagina principale del modulo. Verrà visualizzato un modulo di modifica simile a quello della Figura 46-2, ma con tutti i campi già compilati. Puoi apportare modifiche e premere Salva per registrarli, oppure fai clic su Elimina per rimuovere completamente il tunnel. In ogni caso, Applica modifiche è necessario fare clic sul pulsante nella pagina principale per rendere attive le modifiche.


Webmin
  1. Jabber IM Server

  2. Server database PostgreSQL

  3. Server ProFTPD

  4. Server proxy calamari

  5. Server WU-FTPD

Server OpenSLP

Server di posta Postfix

Server SSH

Risoluzione dei problemi:errori di connessione al server

Installa certificati SSL in un server Windows

Come eseguire un trasferimento SSL da Tomcat a Tomcat su CentOS