Pour répondre à la vraie question, sur la façon de créer votre propre fichier d'application, il vous suffit de savoir qu'il utilise le format de fichier Windows INI (beurk).
[appname]
title=1-liner here
description=a longer line here
ports=1,2,3,4,5,6,7,8,9,10,30/tcp|50/udp|53
La ligne de ports peut spécifier plusieurs ports, avec / udp ou / tcp, pour limiter le protocole, sinon il s'agit par défaut des deux. Vous devez diviser les sections de protocole avec |.
Donc, pour un ensemble d'exemples concrets que j'ai faits:
[puppet]
title=puppet configuration manager
description=Puppet Open Source from http://www.puppetlabs.com/
ports=80,443,8140/tcp
[AMANDA]
title=AMANDA Backup
description=AMANDA the Advanced Maryland Automatic Network Disk Archiver
ports=10080
Vous pouvez répertorier plusieurs versions de l'application dans un seul fichier, comme celui-ci d'apache:
===start of apache2.2-common file===
[Apache]
title=Web Server
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80/tcp
[Apache Secure]
title=Web Server (HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=443/tcp
[Apache Full]
title=Web Server (HTTP,HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80,443/tcp
===end of file===
Une fois que vous avez défini votre fichier d'application, insérez-le /etc/ufw/applications.d
, puis dites à ufw de recharger les définitions d'application avec
ufw app update appname
ufw app info appname
Utilisez-le avec quelque chose comme:
ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda
en supposant que 192.168.1.10 est l'IP de votre serveur amanda.
xx/tcp|yy/udp
. En d'autres termes, la séparation entre les protocoles devrait être un tuyau, pas une virgule comme dans votre exemplenetstat
pour trouver le nom de l'application ... est-ce vrai? Cela a fonctionné pour moi au moins. Est-il sensible à la casse? Je ne sais pas vraiment quelle est la relation entre le "nom de l'application" dans le fichier d'application par rapport au titre par rapport au nom du processus, etc.xx/tcp,xy/tcp,xz/tcp
ouxx/tcp|xy/tcp|xz/tcp
En fait, tout est là dans la page de manuel sous la section "Application Integration".
La syntaxe de base est:
Ou vous pouvez utiliser la syntaxe étendue pour être plus précis:
La page de manuel indique spécifiquement de ne pas spécifier de numéro de port:
Cela signifie probablement qu'il laissera
<app_name>
utiliser le port qu'il souhaite.Autres commandes utiles:
Qui répertorie les informations sur
<app_name>
le profil de.Qui met à jour
<app_name>
le profil. Vous pouvez utiliserall
pour mettre à jour tous les profils d'application.Vous pouvez utiliser:
pour ajouter un nouveau profil
<app_name>
et le mettre à jour, en suivant les règles définies avecufw app default <policy>
.Les profils d'application sont stockés dans
/etc/ufw/applications.d
et parfois/etc/services
.Pour plus d'informations, voir
man ufw
.la source