From 003e480a1eff804e6cfabfed013aeee6da2e4e92 Mon Sep 17 00:00:00 2001 From: jdubois Date: Tue, 30 Aug 2022 12:03:38 +0200 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoOpenBSD/sasyncd.md | 88 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 HowtoOpenBSD/sasyncd.md diff --git a/HowtoOpenBSD/sasyncd.md b/HowtoOpenBSD/sasyncd.md new file mode 100644 index 00000000..a049dec0 --- /dev/null +++ b/HowtoOpenBSD/sasyncd.md @@ -0,0 +1,88 @@ +--- +categories: openbsd network vpn ipsec isakmpd iked +title: Howto sasyncd +--- + +Documentation : + +* +* + +SAsyncd est un démon permettant de synchroniser les SA (Security Association) d'IPsec entre 2 firewalls redondés via [CARP](/HowtoOpenBSD/CARP). Il est compatible avec les 2 démons [isakmpd](/HowtoISAKMPD) et [iked](/HowtoIKED) + +## Configuration de sasyncd + +SAsyncd se configure dans `/etc/sasyncd.conf` : + +~~~ +listen on 192.0.2.1 + +# IP addresses or hostnames of sasyncd(8) peers. +peer 192.0.2.2 + +# Track master/slave state on this carp(4) interface. +interface carp0 +group carp + +control isakmpd + +# Shared AES key, 16/24/32 bytes. +sharedkey 0xXXXX +~~~ + +Avec les paramètres suivants : + +* `listen on` : IP sur laquelle sasyncd doit écouter ; le port peut aussi être précisé en ajoutant `port` (exemple : "listen on X.X.X.X port Y") +* `peer` : définit le paire sasyncd ; peut être défini plusieurs fois +* `interface` : interface CARP sur laquelle sasyncd doit suivre l'état master/backup +* `group` : groupe CARP sur lequel sasyncd doit incrémenter le compteur *carpdemote* lorsqu'il détecte un changement d'état de l'interface définit précédemment (défaut : carp) +* `control` : démon que sasyncd doit contrôler, parmi `isakmpd`, `iked`, `all`, ou `none` (défaut : isakmpd). +* `sharedkey` : clé AES partagée pour chiffrer les échanges entre les peer ; le paramètre est obligatoire et doit avoir une longueur de 16, 24 ou 32 octets. + +Pour les paramètres `listen on` et `peer`, il est conseillé d'utiliser le même réseau que celui utilisé pour `pfsync`. + +La clé partagée peut être générée avec la commande `openssl rand -hex 32`. Ne pas oublier d'indiquer "0x" au début. + +Vu que le fichier de configuration contient un secret partagé, il ne doit être lisible que par l'utilisateur `root` : + +~~~ +# chown root /etc/sasyncd.conf +# chmod 0600 /etc/sasyncd.conf +~~~ + +## Configuration IPsec + +Le démon IPsec utilisé, isakmpd ou iked, doit être démarré avec le paramètre `-S` : + +~~~ +# rcctl set isakmpd flags -S +# rcctl set iked flags -S +~~~ + +Pour isakmpd : + +~~~ + -S This option is used for setups using sasyncd(8) and carp(4) to + provide redundancy. isakmpd starts in passive mode and will not + initiate any connections or process any incoming traffic until + sasyncd has determined that the host is the carp master. + Additionally, isakmpd will not delete SAs on shutdown by sending + delete messages to all peers. +~~~ + +Pour iked : + +~~~ + -S Start iked in passive mode. See the set passive option in + iked.conf(5) for more information. + + set passive + Set iked(8) to global passive mode. In passive mode no packets are + sent to peers and no connections are initiated by iked(8), even for + active policies. This option is used for setups using sasyncd(8) + and carp(4) to provide redundancy. iked(8) will run in passive + mode until sasyncd has determined that the host is the master and + can switch to active mode. +~~~ + +Ainsi, sasyncd définit si l'hôte est master ou backup d'après l'état de l'interface CARP, puis passe le démon défini en mode actif si l'interface est master. L'hôte master suit tous les changements locaux des SA et les synchronise à tous les paires sasyncd passifs. \ No newline at end of file