Cvičení 5 KMI/BEPS Bezpečnost počítačových sítí

IPsec

OpenVPN z předchozího cvičení nepoužívá IPsec (je použito SSL/TLS). Nejprve je zapotřebí naistalovat podporu IPsec pomocí příkazu apt-get install ipsec-tools.

IPsec komunikace mezi dvěma uzly (manuální)

Upravíme soubor /etc/ipsec-tools.conf (popřípadě vytvoříme nový konfigurační soubor).

#!/sbin/setkey -f
flush;
spdflush;

# ESP SAs using 192 bit long keys (168 + 24 parity)
add 192.168.1.10 192.168.1.12 esp 0x201 -E 3des-cbc 0x012345678901234567890123456789012345678901234567;
add 192.168.1.10 192.168.1.12 esp 0x301 -E 3des-cbc 0x987654321098765432109876543210987654321098765432;

# Security policies
spdadd 192.168.1.10 192.168.1.12 any -P out ipsec 
esp/transport//require;
spdadd 192.168.1.12 192.168.1.10 any -P in ipsec
esp/transport//require;

Poslední hodnoty na řádcích představují klíče. Ty je možné vygenerovat například příkazem klic=`dd if=/dev/random count=48 bs=1| xxd -ps`. Klíče jsou vyměňovány automaticky pomocí Diffiho-Hellmanova schématu pro výměnu klíče.

Kromé módu ESP je možné využít mód AH.

Stejný konfigurační soubor vytvoříme na druhém počítači (jiné klíče), jen prohodíme řádky in a out. Následně restartujeme službu na obouch strojích příkazem /etc/init.d/setkey restart. Komunikaci otestujeme příkazem ping 192.168.1.12 a vypsáním SAD a SPD (setkey -D). Kromě transportního režimu můžeme nastavit i režim tunelovací.

Automatická konfigurace IPsec (racoon)

Nejprve je zapotřebí naistalovat balíček apt-get install racoon. Do souboru /etc/racoon/psk.txt přidáme záznam (IP adresa druhého stroje).

192.168.1.12 abcdef

Upravíme soubor /etc/racoon/racoon.conf

path pre_shared_key "/etc/racoon/psk.txt";

remote 192.168.1.12 {
        exchange_mode main,aggresive;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm md5;
                authentication_method pre_shared_key;
                dh_group modp1024;
        }
}

sainfo anonymous {
        pfs_group modp768;
	      lifetime time 1 hour;
        encryption_algorithm 3des, aes;
        authentication_algorithm hmac_md5, hmac_sha1;
        compression_algorithm deflate;
}

V konfiguračním souboru /etc/ipsec-tools.conf je třeba zakomentovat řádky add ... z manuální konfigurace. Soubor psk.txt a racoon.conf vytvoříme i na druhém PC (korektně nahradíme IP adresy). Provedeme restart služeb na všech PC /etc/init.d/racoon restart. Stejně jako u manuálního režimu, je možné použít i tunelový režim.

Tunelový režim

# Create policies for racoon
spdadd 10.0.0.1 10.0.0.2 any -P out ipsec
esp/tunnel/192.168.1.10-192.168.1.12/require;
spdadd 10.0.0.2 10.0.0.1 any -P in ipsec
esp/tunnel/192.168.1.12-192.168.1.10/require;

Přidělíme IP adresu tunelové síti.

ip addr add 10.0.0.1 dev eth1
ip route add to 10.0.0.2 via 10.0.0.1 src 10.0.0.1

Vytvoření IPsec VPN za použítí Openswan.

Úkoly

  1. Vytvořte IPsec spojení mezimezi sheep1 a wolf.

© Martin Trnečka