Pour limiter les risques d’attaques DOS (Deny Of Service) via OpenSSH, nous allons limiter le nombre de connexions par seconde à l'aide d'`iptables`.
> [!warning] <span style="font-weight: normal; color: var(--text-normal)">L’option `PerSourceMaxStartups` d’OpenSSH pourrait être une alternative mais [[kb-ssh-audit|SSH-Audit]] déconseille cette approche.</span>
Mettez à jour la liste des paquets et installez `iptables` avec l’outil de persistance des règles :
```shell
sudo apt update && sudo apt install iptables iptables-persistent -y
```
Configurez `iptables` pour limiter à **10 connexions nouvelles toutes les 10 secondes** par adresse source :
```shell
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 10 --hitcount 10 -j DROP
sudo ip6tables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo ip6tables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 10 --hitcount 10 -j DROP
```
Sauvegardez les règles pour les rendre persistantes après le redémarrage du système :
```shell
sudo service netfilter-persistent save
```
> [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">Cela va créer les règles iptables dans `/etc/iptables/rules.v4` et les règles ip6tables dans `/etc/iptables/rules.v6`. Ces fichiers de configuration seront rechargés au prochain démarrage.</span>