Conseil en systèmes et logiciels informatiques.

GNU / UFW le pare-feu sous Ubuntu

UFW (Uncomplicated Firewall) est le pare-feu installé par défaut d'Ubuntu, un outil de configuration simplifié en ligne de commande sous GNU/Linux.

Pour l'utiliser on peut également se servir de son interface graphique Gufw, à installer en plus avec Synaptic (disponible alors par le menu : Système => Administration => Configuration du pare-feu).

Avant-propos

Pour voir les services en cours sur l'ordinateur et donc en connaître les ports qu'ils utilisent, voici la ligne de commande à entrer dans le Terminal :

less /etc/services

Mais la réponse du Terminal est bien longue, vous pouvez alors vous servir de grep pour filtrer la recherche. Par exemple, si l'on cherche à savoir quel est le port utilisé pour le dictionnaire d'Ubuntu (Gnome-Dictionnary)

less /etc/services | grep Dictionary

Et le Terminal alors renvoie :

dict      2628/tcp            # Dictionary server

Le port est donc le 2628/tcp.

Différentes politiques du pare-feu selon les besoins
1/ Activation du pare-feu UFW

sudo ufw enable

2/ Définition des stratégies par défaut

Par défaut on interdit toutes entrées et sorties.

sudo ufw default deny incoming

sudo ufw default deny outgoing

3/ Activation de la journalisation

sudo ufw logging on

4/ Autorisation en sortie du DNS (son Fournisseur d'Accès Internet)

sudo ufw allow out 53

5/ Autorisation en sortie du FTP

sudo ufw allow out 20,21/tcp


- Ou juste le port 21 :

sudo ufw allow out 21/tcp


- Ou si parfois les ports 20 et 21 pour télécharger sur certains sites cela ne suffisaient pas

sudo ufw allow out ftp

6/ Autorisation en sortie du HTTP et HTTPS (internet)

sudo ufw allow out 80/tcp

sudo ufw allow out 443/tcp

7/ Messagerie Envoi du courrier (smtp, 25/tcp)

sudo ufw allow out smtp

8/ Messagerie Envoi du courrier en SSL (smtp sécurisé, le smtps)

sudo ufw allow out 465/tcp

9/ Messagerie Réception du courrier (pop3, 110/tcp)

sudo ufw allow out pop3

10/ Messagerie POP3S (pop3 sécurisé, par exemple pour Gmail, 995/tcp)

sudo ufw allow out pop3s/tcp

11/ Messagerie IMAP

sudo ufw allow out imap

12/ Messagerie IMAPS (l'imap sécurisé, pour Gmail par exemple)

ufw allow out imaps/tcp

13/ Autorisation en sortie pour Empathy avec des comptes type MSN ou Google Talk

sudo ufw allow out 1863/tcp

sudo ufw allow out 5222/tcp

14/ Autoriser le port de Gnome-Dictionary

sudo ufw allow out 2628/tcp

15/ Voir la TV (Freebox) avec VLC

sudo ufw allow out 554/tcp

Puis pour les flux rtsp (Real Time Stream Control Protocol) :
a) Passez par l'interface graphique
    Menu Edition => Add Rule => onglet "Avancé"
    Allow => Entrée => UDP => Source (IP) : 212.27.38.253
    et cliquez sur Ajouter !

b) Toujours par l'interface graphique
     Allow => Sortie => UDP => Destination (IP) : 212.27.38.253 / ports => 32400:32999
     et cliquez sur Ajouter !

Pour plus d'informations sur la télévision avec une Freebox, voir la page consacrée à VLC

16/ Autoriser Amule, Transmission (et autres Torrent)

Passez par l'interface graphique et utilisez l'onglet "pré-configuré", c'est le plus simple.

17/ Autoriser Freenode

sudo ufw allow out 6667/tcp

Freenode est un réseau de chat par Internet de la communauté du logiciel libre. Pour chatter avec elle, rendez-vous sur le freenode webchat ou si vous préférez utiliser un client IRC, lisez ce guide pratique.

18/ Autoriser le port du whois

sudo ufw allow out 43/tcp

19/ Autoriser le port des clés publiques des dépôts de paquets logiciels de Launchpad

sudo ufw allow out 11371/tcp

En effet pour pouvoir récupérer une clé des 'Personal Package Archives' de Launchpad, il est impératif d'avoir une connexion ouverte sur le port 11371.

Si vous désirez par exemple installer une nouvelle mouture d'un logiciel (non encore maintenu par votre version d'Ubuntu), il vous faudra inévitablement ouvrir ce port, voir la page sur les PPA.

20/ Autoriser les ports des flux XMMS (les radios du web)

Par l'interface graphique,
Onglet "Simple"
Allow => Sortie => TCP => 9667
et cliquez sur Ajouter !

