NETFILTER - IPTABLES et UFW
NETFILTER
- Le projet netfilter a été lancé en 1998 par Rusty Russell, qui était aussi l'auteur du programme précédent de firewall du noyau Linux, IPCHAINS.
- NETFILTER est le module du noyau Linux (https://www.kernel.org) qui implémente un Firewall depuis la version 2,4 du noyau Linux.
- URL Site officiel : https://www.netfilter.org
- L'écriture des régles du firewall se fait à l'aide d'un logiciel spécifique.
- NFtables a été le premier.
- IPtables a succédé à nftables
- UFW simplifie l'écriture des régles IPtables.
IPTABLES
1 - Lister les règles iptables en cours
2 - Ajouter une règle de bannissement à iptables
3 - Retirer une règle iptables
UFW - Uncomplicated FireWall
1 - C'est quoi UFW ?
- UFW est un outil d'écriture de régles NETFILTER / IPTABLES qui propose une syntaxe plus simple que celle d'iptables. Mais Iptables est plus complet (Règles NAT par exemple).
- Documentation : https://doc.ubuntu-fr.org/ufw
2 - Installation de UFW
3 - Activation et désactivation de UFW
- Activer le service UFW (ce qui active les régles par défaut)
- Régles par défaut de UFW
- Tout est interdit en entrée.
- Tout est autorisé en sortie.
- Attention, l'activation du service met d'emblée en place des règles de protection. La connexion SSH utilisée pour faire cela n'est pas coupée, mais plus aucune autre connexion SSH n'est possible. Pour revenir en arrière, il faut déasctiver UFW pour pouvoir à nouveau faire une connexion SSH.
- Désactiver le service UFW
4 - Mise en place des règles de base de UFW : règles par défaut + règles SSH
- Mettre en place les régles AVANT d'activer UFW
- Interdire toutes les connexions entrantes
sudo ufw default deny incoming
- Autoriser toutes les connexions sortantes
sudo ufw default allow outgoing
- Autoriser les connexions SSH
- Autoriser les connexions SSH sur le port par défaut (22)
- Autoriser les connexion SSH sur le port 2244
- => A partir de ce moment là, il est possible de se déconnecter et de se reconnecter via SSH.
- Activer les règles définies en activant UFW
5 - Scripts UFW mis à disposition
- Une série de scripts UFW sont mis à disposition de UFW dès l'installation.
- Les script se trouve dans /etc/ufw/applications.d
ls /etc/ufw/applications.d/
openssh-server ufw-bittorent ufw-directoryserver ufw-fileserver ufw-mailserver ufw-proxyserver
postfix ufw-chat ufw-dnsserver ufw-loginserver ufw-printserver ufw-webserver
- Exemple du script Postfix : /etc/ufw/applications.d/postfix
[Postfix]
title=Mail server (SMTP)
description=Postfix is a high-performance mail transport agent
ports=25/tcp
[Postfix SMTPS]
title=Mail server (SMTPS)
description=Postfix is a high-performance mail transport agent
ports=465/tcp
[Postfix Submission]
title=Mail server (Submission)
description=Postfix is a high-performance mail transport agent
ports=587/tcp
- Activer les autorisations d'un script
sudo ufw allow "Postfix SMTPS"
6 - Lister les règles actives de UFW
- Afficher les régles UFW avec numérotation
Status: active
To Action From
-- ------ ----
[ 1] 2244/tcp ALLOW IN Anywhere
[ 2] WWW Full ALLOW IN Anywhere
[ 3] 5666/tcp ALLOW IN Anywhere
[ 4] 2244/tcp (v6) ALLOW IN Anywhere (v6)
[ 5] WWW Full (v6) ALLOW IN Anywhere (v6)
[ 6] 5666/tcp (v6) ALLOW IN Anywhere (v6)
- Retirer une règle
7 - Règles UFW pour Serveurs Web (Apache, Nginx etc)
- Utilisation du script /etc/ufw/applications.d/ufw-webserver
- Autoriser les ports 80
- Autoriser les ports 443
sudo ufw allow "WWW Secure"
- Autoriser les ports 80 et 443
sudo ufw allow "WWW Full"
8 - Restriction d'un service à une @ip
- Exemple de restriction du service SSH à une seul adresse @ip
sudo ufw allow from X.X.X.X to any port 22
9 - Bannir une @ip
- Bannir une @ip
sudo ufw deny from X.X.X.X
- Vérifier le bannissement dans les règles UFW
[ 1] WWW Full ALLOW IN Anywhere
[ 2] 5666/tcp ALLOW IN Anywhere
[ 3] 2244 ALLOW IN X.X.X.X
[ 4] 2244 ALLOW IN Y.Y.Y.Y
[ 5] Anywhere DENY IN Z.Z.Z.Z
[ 6] WWW Full (v6) ALLOW IN Anywhere (v6)
[ 7] 5666/tcp (v6) ALLOW IN Anywhere (v6)
10 - UFW et Reboot
- Si la machine reboot lorsque UFW est désactivé, UFW reste désactivé.
- Si la machine reboot lorsque UFW est activé, UFW reste activé avec les régles définies au moment du reboot.
|