mercredi 12 juillet 2017

Uncomplicated firewall

Dans cet article nous verrons ensemble quelques commandes pour utiliser UFW sans se casser la tête. Ici seront détaillées que quelques cas très basiques, UFW est bien plus complet et permet des choses plus poussées.

Nous allons partir du début en installant UFW:
sudo apt install ufw

En suite, par défaut, il faut rejeter l'ensemble du trafic et puis enfin créer les règles pour autoriser uniquement les ports dont nous avons besoin.
Pour tout rejeter:
sudo ufw default deny

Pour continuer, il peut être "utile" de se permettre un accès en ssh depuis le réseau local. Pour ce faire, modifier la commande suivante si votre réseau local n'est pas 192.168.0.0/24 afin que vous ne vous bannissiez pas de votre propre serveur (ce serait fâcheux, ça m'est arrivé par erreur et ça fait tout drôle --face palm--):
sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22

Enfin, partons du principe que le serveur doit pouvoir recevoir le trafic depuis internet sur le port 443 pour le https:
sudo ufw allow 443/tcp

Cette commande est à modifier et répéter pour tous les autres services qui doivent être atteints depuis tout l'internet mondial.

Pour terminer la mise en place initiale d'UFW, il faut l'activer. Attention à bien vérifier les règles pour être certain de ne pas vous enfermer à l'extérieur de votre serveur...
sudo ufw enable

Ensuite, il peut arriver après quelques temps que vous vous souveniez plus trop des règles que vous avez mis en place. Et donc il est possible d'afficher un résumé comme ça:
sudo ufw status

Pour avoir une liste des règles numérotées (utile pour la gestion des règles), il est possible d'utiliser la commande suivante:
sudo ufw status numbered

Et puis, en lisant les logs du serveur, il peut arriver que des petits skriptkiddie soient un peu trop insistants, trop agressifs ou tout simplement trop entreprenants. Il peut être utile de bloquer leur ip. Cela ne découragera que les moins aguerris, mais pour ce que je dois protéger, pas besoin d'en faire plus. A voir ce que vous vous devez protéger.
sudo ufw insert 1 deny from [ip-to-block] to any

Dans cette commande, nous demandons d'insérer la règle en première position. En effet, UFW donne priorité aux règles en fonction de leur position dans la liste des règles. la règle la plus haute prime sur la règle la plus basse. Ainsi, si on autorise tout le trafic sur le port 443, comme dans notre exemple, et que cette règle est située en position 1, il se sera pas possible de bloquer une ip. A chaque fois qu'on fait une règle particulière, il faut donc s'assurer qu'elle figure au dessus des règles générales. Pour connaitre les règles actuelles et leur ordre, il faut utiliser "ufw status" (voir ci-dessus).

Avec le temps il peut être utile de supprimer une règle. Ainsi, après avoir pris le numéro de la règle à effacer (voir ci-dessus), on peut la supprimer:
sudo ufw delete [numéro de la règle]

Attention cependant lorsque vous traitez un nombre de règles, chaque fois que vous supprimez une règle, l'ordre et donc le numéro des règles change... Donc vérifier après chaque manipulation avec les numéros des règles.

Aucun commentaire:

Enregistrer un commentaire