Ou en console :

sudo ufw allow out 9667/tcp

21/ Comment détecter quel port une radio utilise (extraire l'URL d'un lien .pls) ?

a) Autorisez (temporairement) tout le trafic sortant
    via l'interface graphique,
    Sortant : sélectionnez "Autoriser"

b) Sur le site de la station, cliquez sur le lien (.pls) et identifiez quel port la radio utilise

Exemple pour Ministry of sound, le lien est : http://89.238.166.195:9162/listen.pls
C'est donc le port 9162.

c) Ensuite autorisez-le avec Gufw :
    Edition => Ajouter :
    Onglet Avancé :
    Allow Sortie TCP Destination : 89.238.166.195 port 9162

Ici le port 9162 ne sera autorisé que pour l'IP : 89.238.166.195 (celle de Ministry of Sound Radio)

d) Pensez à interdire à nouveau tout le trafic sortant via l'interface graphique,
    Sortant : sélectionnez "Refuser"

22/ Autorisez un autre port pour des radios

Exemple : le port N° 8000
Onglet "Simple"
Allow > Sortie => TCP => 8000
Validez par Ajouter !

ou en console :

sudo ufw allow out 8000/tcp

Ici le port 8000 sera autorisé pour tout le monde.

23/ Quelques autres ports utilisés par les radio sur internet

- out 8005/tcp
- out 8120/tcp
- out 8400/tcp
- out 8500/tcp
- out 9000/tcp
- out 8040/tcp
- out 1755/tcp

24/ Voir le statut actuel du par-feu UFW (c'est à dire les ports d'entrée et de sortie ouverts)

sudo ufw status

25/ Autoriser les ping

Si vous avez configuré UFW à refuser par défaut les connexions sortantes, il se peut que les ping ne soient plus autorisés.

Pour y remédier, éditez le fichier /etc/ufw/before.rules (en Root) et ajoutez-y ces lignes :

# Autoriser les ping / ok icmp codes output
-A ufw-before-output -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-output -p icmp --icmp-type source-quench -j ACCEPT
-A ufw-before-output -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-output -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-output -p icmp --icmp-type echo-request -j ACCEPT

Pour désactiver un certain type de ping, ajoutez le caractère # devant la ligne du type à désactiver.
Autoriser l'accès à son serveur depuis un autre ordinateur

Un exemple courant, vous avez un serveur installé sur une tour (l'hôte : x) et désirez y accéder depuis votre ordinateur portable (le visiteur : y) sur votre réseau local.

1/ Recherchez l'adresse IP de l'ordinateur hôte (celui du serveur)

Sous linux, clic droit sur l'icône "Connexion au réseau" > Informations de connexion > Adresse IP

Cette adresse est celle que vous devrez renseigner sur le navigateur internet de votre ordinateur visiteur pour accéder à votre serveur, exemple : http://192.168.0.x

2/ Recherchez l'adresse IP de l'autre ordinateur (le visiteur)

- Sous Linux, idem que ci dessus...

- Sous Windows : Menu Démarrer > Exécuter > tapez cmd puis touche "Enter" > tapez ensuite :

ipconfig

Cherchez dans les résultats "Adresse Ip v4" (ou v6 si c'est votre cas) du style 192.168.0.y

3/ Autorisez la connexion OUT vers le visiteur

sudo ufw allow from 192.168.0.y

4/ Autorisez la connexion DEST vers l'hôte

sudo ufw allow to 192.168.0.x

5/ Enfin autorisez le port 5353 en sortie (udp) de l'ordinateur hôte

Passez par l'interface graphique (Gufw), Menu Edition > Add Rule > onglet "Avancé" :
Allow / Sortie / UDP / Source : 192.168.0.x / Port : 5353

Le port 5353 est le service Multicast DNS.

À savoir
  • A la première utilisation de l'interface graphique du pare-feu (Gufw), si vous avez entré certaines politiques par le Terminal, il se peut que vous ne les voyiez pas. Pour y remédier, redémarrez Ubuntu.
  • Pour ne voir que les services en cours sur l'ordinateur :

    service --status-all

  • Si vous avez autorisé les logs, chose bien pratique pour comprendre parfois ce qui bloque, vous les trouverez dans le répertoire /var/log/. Surveillez notamment le fichier /var/log/ufw.log.
  • TCP : signifie : Transmission Control Protocol. Tandis que UDP signifie : User Datagram Protocol.
    Si vous souhaitez en apprendre davantage sur ces protocoles, visitez : www.linux-france.org

Voir aussi :
Wiki Ubuntu pare-feu
Wiki Ubuntu UFW
Wiki Ubuntu Gufw - l'interface graphique d'UFW
Le site officiel de UFW

Haut