4.2 SSL (Secure Socket Layout)

Partendo dal presupposto che nella macchina cui ospita il nostro server ircd sia installato ( va benissimo anche una installazione di default ) OpenSSL. Possiamo procedere direttamente alla modifica del file ircd.conf purchè al momento della configurazione non sia stato disabilitato il servizio SSL del demone ircd.

Modifiche da effettuare nel file ircd.conf

Prima di tutto posizionarsi nella directory etc e rinominare il file example-it.conf

     % cd /usr/local/ircd/etc       
     % mv example-it.conf ircd.conf

Appena Abbiamo spostato il nostro ircd.conf dobbiamo editarlo nel blocco delle connessioni per permettere all'ircd-hybrid di ricevere ed effettuare connessioni SSL:

     flags = hidden, ssl;                  
     host = "2002:7F00:0001:0000:0000:0000:0000";                  
     port = 9999;

L'unica modica al blocco delle connessioni fra una connessione normale e una connessione ssl è il parametro " flags = hidden, ssl; ".

Il passo successivo da eseguire sempre nell'ircd.conf dobbiamo modificare il seguente blocco:

    /*   
     * serverinfo {}: Contiene le informazioni riguardanti al server IRC. (Vecchio M:)   
     */     serverinfo {                          
            name = "irc.ircd-hybrid.it";                 
            sid = "1AB";                 
            description = "IPv6 Server - www.ircd-hybrid.it";                 
            network_name = "HybridNET-it";                 
            network_desc = "Italian Support Hybrid Network";                 
            hub = no;                 
            vhost = "192.168.1.250";                 
            vhost6 = "3ffe:80e8:546::2";                 
            max_clients = 512;                 
     /*                  
      * Decommnentare questi due parametrei che permettono l'utilizzo                   
      * di una chiave ler per le connessioni ssl                   
      */                       
            rsa_private_key_file = "/usr/local/ircd/etc/rsa.key";                  
            ssl_certificate_file = "/usr/local/ircd/etc/cert.pem";    
            };

Settata questo blocco il nostro demone è pronto a supportare il protocollo SSL non ci rimane che generare le chiavi per la connessione nel seguente modo, non ci rimane che entrare nella directory specificata sul nostro ircd.conf piu precisamente /usr/local/ircd/etc/ e generare le chiavi.

      %cd /usr/local/ircd/etc

Generiamo le chiavi che permettono al server di connettersi su SSL:

     % openssl genrsa -out rsa.key 2048       
     % openssl rsa -in rsa.key -pubout -out rsa.pub
     % openssl req -new -days 365 -x509 -key rsa.key -out cert.pem

Bash script da copiare in 'cert' e dare il comando '$ chmod 777 cert'

#!/bin/sh
# $Id file: cert
# Script di generazione del certificato SSL
# STEP:
# 1. cd /patch-ircd/etc/
# 2. nano cert
# 3. chmod 777 cert
# 4. ./cert 

echo "Generazione certificato SSL in corso :-)" 
openssl genrsa -out rsa.key 2048 
openssl rsa -in rsa.key -pubout -out rsa.pub
openssl req -new -days 365 -x509 -key rsa.key -out cert.pem
echo "Certificato generato, premere un tasto per uscire"

Oppure scaricalo direttamente da qui :-) ( download )

Perfetto, ora non ci resta che avviare il nostro "ircd" ed connettiamoci sulla porta 9999 del nostro server in IPv6 ed il gioco è fatto, proviamo a connetterci con un client che supporto IPv6 ( irssi andrà benissimo per la console ) e colleghiamoci a:

     /server --ssl 2002:7F00:0001:0000:0000:0000:0000 9999 (o il parametro SSL)


Questo, ed altri documenti, possono essere scaricati da http://doc.ircd-hybrid.it.

Per domande su ircd-hyrbid, leggi la documentazione prima di contattare <doc@ircd-hybrid.it>.
Per domande su questa documentazione, invia una e-mail a <doc@ircd-hybrid.it>.