GNU/Linux >> Tutoriels Linux >  >> Linux

WireGuard sur Kali

Nous avons beaucoup entendu parler de WireGuard ces derniers temps et avec son ajout récent aux repos Kali, nous avons pensé que nous allions l'essayer rapidement pour voir de quoi il s'agit. Dans l'ensemble, nous avons trouvé qu'il s'agit d'une solution VPN vraiment agréable et rapide à configurer, et cela vaut peut-être la peine d'être vérifié.

Mise en route

Avec WireGuard ajouté aux dépôts, l'installation est simple et agréable :

apt install wireguard resolvconf

Et nous partons. Vient ensuite le temps de la configuration. C'est là que WireGuard a vraiment brillé pour nous, car il n'a fallu presque rien pour être opérationnel.

Sur le serveur, nous devons générer une paire de clés publique/privée et configurer un fichier de configuration initial.

wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat > /etc/wireguard/wg0.conf << EOF
[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-

[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.222.222.2/32
EOF

Et nous faisons le même processus sur le client pour établir sa paire de clés et sa configuration.

wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat /etc/wireguard/wg0.conf  << EOF
[Interface]
Address = 10.222.222.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8

[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
EOF

Ce sont des configurations assez simples, mais cela vaut la peine de souligner quelques points. Tout d'abord, vous devez évidemment mettre la sortie des paires de clés dans les configurations, le cas échéant. De plus, la ligne DNS sur le client permet d'empêcher les fuites DNS d'utiliser votre serveur DNS local par défaut. Vous pouvez ou non vouloir changer cela en fonction de vos besoins.

Le plus important est cependant la ligne "AllowedIPs". Cela contrôlera ce que les IP font ou ne traversent pas le VPN. Dans ce cas, nous configurons le client pour tout acheminer via le serveur VPN. Nous allons jouer un peu plus avec cela, mais regardons comment faire fonctionner cette configuration de base.

Pour démarrer et arrêter le tunnel, c'est assez facile.

# The VPN can be enabled using
wg-quick up wg0
# To disable the VPN:
wg-quick down wg0
# Information about the connection can be retrieved with following command:
wg show

Et bien sûr, nous devons activer le masquage IP et le transfert IP sur le serveur.

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Donc, avec cela, nous avons une configuration VPN traditionnelle. Si vous cherchez simplement à obtenir une configuration VPN standard, à ce stade, vous avez terminé. Il y a quelques avantages à cela par rapport à l'utilisation d'OpenVPN, par exemple cette solution semble être beaucoup plus rapide, la configuration est beaucoup plus simple, et c'est un peu plus furtif dans la mesure où le serveur ne répondra pas aux paquets qui n'ont pas de bonne paire de clés qui leur sont liées. Nous avons cependant pensé qu'il pourrait être intéressant de modifier la configuration pour refléter notre configuration ISO de Doom, en ayant un client qui se connectera automatiquement au serveur au démarrage, permettant au serveur de traverser et d'accéder au réseau client.

WireGuard de DOOM !

Tout d'abord, sur notre client, configurons rapidement le transfert et le masquage IP :

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Génial, cela fait, nous apportons quelques modifications mineures à nos configurations. Tout d'abord, sur le serveur, nous modifions la ligne "AllowedIPs" pour avoir le réseau privé sur le site de rapport. Cela ressemblerait à ceci :

[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-

[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.200.200.2/32, 192.168.2.0/24

Une fois cette ligne modifiée sur le serveur, nous modifions ensuite la ligne "AllowedIPs" des clients pour supprimer l'option permettant de tout acheminer vers le serveur VPN.

[Interface]
Address = 10.200.200.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8

[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 10.200.200.0/24
PersistentKeepalive = 21

Et c'est tout !

[email protected]:~# ping 192.168.2.22
PING 192.168.2.22 (192.168.2.22) 56(84) bytes of data.
64 bytes from 192.168.2.22: icmp_seq=19 ttl=63 time=50.2 ms
64 bytes from 192.168.2.22: icmp_seq=20 ttl=63 time=53.4 ms
64 bytes from 192.168.2.22: icmp_seq=21 ttl=63 time=48.1 ms

Le serveur VPN peut désormais accéder aux sous-réseaux de l'autre côté du VPN WireGuard.

Conclusion

Le temps nous dira si WireGuard remplace OpenVPN comme VPN de choix, ou si le dernier buzz n'est que l'excitation d'utiliser les nouveaux jouets. Dans tous les cas, c'est bien d'avoir la possibilité de le tester et de l'utiliser s'il convient. Comme nous l'avons vu ici, il est vraiment facile à configurer et relativement polyvalent dans les cas d'utilisation.


Linux
  1. Thèmes de la communauté Kali

  2. Sécuriser Kali Pi (2022)

  3. Kali Unkaputtbar

  4. Améliorations de l'accessibilité de Kali Linux

  5. Conséquences de la sortie de Kali Linux

Durcissement de Kali Linux

Comment installer Kali Linux

Téléchargement Kali Linux

Configuration système requise pour Kali Linux

Kali Linux contre Parrot

Kali Partout !