Seulement, j’aimerais bien l’appliquer via ufw qui me semble plus simple d’usage. Cela voudrait donc dire traduire les commandes iptables en commandes ufw.
Voici la configuration iptables :
iptables-save -t filter
filter
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP
# Windows, ça spam…
-A INPUT -p udp -d 255.255.255.255 -j DROP
-A INPUT -p udp -d X.X.X.255 -j DROP
-A INPUT -p udp -m multiport --dport netbios-ns,netbios-dgm,netbios-ssn -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport ssh -j ACCEPT
-A INPUT -p tcp -m tcp --dport http -j ACCEPT
-A INPUT -p tcp -m tcp --dport https -j ACCEPT
-A INPUT -p tcp -m tcp --dport smtp -j ACCEPT
-A INPUT -p tcp -m tcp --dport submission -j ACCEPT
-A INPUT -p tcp -m tcp --dport imaps -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
Il y a un certain nombre de commandes que je n’arrive pas à convertir en ufw, soit parce que la syntaxe ne semble pas l’accepter (comme par exemple -d X.X.X.255) ou bien peut-être parce que certaines règles sont d’office appliquées par ufw (peut-être -m conntrack --ctstate RELATED,ESTABLISHED).
Bref, si vous connaissez un convertisseur de règle, ou si vous même êtes bien calés pour convertir des règles iptables en ufw, soyez le bienvenu sur ce fil de discussion !
Ok, en fait tu me proposes une interface graphique pour configurer ufw, c’est sympa, mais dans le cas que j’expose, j’ai peur que ça ne m’aide pas beaucoup. En outre, mon serveur est headless et ne pourra donc pas exécuter gufw.
Je trouve dommage de ne pas essayer de mieux cerner les règles de iptables ici même afin de parfaire ta connaissance dessus, il y a des membres largement assez calé ici même pour t’accompagner dans l’élaboration d’un script et sa mise en place.
Après pourquoi ne pas écrire toi même les règles en t’appuyant sur la documentation de ufw (qui est tout de même assez simple à prendre en main).
Quelque secondes de recherches m’ont permis de trouver des articles accessible par exemple :
Mon premier message ne devait pas être assez clair mais l’objectif premier de mon message était bien de comprendre chaque règle iptables de la configuration initiale.
Une fois chaque règle bien compris (ce qu’elle bloque ou autorise, et pourquoi elle le fait), j’ai découvert par @anon93295908 que l’usage de ufw implique l’activation de règle par défaut (et ces règles sont des règles iptables, si je ne me trompe). La seconde étape est donc de voir quelle est la configuration ufw par défaut.
La dernière étape enfin, consiste à convertir les règles iptables restantes en règles ufw.
Je suis déjà en train de consulter un paquet de pages web sur iptables et sur ufw. Mais j’avoue qu’il me manque quelques notions de réseau pour tout comprendre. Ca commence par le fichier /etc/ufw/before.rules mentionné par @anon93295908, je ne suis pas sûr d’arriver à comprendre la signification de l’instruction RETURN (sort de la chaîne et retourne dans le flux de traitement, mais quel est ce flux de traitement, je n’ai pas la vision globale), ni de bien cerner les notions de broadcast ou de multicast (à mettre en lien avec les adresses 255.255.255.255 ou X.X.X.255 de la configuration iptables du premier message).
# if LOCAL, RETURN
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
# if MULTICAST, RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
# if BROADCAST, RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
En bref et en clair, merci pour les deux liens que tu me proposes, je vais les lire attentivement. Mais si des personnes calés en iptables peuvent m’éclairer sur des points de iptables ou ufw (qui n’est finalement qu’une surcouche à iptables), ce sera avec plaisir !
L’objectif final est d’arriver à une configuration ufw qui aboutisse à une sécurisation optimale du serveur. Quitte à lancer une commande iptables à la fin pour voir la configuration iptables correspondant, dans ce sens-là, c’est possible.