IPsec può essere configurato per collegare un desktop o una workstation ad un'altra, grazie ad un collegamento host-to-host. Questo tipo di collegamento usa la rete alla quale ogni host è collegato per creare un tunnel sicuro tra gli stessi host. I requisiti per un collegamento host-to-host sono minimi, in quanto sono rappresentati dalla configurazione di IPsec su ogni host. Gli host hanno bisogno solo di un collegamento apposito ad una rete portante (come ad esempio Internet) e Red Hat Enterprise Linux per creare il collegamento IPsec.
La prima fase per creare un collegamento è rappresentata dalla raccolta delle informazioni del sistema e della rete da ogni workstation. Per un collegamento host-to-host, avete bisogno delle seguenti informazioni:
L'indirizzo IP per entrambi gli host
Un nome unico per identificare il collegamento IPsec e distinguerlo da altri dispositivi o collegamenti (per esempio, ipsec0)
Una chiave di cifratura fissa o una generata automaticamente da racoon
Una chiave di autenticazione pre-condivisa, usata per iniziare il collegamento e scambiare le chiavi di cifratura durante la sessione
Per esempio, supponiamo che la workstation A e la workstation B vogliono collegarsi tra di loro tramite un tunnel IPsec. Le suddette workstation desiderano collegarsi usando una chiave pre-condivisa con il valore foobarbaz e gli utenti vogliono che racoon venga generato automaticamente e condividere anche una chiave di autenticazione tra ogni host. Entrambi gli utenti host decidono di chiamare i loro collegamenti ipsec0.
Il seguente rappresenta un file ifcfg per il collegamento IPsec host-to-host per la workstation A. Il nome unico per identificare il collegamento in questo esempio è ipsec0, così il file risultante viene chiamato /etc/sysconfig/network-scripts/ifcfg-ipsec0.
DST=X.X.X.X TYPE=IPsec ONBOOT=yes IKE_METHOD=PSK |
La workstation A sostituirà X.X.X.X con l'indirizzo IP della workstation B, mentre la workstation B sostituirà X.X.X.X con l'indirizzo IP della workstation A. Il collegamento viene impostato per iniziare al momento dell'avvio (ONBOOT=yes), e usa il metodo della chiave pre-condivisa per l'autenticazione (IKE_METHOD=PSK).
Il seguente è il file della chiave pre-condivisa (chiamato /etc/sysconfig/network-scripts/keys-ipsec0) che entrambe le workstation usano per la loro autenticazione. Il contenuto di questo file dovrebbe essere identico ad entrambe le workstation e solo l'utente root dovrebbe essere in grado di leggere e scrivere questo file.
IKE_PSK=foobarbaz |
![]() | Importante | |
---|---|---|
Per cambiare il file keys-ipsec0 in modo che solo l'utente root lo possa leggere o modificare, eseguire il seguente comando dopo aver creato il file:
|
Per cambiare la chiave di autenticazione in qualsiasi momento, modificare il file keys-ipsec0 su entrambe le workstation. Entrambe le chiavi devono essere identiche per una connessione corretta.
Il file /etc/racoon/racoon.conf deve essere identico ad eccezione della seguente istruzione include "/etc/racoon/X.X.X.X.conf". Questa istruzione (e il file al quale si riferisce) viene generata quando viene attivato il tunnel IPsec. Per la workstation A, X.X.X.X nell'istruzione include è l'indirizzo IP della workstation B e viceversa. Quanto segue mostra un file racoon.conf tipico quando si attiva il collegamento IPsec.
# Racoon IKE daemon configuration file. # See 'man racoon.conf' for a description of the format and entries. path include "/etc/racoon"; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; sainfo anonymous { pfs_group 2; lifetime time 1 hour ; encryption_algorithm 3des, blowfish 448, rijndael ; authentication_algorithm hmac_sha1, hmac_md5 ; compression_algorithm deflate ; } include "/etc/racoon/X.X.X.X.conf" |
Per iniziare il collegamento, potete riavviare la workstation o eseguire il seguente comando come root su ogni host:
/sbin/ifup ipsec0 |
Per testare il collegamento IPsec, eseguire la utility tcpdump, in modo da visualizzare il trasferimento dei pacchetti della rete tra gli host (o tra le reti), e verificare che essi vengano cifrati tramite IPsec. Il pacchetto dovrebbe includere un testo AH e dovrebbe essere visualizzato come pacchetti ESP. ESP significa che è stato cifrato. Per esempio:
17:13:20.617872 pinky.example.com > ijin.example.com: \ AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF) |