Ufw tiene un comando que enumera los perfiles en los que puede explorar más a fondo sus definiciones de perfil
$ ufw app list
Y
$ ufw app PROFILE {app profile title}
Me preguntaba cómo puede crear un perfil para un programa no definido, como una caja virtual y hacer que ese perfil ejecute las mismas definiciones que le he dado a iptables para mi distribución de Ubuntu.
No solo estoy tratando de usar el firewall de Ubuntu para dar servicio a mi máquina virtual. También tengo mucha curiosidad por saber cómo crear un perfil para una aplicación que no viene con uno.
Mejor respuesta
Para responder a la pregunta real, sobre cómo crear su propio archivo de aplicación, solo necesita saber que está usando el formato de archivo INI de Windows (puaj).
[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 varios puertos, con /udp o /tcp, para limitar el protocolo; de lo contrario, se establece de forma predeterminada en ambos. Tienes que dividir las secciones del protocolo con |.
Entonces, para un conjunto de ejemplos de la vida real, 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 su archivo de aplicación, colóquelo en /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
asumiendo que 192.168.1.10 es la IP de su servidor amanda.