Чтобы ответить на реальный вопрос о том, как создать свой собственный файл приложения, вам нужно только знать, что он использует формат файла Windows INI (гадость).
[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-адрес вашего сервера Аманды.
xx/tcp|yy/udp
. Другими словами, разделение между протоколами должно быть каналом, а не запятой, как в вашем примереnetstat
чтобы найти имя приложения ... это правильно? По крайней мере, у меня это сработало. Это чувствительно к регистру? Я не совсем уверен, как соотносится «имя приложения» в файле приложения с заголовком и именем процесса и т. Д.xx/tcp,xy/tcp,xz/tcp
илиxx/tcp|xy/tcp|xz/tcp
Это на самом деле все в man-странице в разделе «Интеграция приложений».
Основной синтаксис:
Или вы можете использовать расширенный синтаксис, чтобы быть более конкретным:
На странице man конкретно сказано не указывать номер порта:
Это, вероятно, означает, что он позволит
<app_name>
использовать любой порт, который он хочет ..Другие полезные команды:
Который перечисляет информацию в
<app_name>
профиле.Какой
<app_name>
профиль обновлений . Вы можете использоватьall
для обновления всех профилей приложений.Вы можете использовать:
Команда, чтобы добавить новый профиль
<app_name>
и обновить его, следуя правилам, которые вы изложилиufw app default <policy>
.Профили приложений хранятся в
/etc/ufw/applications.d
и иногда/etc/services
.Для получения дополнительной информации см
man ufw
.источник