Para responder à pergunta real, sobre como criar seu próprio arquivo de aplicativo, você só precisa saber que ele está usando o formato de arquivo do Windows INI (yuck).
[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
A linha de portas pode especificar várias portas, com / udp ou / tcp, para limitar o protocolo, caso contrário, o padrão é ambos. Você tem que dividir as seções do protocolo com |.
Então, para um conjunto de exemplos reais, eu fiz:
[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
Você pode listar várias versões do aplicativo em um único arquivo, como este do 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===
Uma vez que você definiu o arquivo do seu aplicativo, coloque-o em /etc/ufw/applications.d, então diga ao ufw para recarregar as definições do aplicativo com
ufw app update appname
ufw app info appname
Use com algo como:
ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda
assumindo 192.168.1.10 é o IP do seu servidor amanda.