web-dev-qa-db-fra.com

comment créer un profil d'application pour ufw?

Ufw a une commande qui liste les profils sur lesquels vous pouvez explorer davantage leurs définitions de profil

$ ufw app list

Et

$ ufw app PROFILE {app profile title}

Je me demandais comment créer un profil pour un programme non défini, comme une boîte virtuelle, et faire en sorte que ce profil exécute les mêmes définitions que celles que j'ai données à iptables pour ma distribution Ubuntu.


Non seulement j'essaie d'utiliser le pare-feu Ubuntus pour desservir ma machine virtuelle. Je suis aussi sincèrement curieux de savoir comment créer un profil pour une application qui ne vient pas avec un.

30
Miphix

Pour répondre à la vraie question, sur la création de 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 elle utilise par défaut les 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 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, saisissez-le dans /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'adresse IP de votre serveur Amanda.

35
user207998

En fait, tout est là dans la page de manuel sous la section "Intégration de l'application".

La syntaxe de base est la suivante:

ufw allow <app_name>

Ou vous pouvez utiliser la syntaxe étendue pour être plus spécifique:

ufw allow from <some_address> to any app <app_name>

La page de manuel indique spécifiquement pas pour spécifier un numéro de port:

Vous ne devez pas spécifier le protocole avec l'une ou l'autre syntaxe et avec la syntaxe étendue, utilisez app à la place de la clause port.

Cela signifie probablement qu'il laissera <app_name> utiliser le port de son choix.

Autres commandes utiles:

ufw app info <app_name>

Qui répertorie les informations sur le profil de <app_name>.

ufw app update <app_name>  

Qui met à jour le profil de <app_name>. Vous pouvez utiliser all pour mettre à jour tous les profils d'application.

Vous pouvez utiliser le:

ufw app update --add-new <app_name>  

commande pour ajouter un nouveau profil pour <app_name> et le mettre à jour, en suivant les règles que vous avez définies avec ufw 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 .

10
Seth