12
Аффектор UTM5 RFW является демоном исполнения команд, поступающих от ядра UTM5. RFW предназначен для управления сторонним ПО, включая брандмауэры, маршрутизаторы, шейперы и т.д.
Краткое описание схемы работы:
2.Получение команд от ядра UTM5;
3.Выполнение команд локально или удаленно.
При запуске UTM5 RFW авторизуется в системе, используя параметры, указанные в конфигурационном файле. Для успешной авторизации UTM5 RFW должен быть зарегистрирован в списке брандмауэров (см. Список брандмауэров). Количество зарегистрированных в системе UTM5 RFW не ограничено.
UTM5 RFW устанавливает постоянное соединение с ядром UTM5 по протоколу Stream, ожидая команд, генерируемых ядром при наступлении определенных событий. Соотнесение событий и исполняемых команд производится в интерфейсе администратора на странице Настройки: Правила firewall.
Команды исполняются локально на том же сервере, где запущен RFW, если в качестве типа брандмауэра выбрано Local, и удаленно по rsh – если в качестве типа брандмауэра выбрано Cisco (rsh).
Если RFW не подключён к ядру, команды кэшируются в течение 24 часов. При переподключении RFW к ядру может происходить выполнение некоторых команд согласно заданным флагам синхронизации (см. Синхронизация правил); при подключении без указания флагов все кэшированные правила будут отправлены на аффектор. Кроме того при запуске RFW или при его переподключении к ядру может исполняться произвольная команда, заданная параметром firewall_flush_cmd (см. Конфигурационный файл).
Правило firewall – это объект, задающий шаблон выполняемой команды и определяющий условия её выполнения.
Перечень зарегистрированных в системе правил firewall находится на вкладке Настройки: Правила firewall интерфейса администратора.
Готовые для выполнения правила передаются на выполнение UTM5 RFW.
Правила firewall обладают следующими группами параметров:
–Областью применимости (для каких пользователей правило выполняется);
–Инициирующим событием (причина выполнения правила);
–Местом выполнения (RFW, которому передается правило, и соответствующий ему брандмауэр, на котором правило выполняется);
–Шаблоном (собственно команда).
Для построения шаблонов команд используются переменные, которые непосредственно при отправке команды на RFW заменяются соответствующими значениями.
свойство, определяющее лицевые счета, к которым применимо данное правило. Если выбрана опция Все пользователи, под действие правила подпадают все лицевые счета, зарегистрированные в системе. В противном случае для выбора подмножества лицевых счетов можно использовать следующие условия: выбор по идентификатору пользователя, выбор по принадлежности пользователя к группе и выбор по тарифному плану. По умолчанию правило применяется к лицевым счетам, удовлетворяющим любому из заданных условий, если их более одного (т. е. учитывается объединение условий – логическое ИЛИ). При выборе альтернативной опции учитывается пересечение условий (логическое И), т. е. правило применяется к лицевым счетам, удовлетворяющим всем условиям.
|
При выборе лицевых счетов по тарифному плану под условие попадают лицевые счета, на которые ссылаются тарифные связки, имеющие указанный тарифный план в качестве текущего. Правила, применимые к сервисным связкам или IP-группам, будут применяться ко всем сервисным связкам или IP-группам этих лицевых счетов, включая те, которые связаны с другими тарифными планами. |
–Инициирующее событие (одно или более)
выбирается из списка (см. События).
свойство, задающее конкретный брандмауэр путём выбора из списка, или (если выбрана соответствующая опция) все брандмауэры.
строка, которая может содержать переменные (см. Переменные), заменяемые соответствующими значениями непосредственно при отправке команды на RFW.
В случае локального исполнения RFW выполняет команду следующим образом:
[sudo_path ][firewall_path ]arg1[ arg2[ arg3...]] |
где необязательные параметры sudo_path и firewall_path берутся из конфигурационного файла, а остальная часть строки – из шаблона команды после подстановки значений переменных. Таким образом, если оба параметра sudo_path и firewall_path не заданы, шаблон команды должен начинаться с имени внешнего исполняемого файла.
В случае выполнения по rsh, команда отправляется в том виде, в котором поступила от ядра (т. е. шаблон с подставленными значениями).
Создание правил описано в примере Создание правила firewall.
|
Для использования правил, созданных в сборке 5.2.1-006 или более ранней, необходимо их предварительно конвертировать (см. Преобразование правил). |
В этом разделе приведён список возможных переменных, доступных для использования в шаблонах команд, и область применимости каждой из них (т. е. тип событий, при которых возможно использование данной переменной). Если в команде используются переменные, не применимые для событий данного типа, они заменяются значениями по умолчанию.
Список событий приведён ниже (см. События).
Переменная |
Значение по умолчанию |
Область применимости |
Описание |
пустая строка |
Все события, кроме событий Закрытие файла детальной статистики и Закрытие файла логов |
Идентификатор пользователя |
|
пустая строка |
Список идентификаторов групп, в которых состоит пользователь, разделенных ';' |
||
пустая строка |
Логин пользователя |
||
пустая строка |
Все события, кроме событий Закрытие файла детальной статистики, Закрытие файла логов и Удаление пользователя |
Адрес электронной почты, установленный в свойствах пользователя. |
|
0 |
Идентификатор лицевого счета |
||
0 |
Идентификатор пользователя плюс значение параметра fw_rule_ offset из списка системных параметров. |
||
пустая строка |
Полное наименование пользователя |
||
пустая строка |
Номер мобильного телефона пользователя |
||
пустая строка |
Номер рабочего телефона пользователя |
||
пустая строка |
Номер домашнего телефона пользователя |
||
пустая строка |
Название брандмауэра, установленного в поле Удалённый коммутатор (см. Другое) |
||
пустая строка |
Порт, установленный в свойствах пользователя (см. Другое) |
||
0 |
Все события, кроме событий Закрытие файла детальной статистики, Закрытие файла логов, Добавление пользователя, Изменение пользователя и Изменение баланса счёта |
Идентификатор сервисной связки |
|
пустая строка |
Включение/Выключение Интернета |
Логин, указанный в свойствах сервисной связки или IP-группы |
|
Включение/Выключение Интернета, Включение hotspot, Выключение hotspot, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал |
Адрес сети пользователя, указанный в свойствах IP-группы в поле IP. |
||
Маска сети через точку (например, 255.255.255.0). |
|||
Инвертированная маска сети через точку (например, 0.255.255.255). Используется при работе с маршрутизаторами Cisco. |
|||
Бинарная маска сети (например, |
|||
пустая строка |
Включение/Выключение Интернета, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал |
MAС-адрес, указанный в свойствах IP-группы. |
|
0 |
Добавление/ Изменение/Удаление связки dialup, Открытие сессии, Закрытие сессии, Добавление/Изменение/Удаление связки IP-трафика, Добавление/Изменение/Удаление связки телефонии, Добавление/Изменение/Удаление тех. параметра, Добавление/Изменение/Удаление связки IPTV |
Идентификатор услуги |
|
пустая строка |
Добавление/Изменение/Удаление связки dialup, Включение hotspot и Выключение hotspot |
Пароль сервисной связки услуги hotspot или услуги коммутируемого доступа. |
|
пустая строка |
Добавление/Изменение/Удаление связки di-alup |
Флаги сервисной связки услуги коммутируемого доступа: |
|
пустая строка |
Значение параметра CID сервисной связки услуги коммутируемого доступа. |
||
пустая строка |
Значение параметра CSID сервисной связки услуги коммутируемого доступа. |
||
пустая строка |
Изменение состояния блокировки |
Список параметров сервисных связок услуги коммутируемого доступа для данного лицевого счета в формате "идентификатор/ логин/пароль/CID/CSID/ флаги" через ";" |
|
-1 |
Числовое представление типа блокировки (см. Типы блокировки). |
||
пустая строка |
Список всех идентификаторов сервисных связок, принадлежащих лицевому счету, через ";" |
||
пустая строка |
Внешний ID лицевого счета |
||
0 |
Оповещение об изменении баланса |
Баланс счёта |
|
0 |
Добавление тех. параметра, Изменение тех. параметра и Удаление тех. параметра |
Тип технического параметра: |
|
0 |
Идентификатор технического параметра |
||
пустая строка |
Значение технического параметра |
||
пустая строка |
Пароль технического параметра |
||
-1 |
ID типа технического параметра: |
||
|
Открытие сессии, Закрытие сессии, Добавление тех. параметра, Изменение тех. параметра и Удаление тех. параметра |
Тип услуги (см. Типы услуг). |
|
0 |
Добавление / Изменение / Удаление связки IP-трафика / Видео по запросу |
Идентификатор тарифной связки |
|
0 |
Идентификатор расчетного периода |
||
0 |
Дата начала действия сервисной связки |
||
0 |
Дата окончания действия сервисной связки |
||
0 |
Идентификатор IP-группы сервисной связки |
||
пустая строка |
Добавление/Изменение/Удаление связки IPTV |
Пользовательские данные, задаваемые в параметрах услуги. |
|
пустая строка |
Изменение состояния блокировки, Добавление связки IP-трафика, Изменение связки IP-трафика и Удаление связки IP-трафика |
Список IP-групп в формате "адрес/маска/логин/ пароль/MAC/поставщик NetFlow" через ";" |
|
0 |
Включение hotspot, Выключение hotspot |
Остаток времени для сервисной связки услуги hotspot |
|
пустая строка |
Добавление связки телефонии, Изменение связки телефонии, Удаление связки телефонии и Изменение типа блокировки |
Список телефонных номеров в формате "номер/логин/ разреш.CID/вход. транк/исход. транк/pbx_id/пароль" через ";" |
|
пустая строка |
Открытие сессии и |
Идентификатор NAS |
|
0.0.0.0 |
IP-адрес NAS |
||
пустая строка |
Идентификатор сеcсии (строка) |
||
0 |
Статус сессии: |
||
пустая строка |
ID вызывающей станции |
||
пустая строка |
ID вызываемой станции |
||
0.0.0.0 |
IP-адрес, указанный в RADIUS-атрибуте Framed-IP-Address (8) |
||
0 |
Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал |
Текущая пропускная способность полосы |
|
пустая строка |
Закрытие файла детальной статистики и Закрытие файла логов |
Путь к файлу детальной статистики или log-файлу |
|
0 |
Внесение платежа |
Размер платежа |
|
0 |
ID метода платежа |
||
пустая строка |
Запись в отчёт Изменение пользователей |
ID действия |
|
пустая строка |
Комментарий к изменениям данных пользователя |
||
пустая строка |
ID вносившего изменения |
||
пустая строка |
Регистрация абонента HotSpot |
Пароль для входа пользователя в личный кабинет |
|
пустая строка |
Номер мобильного телефона пользователя |
||
пустая строка |
Длительность существования карточки абонента. При повторной регистрации до окончания периода, длительность обновляется |
||
|
Включение/Выключение Интернета |
IP-адрес коммутатора в свойствах IP-группы |
|
|
Логин коммутатора в свойствах IP-группы |
||
|
Пароль коммутатора в свойствах IP-группы |
||
|
Remote ID коммутатора в свойствах IP-группы |
||
|
ID коммутатора в свойствах IP-группы |
||
|
Порт коммутатора в свойствах IP-группы |
||
|
VLAN в свойствах IP-группы |
|
Переменные SPLINK_ID, TRAFFIC_LIMIT, UTELLOGINS, UTELNUMBERS, и IP_LIST являются устаревшими и не используются |
Среди переменных используются следующие перечисления:
см. Лицевые счета.
см. Услуги.
Ниже приведён список возможных событий, инициирующих выполнение команды:
выполняется для каждой IP-группы в каждой сервисной связке услуги передачи IP-трафика, принадлежащего лицевому счёту, при изменении статуса Internet данного счёта с "выключен" на "включен";
выполняется дважды для каждой IP-группы в каждой сервисной связке услуги передачи IP-трафика, принадлежащего лицевому счёту, при изменении статуса Internet данного счёта с "включен" на "выключен";
выполняется для пользователя при добавлении данного пользователя в систему (через интерфейс администратора или автоматически);
выполняется для пользователя при изменении данных этого пользователя;
выполняется для пользователя при его удалении;
–Изменение состояния блокировки
выполняется для лицевого счёта при изменении состояния блокировки (т. е. при его блокировке или разблокировке);
–Оповещение об изменении баланса
выполняется для лицевого счёта при прохождении его баланса через границы, заданные системным параметром notification_borders. Событие выполняется только в случае прохождения границы, вызванного уменьшением баланса;
выполняется для сервисной связки при поступлении RADIUS-запроса Accounting-Start;
выполняется для сервисной связки при поступлении RADIUS-запроса Accounting-Stop;
выполняется для сервисной связки услуги коммутируемого доступа при её создании;
выполняется для сервисной связки услуги коммутируемого доступа при изменении её параметров;
выполняется для сервисной связки услуги коммутируемого доступа при её удалении;
выполняется для сервисной связки услуги передачи IP-трафика при её добавлении;
выполняется для сервисной связки услуги передачи IP-трафика при изменении её параметров;
выполняется для сервисной связки услуги передачи IP-трафика при её удалении;
выполняется для сервисной связки услуги телефонии при её добавлении;
выполняется для сервисной связки услуги телефонии при изменении её параметров;
выполняется для сервисной связки услуги телефонии при её удалении;
выполняется для сервисной связки hotspot при авторизации пользователя;
выполняется для сервисной связки hotspot при выходе пользователя или прекращении сессии;
выполняется для пользователя при добавлении данного пользователя в систему через web-интерфейс;
выполняется для сервисной связки при добавлении к ней технического параметра (см. Технические параметры);
выполняется для сервисной связки при изменении связанного с ней технического параметра;
выполняется для сервисной связки при удалении связанного с ней технического параметра;
–Установка ширины входящего канала
выполняется для каждой IP-группы при наступлении условий шейпирования для входящего канала по данной сервисной связке (см. Динамическое шейпирование);
–Изменение ширины входящего канала
выполняется для каждой IP-группы при смене условий шейпирования для входящего канала по данной сервисной связке (например, при переходе трафика через границы шейпирования);
–Снятие ограничений на входящий канал
выполняется для каждой IP-группы при выходе входящего канала по данной сервисной связке из-под условий шейпирования (например, при обнулении количества трафика в момент завершения отчётного периода);
–Установка ширины исходящего канала
выполняется для каждой IP-группы при наступлении условий шейпирования для исходящего канала по данной сервисной связке (например, при достижении трафиком нижней границы шейпирования);
–Изменение ширины исходящего канала
выполняется для каждой IP-группы при смене условий шейпирования для исходящего канала по данной сервисной связке;
–Снятие ограничений на исходящий канал
выполняется для каждой IP-группы при выходе исходящего канала по данной сервисной связке из-под условий шейпирования;
–Закрытие файла детальной статистики
выполняется для файла детальной статистики при его закрытии;
выполняется для log-файла при его закрытии;
выполняется при внесении платежа;
выполняется при выдаче нового IP-адреса;
выполняется при обновлении аренды IP-адреса;
выполняется при истечении аренды IP-адреса;
выполняется при создании сервисной связки IPTV;
выполняется при изменении сервисной связки IPTV;
выполняется при удалении сервисной связки IPTV;
–Добавление связки Видео по запросу
выполняется при создании сервисной связки Видео по запросу;
–Изменение связки Видео по запросу
выполняется при изменении сервисной связки Видео по запросу;
–Удаление связки Видео по запросу
выполняется при удалении сервисной связки Видео по запросу;
–Запись в отчёт Изменения пользователей
выполняется при любых изменениях данных пользователя, которые отражены в отчёте Изменения пользователей.
Преобразование правил брандмауэров, созданных в UTM сборки 5.2.1-006 или ранее, производится вручную.
Брандмауэр – это объект системы, предназначенный для идентификации аффектора, коммутатора или поставщика NetFlow.
На странице интерфейса администратора Настройки: Список брандмауэров приведён список зарегистрированных в системе брандмауэров, с возможностью добавления, редактирования и удаления.
Брандмауэр обладает следующими параметрами:
задается автоматически.
Локальный, если команды будут исполняться локально, или Cisco (rsh), если команды будут передаваться по протоколу rsh. Тип брандмауэра должен соответствовать параметру firewall_type конфигурационного файла RFW, сопоставляемого с данным брандмауэром.
уникальное имя, по которому происходит идентификация подключающихся к ядру RFW. Наименование брандмауэра должно соответствовать параметру rfw_name конфигурационного файла RFW, сопоставляемого с данным брандмауэром.
адрес поставщика NetFlow, указываемый в свойствах IP-группы.
логин, используемый в качестве remote login при авторизации по rsh. Только для типа брандмауэра Cisco (rsh). В качестве local login всегда передаётся netup.
носит информационный характер.
Сценарий создания брандмауэра описан в примере Создание брандмауэра.
Исполняемый файл utm5_rfw называется /netup/utm5/bin/utm5_rfw .
В командной строке можно передавать следующие параметры:
Путь к конфигурационному файлу |
|
Синхронизация правил firewall при запуске (выполняются только команды, связанные с данным RFW, и только на данном RFW). Возможные флаги см. в разделе Синхронизация правил. |
|
Вывод информации о версии и допустимых параметрах командной строки |
В UNIX-системах существует 3 способа запуска utm5_rfw:
1.Непосредственный запуск бинарного файла /netup/utm5/bin/utm5_rfw с необходимыми параметрами.
2.Запуск с помощью скрипта watchdog с указанием параметра start:
/netup/utm5/bin/safe_utm5_rfw start |
В этом случае исполняемому файлу будет передан параметр -f. Скрипт автоматически перезапустит utm5_rfw в случае, если он по каким-либо причинам некорректно завершит работу.
3.Запуск с помощью скрипта автоматического запуска (рекомендуемый способ).
/etc/init.d/utm5_rfw start |
/usr/local/etc/rc.d/utm5_rfw.sh start |
В этом случае произойдет запуск скрипта watchdog.
Для остановки utm5_rfw и скрипта watchdog следует выполнить команду:
/etc/init.d/utm5_rfw stop |
/usr/local/etc/rc.d/utm5_rfw.sh stop |
Для запуска RFW на удалённой машине необходимо, чтобы параметры core_host и core_port в его конфигурационном файле соответствовали адресу и порту, которые используются ядром UTM5 для соединения по протоколу Stream.
На одной машине может одновременно работать несколько RFW с различными конфигурационными и PID-файлами.
По умолчанию UTM5 RFW использует конфигурационный файл /netup/utm5/rfw5.cfg.
Формат конфигурационного файла:
параметр=значение |
Набор символов до знака равенства является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #, считается комментарием.
Ниже приведён список возможных параметров.
Параметры журналирования (подробнее см. в разделе Журналирование):
Параметр |
Возможные значения |
Значение по умолчанию |
Описание |
число от 0 до 3 |
1 |
Определяет уровень сообщений, которые пишутся в основной поток сообщений. |
|
имя файла |
стандартный поток ошибок |
Файл основного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл отладочного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл критического потока сообщений |
|
yes, on, enable |
ротация отключена |
Включает ротацию log-файлов |
|
число |
не ограничено |
Максимальное количество хранимых log-файлов |
|
max_logfile_size (a) |
размер в байтах |
10485760 |
Размер файла, при достижении которого производится ротация. |
имя файла |
/var/run/ utm5_rfw.pid |
PID-файл |
|
string |
не задано |
Префикс, добавляемый к записям при включенной опции записи в системный журнал (syslog). |
Параметр core_timeout является устаревшим и не рекомендуется к использованию.
При автоматическом запуске модуля при старте системы может быть инициировано выполнение определённых правил для восстановления конфигурации стороннего ПО. Выполняются только команды, связанные с данным RFW, и только на данном RFW. Набор правил для выполнения определяется флагами.
Флаги синхронизации (возможные значения перечислены ниже) задаются параметром конфигурационного файла sync_flags или параметром командной строки -s, причём последний имеет приоритет. Можно одновременно использовать несколько флагов, разделяя их двоеточиями.
–enable – выполнить правила, ассоциированные с событием "Включение Internet";
–disable – выполнить правила "Выключение Internet";
–users – выполнить правила "Добавление пользователя";
–iptraffic – выполнить правила "Добавление связки IP-трафика";
–dialup – выполнить правила "Добавление связки dialup";
–blocks – выполнить правила "Изменение типа блокировки";
–shaping – выполнить правила "Установление ограничений dynashape".