Fermer
Kwashi EliE.

À propos de moi

Kwashi EliE.

Le Logiciel Libre entre Web, Design et Administration Système par un Africain, OpenSource Evangelist

Retrouvez-moi sur

[🐧Open Source Evangelist]

Préc. Suiv.

Configurer UFW pour gérer le parfeu sur sa machine Linux

Linux 8-11-2017
    PARTAGER SUR:
Toutes les actions requiert des privilèges super-utilisateur (ou root); ceci voudrait dire que vous devrez précéder toutes les commandes du préfixe "sudo" ou démarrer carrément une session temporaire de root dans votre console avec la commande $sudo -i

UFW est un outils qui permet de gérer les paramètres de par-feu de IpTables. Depuis certaines versions des récentes distro, il est embarqué sur le système de même que iptables. Au cas où ce n'est pas le cas, vous pouvez les installer tous les deux puisqu'ils sont disponibles dans les dépôts officiels.

$apt install iptables ufw

Par défaut, quand ufw est installé, il permet toutes les connexions sortantes du serveur et bloque toutes les connexions entrantes. Ce qui fait que, seules les applications et manipulations à l’intérieur de votre machine vers le monde extérieur sont opérantes.

Il faut alors rappeller ces règles par défaut à Ufw (encore inactif pour l'instant juste après son installation)

$ufw default deny incoming (pour bloquer les entrantes)

$ufw default allow outgoing (pour autoriser les sortantes)

Il faut ensuite autoriser d'autres connexions importantes avant de l'activer ouvertement

Le SSH surtout. UFW reconnait par défaut la majorité des services par leur nom (définis dans le fichier /etc/services)

De ce fait, le SSH peut être autoriser avec la commande:

$ufw allow ssh (tout simplement).

Il autorisera ainsi le port 22 (sur IPV4 et IPV6) comme port par défaut du SSH.; c'est vérifiable en exécutant $ufw status quand il est activé, bien attendu. Au cas où le port SSH est changé au préalable par autre chose (2222 par exemple), alors il va falloir spécifier celà clairement, vu que ce n'est pas le port habituel par défaut inscrit dans le systeme. Dans ce cas, notre commande sera plutôt:

$ufw allow 2222

Et si pour une raison ou une autre on a besoin de différencier les supports TCP et UDP, alors, lui spécifier celà de cette façon:

$ufw allow 2222/tcp puis $ufw allow 2222/udp

Au besoin de fermer un port, il suffit juste de remplacer "allow" par "deny" dans la commande tout simplement.

Après cela, on peut allumer/activer notre gestionnaire de par-feu pour le mettre en marche:

$ufw enable

Il est préférable juste après de redémarrer le système avec un $reboot juste après son activation.

Au redémarrage, il est possible de vérifier l'état du parfeu en:

$service ufw status (affichant l'état du service du gestionnaire ufw)

et

$ufw status (affichant les différents ports ouverts/fermés)

Il est à noter que, pour le cas d'un serveur web par exemple, on peut constater à ce stade que les services web http seront Hors-Service. Quand on essaye quelque chose dans un navigateur graphique (comme Firefox) ou console (comme Elinks) comme http://localhost ou http://adre.sse.ip ou encore http://www.domaine.tld on aura pas de résultat. C'est normal: le(s) port principaux sur lesquelles écoute le HTTP ne sont pas ouverts. Il s'agit du port 80 et son homologue de la mise en cache 8080. On peut les activer avec:

$ufw allow http

ou

$ufw allow 80

$ufw allow 8080

((À ce niveau, on peut également autoriser directement le traffic web d'un serveur web installé.))

Après cela, les demandes HTTP:// dans les navigateurs seront servies de nouveau.

Si, on dispose d'un certificat.s SSL pour sécuriser le HTTP le transformant en HTTPS:// (ou on compte en installer sur le serveur), son port d'écoute est différent de celui du 'http' natif. Donc, il faut l'autoriser en:

$ufw allow https

ou

$ufw allow 443

ou

$ufw allow 443/tcp

$ufw allow 443/udp 

Si vous disposez d'un serveur de base de données SQL, de toute évidence, il sera bloqué lui aussi par défaut jusque là si son port n'a pas été autorisé:

Exemples de service et de leur port pour quelques serveurs de base de données SQL:

MYSQL > mysql > 3306

POSTGRESQL > postgresql >5432

... ET, AINSI DE SUITE POUR CHAQUE SERVICES DONT ON VOUDRA AUTORISER LES PORTS SUR NOTRE SERVEUR.

La liste des différents services natifs et leur ports sont disponibles dans le fichier "/etc/services" à ne manipuler que si on sait ce qu'on fait. Et si pour une raison ou une autre on a besoin de réinitialiser les paramètres du par-feu, UFW le fait avec juste une commande toute simple également:

$ufw reset
Maintenant, nous voilà bien parti pour une base de SÉCURISATION supplémentaire d'un serveur Linux qui saurait nous retenir les attaques basiques basées sur l'écoute des ports venant des personnes malintentionnées ou capricieux.

    LIBRE DE PARTAGER SUR:

Qu'en pensez-vous ?👇 Réagissez...