как создать профиль приложения для ufw?

19

Ufw имеет команду, в которой перечислены профили, к которым вы можете дополнительно изучить свои определения профилей

$ ufw app list

И

$ ufw app PROFILE {app profile title}

Мне было интересно, как вы можете создать профиль для неопределенной программы, например, виртуальную коробку, и иметь этот профиль для тех же определений, которые я дал iptables для моего дистрибутива Ubuntu.

Не только я пытаюсь использовать брандмауэр Ubuntus для обслуживания своей виртуальной машины. Мне также искренне любопытно, как создать профиль для приложения, которое не входит в него.

    
задан Miphix 22.01.2014 в 05:53
источник

2 ответа

22

Чтобы ответить на реальный вопрос о том, как создать свой собственный файл приложения, вам нужно только знать, что он использует формат файла INI INS (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

Строка портов может указывать несколько портов, с / udp или / tcp, чтобы ограничить протокол, в противном случае он по умолчанию используется для обоих. Вы должны разделить разделы протокола с помощью..

Итак, для реального набора примеров я сделал:

[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

Вы можете перечислить несколько версий приложения в одном файле, например, из 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===

После того, как вы определили свой файл приложения, поместите его в /etc/ufw/applications.d, затем скажите ufw перезагрузить определения приложения с помощью

ufw app update appname
ufw app info appname

Используйте его с чем-то вроде:

ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda

Предполагая, что 192.168.1.10 является IP-адресом вашего сервера аманды.

    
ответ дан user207998 26.06.2014 в 22:07
источник
9

На самом деле это все на странице руководства в разделе «Интеграция приложений».

Основной синтаксис:

ufw allow <app_name>

Или вы можете использовать расширенный синтаксис, чтобы быть более конкретным:

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

В manpage указано not , чтобы указать номер порта:

  

Вы не должны указывать протокол с синтаксисом и с          расширенный синтаксис, используйте приложение вместо предложения порта.

Это, вероятно, означает, что он позволит <app_name> использовать любой порт, который он хочет.

Другие полезные команды:

ufw app info <app_name>

В какой форме отображается информация о профиле <app_name> .

ufw app update <app_name>  

Кто обновляет профиль <app_name> . Вы можете использовать all для обновления всех профилей приложений.

Вы можете использовать:

ufw app update --add-new <app_name>  

, чтобы добавить новый профиль для <app_name> и обновить его, следуя правилам, указанным в ufw app default <policy> .

Профили приложений хранятся в /etc/ufw/applications.d , а иногда и /etc/services .

Для получения дополнительной информации см. man ufw .

    
ответ дан Seth 22.01.2014 в 06:16