como você cria um perfil de aplicativo para o ufw?

21

O Ufw tem um comando que lista os perfis para os quais você pode explorar melhor suas definições de perfil

$ ufw app list

e

$ ufw app PROFILE {app profile title}

Eu queria saber como você pode criar um perfil para um programa indefinido, como uma caixa virtual, e ter esse perfil executando as mesmas definições que eu dei ao iptables para minha distro Ubuntu.

Não só estou tentando usar o firewall Ubuntus para atender minha máquina virtual. Eu também estou sinceramente curioso para saber como criar um perfil para um aplicativo que não vem com um.

    
por Miphix 22.01.2014 / 06:53

2 respostas

25

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.

    
por user207998 27.06.2014 / 00:07
9

Na verdade, está tudo lá na página man sob a seção "Integração de aplicativos".

A sintaxe básica é:

ufw allow <app_name>

Ou você pode usar a sintaxe estendida para ser mais específica:

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

A página de manual diz especificamente não para especificar um número de porta:

  

Você não deve especificar o protocolo com a sintaxe e com o          sintaxe estendida, use o aplicativo no lugar da cláusula port.

Isso provavelmente significa que ele permitirá que <app_name> use qualquer porta que desejar.

Outros comandos úteis:

ufw app info <app_name>

Qual lista as informações no perfil de <app_name> .

ufw app update <app_name>  

Que atualiza o perfil de <app_name> . Você pode usar all para atualizar todos os perfis de aplicativos.

Você pode usar o:

ufw app update --add-new <app_name>  

comando para adicionar um novo perfil para <app_name> e atualizá-lo, seguindo as regras que você definiu com ufw app default <policy> .

Os perfis de aplicativos são armazenados em /etc/ufw/applications.d e, às vezes, em /etc/services .

Para mais informações, consulte man ufw .

    
por Seth 22.01.2014 / 07:16