Um die eigentliche Frage zu beantworten, wie Sie Ihre eigene Anwendungsdatei erstellen können, müssen Sie nur wissen, dass sie das Windows INI-Dateiformat (yuck) verwendet.
[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
In der Ports-Zeile können mehrere Ports mit / udp oder / tcp angegeben werden, um das Protokoll einzuschränken. Andernfalls werden standardmäßig beide Ports verwendet. Sie müssen die Protokollabschnitte mit | aufteilen.
Also, für eine Reihe von Beispielen aus dem wirklichen Leben habe ich gemacht:
[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
Sie können mehrere Versionen der App in einer einzigen Datei auflisten, beispielsweise die folgende von 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===
Sobald Sie Ihre Anwendungsdatei definiert haben, legen Sie sie ein und weisen Sie /etc/ufw/applications.d
ufw an, die Anwendungsdefinitionen mit neu zu laden
ufw app update appname
ufw app info appname
Verwenden Sie es mit etwas wie:
ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda
Angenommen, 192.168.1.10 ist die IP Ihres Amanda-Servers.
xx/tcp|yy/udp
. Mit anderen Worten, die Trennung zwischen Protokollen sollte eine Pipe sein, kein Komma wie in Ihrem Beispielnetstat
mit den Namen der Anwendung zu finden ... ist das richtig? Zumindest hat es bei mir funktioniert. Ist es case sensitive? Ich bin nicht wirklich sicher, wie die Beziehung zwischen dem "Anwendungsnamen" in der Anwendungsdatei gegen den Titel gegen den Prozessnamen usw. istxx/tcp,xy/tcp,xz/tcp
oderxx/tcp|xy/tcp|xz/tcp
Es ist eigentlich alles in der Manpage unter "Anwendungsintegration".
Die grundlegende Syntax lautet:
Oder Sie können die erweiterte Syntax verwenden, um genauer zu sein:
In der Manpage wird ausdrücklich darauf hingewiesen, keine Portnummer anzugeben:
Dies bedeutet wahrscheinlich, dass es den
<app_name>
gewünschten Port verwenden kann.Andere nützliche Befehle:
Welche listet die Informationen auf
<app_name>
dem Profil.Welches Update
<app_name>
-Profil. Mit können Sieall
alle Anwendungsprofile aktualisieren.Du kannst den ... benutzen:
Befehl zum Hinzufügen
<app_name>
und Aktualisieren eines neuen Profils gemäß den von Ihnen festgelegten Regelnufw app default <policy>
.App-Profile werden in
/etc/ufw/applications.d
und manchmal gespeichert/etc/services
.Weitere Informationen finden Sie unter
man ufw
.quelle