Para responder a la pregunta real, sobre cómo crear su propio archivo de aplicación, solo necesita saber que está utilizando el formato de archivo INI de Windows (¡qué asco!).
[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 línea de puertos puede especificar múltiples puertos, con / udp o / tcp, para limitar el protocolo, de lo contrario, se establece de manera predeterminada en ambos. Debe dividir las secciones de protocolo con |.
Entonces, para un conjunto de ejemplos de la vida real que hice:
[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
Puede enumerar varias versiones de la aplicación en un solo archivo, como este de 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===
Una vez que haya definido el archivo de la aplicación, póngalo /etc/ufw/applications.d
, luego dígale a ufw que vuelva a cargar las definiciones de la aplicación con
ufw app update appname
ufw app info appname
Úselo con algo como:
ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda
suponiendo que 192.168.1.10 es la IP de su servidor amanda.
xx/tcp|yy/udp
. En otras palabras, la separación entre protocolos debería ser una tubería, no una coma como en su ejemplonetstat
para encontrar el nombre de la aplicación ... ¿es así? Al menos funcionó para mí. ¿Es sensible a mayúsculas y minúsculas? No estoy realmente seguro de cuál es la relación entre el "APPNAME" en el archivo de aplicación el título frente a frente el nombre del proceso, etc.xx/tcp,xy/tcp,xz/tcp
oxx/tcp|xy/tcp|xz/tcp
En realidad, está todo allí en la página de manual en la sección "Integración de aplicaciones".
La sintaxis básica es:
O puede usar la sintaxis extendida para ser más específico:
La página de manual dice específicamente que no se especifique un número de puerto:
Esto probablemente significa que permitirá
<app_name>
usar cualquier puerto que quiera.Otros comandos útiles:
Que enumera la información en
<app_name>
el perfil de.Qué actualizaciones
<app_name>
del perfil. Puede usarall
para actualizar todos los perfiles de aplicación.Puedes usar el:
comando para agregar un nuevo perfil
<app_name>
y actualizarlo, siguiendo las reglas que establecióufw app default <policy>
.Perfiles de aplicaciones se almacenan en
/etc/ufw/applications.d
y, a veces/etc/services
.Para más información ver
man ufw
.fuente