як створити профіль програми для 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.