як створити профіль програми для ufw?


31

У Ufw є команда, яка перераховує профілі, до яких ви можете далі вивчити їхні визначення профілю

$ ufw app list

І

$ ufw app PROFILE {app profile title}

Мені було цікаво, як можна створити профіль для невизначеної програми, наприклад віртуальної скриньки, і щоб цей профіль запускав ті самі визначення, які я дав iptables для мого дистрибутива Ubuntu.


Мало того, що я намагаюся використовувати брандмауер Ubuntus для обслуговування своєї віртуальної машини. Мені також щиро цікаво, як створити профіль для додатку, який не входить до нього.

Відповіді:


36

Щоб відповісти на справжнє запитання про те, як створити власний файл програми, потрібно лише знати, що він використовує формат файлу 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

Рядок портів може задавати кілька портів, з / 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

Ви можете перелічити декілька версій програми в одному файлі, як цей у апаші:

===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 вашого сервера amanda.


ваш синтаксис для поєднання udp і tcp неправильний. Це повинно бути xx/tcp|yy/udp. Іншими словами, розділення між протоколами повинно бути трубою, а не комою, як у вашому прикладі
— Хілікус

Мій приклад не намагався їх поєднувати, це простий список цього-port-on-udp, some-other-port-on-tcp.
— користувач207998

Я просто спробував netstatзнайти ім'я програми ... це правильно? Мені це принаймні спрацювало. Чи враховано регістр? Я не дуже впевнений, який взаємозв'язок між "ім'ям програми" у файлі додатку проти заголовка проти назви процесу тощо.
— intcreator

Netstat просто перелічує ім'я процесу, підключене до певного порту. Це не обов'язково відповідає назві програми. Наприклад, програма postfix запускає різні процеси, включаючи процес "master", який відкриває порт 25. Я називаю конфігураційний файл програми ufw на основі, скажімо, імені пакета, тобто "Postfix" або "AMANDA". У файлі config є одне або більше визначень додатків, які представляють порти, відкриті цим пакетом. Їх може бути кілька, див. Приклад пакету «postfix». Там імена додатків залежать від того, як налаштовано постфікс.
— користувач207998

для декількох портів tcp, це як перший, чи останній? xx/tcp,xy/tcp,xz/tcpабоxx/tcp|xy/tcp|xz/tcp
— errolflynn

10

Це насправді все, що знаходиться на сторінці в розділі "Інтеграція додатків".

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

ufw allow <app_name>

Або ви можете використовувати розширений синтаксис, щоб бути більш конкретними:

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

На сторінці вказується спеціально не вказати номер порту:

Не слід вказувати протокол ні з синтаксисом, а з розширеним синтаксисом, використовуйте додаток замість пункту порту.

Це, ймовірно, означає, що він дозволить <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.


Так, ви не вказуєте порт у синтаксисі "ufw дозволити", оскільки протокол нібито вказаний, якщо потрібно, у самому файлі визначення програми.
— користувач207998
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.