В ARMA Стена все логи хранятся в бинарном виде. Это необходимо для локального просмотра логов в интерфейсе CLI. По умолчанию для глобальных логов отведено место на диске в размере 10 Гб. После заполнения отведённого места старые логи будут перезаписываться.
Для изменения максимального размера локального хранилища всех журналов необходимо ввести следующую команду:
set system logging global max-size <size>
где <size> – размер хранилища в гигабайтах. Возможно указание значения в диапазоне от «1» до «100».
Для просмотра фактического объёма, занимаемого всеми журналами, необходимо ввести следующую команду:
admin@ngfwos:~$ show logging global size
Для очистки всех журналов необходимо ввести следующую команду:
Для просмотра всех событий системы ARMA Стена в локальном консольном интерфейсе необходимо ввести команду:
admin@ngfwos:~$ show logging all [| <filter>]
где <filter> - дополнительный фильтр для уточнения и обработки выводимых данных. Возможно применить следующие фильтры:
count - подсчитывает количество строк, соответствующих текущему запросу, и выводит это число на экран. Позволяет быстро определить объем данных без необходимости их просмотра.
json - преобразует вывод в формате JSON. Используется при интеграции с внешними системами мониторинга или автоматизации.
match <pattern> - отображает только те строки, которые содержат заданный текстовый шаблон <pattern>. Позволяет выполнять точечный поиск событий по ключевым словам или кодам ошибок.
no-match <pattern> - исключает из вывода строки, содержащие указанный текстовый шаблон <pattern>. Позволяет скрывать информационные сообщения или другие несущественные записи.
more - активирует постраничный вывод результатов. Удобен при работе с длинными списками записей в консоли.
no-more - отключает постраничный вывод, обеспечивая немедленное отображение всего результата. Используется при необходимости получить полный вывод без пауз.
strip-private - маскирует или удаляет частную информацию из записей журнала, такую как IP-адреса, имена пользователей, идентификаторы сессий и т. д.. Используется при подготовке журналов для внешней отправки, например, службе поддержки, с соблюдением требований конфиденциальности.
Примечание
Некоторые дополнительные фильтры <filter> могут быть недоступны для использования в отдельных командах просмотра событий. В случае, если выбранная команда не поддерживает применение указанного фильтра, система отображает соответствующее информационное сообщение.
Для просмотра событий всех сервисов системы ARMA Стена в локальном консольном интерфейсе необходимо ввести команду:
admin@ngfwos:~$ show logging [| <filter>]
Для просмотра всех системных логов ядра (kernel logs) в локальном консольном интерфейсе необходимо ввести команду:
admin@ngfwos:~$ show logging kernel [| <filter>]
Для вывода событий отфильтрованных по сервису следует ввести команду:
admin@ngfwos:~$ show logging <service-name> [| <filter>]
где <service-name> – имя сервиса. Список сервисов, используемых для фильтрации событий, указан в таблице «Сервисы».
Дополнительно возможно выполнить фильтрацию сервисов, кроме сервиса «third-party service drweb gss», по действиям пользователей, указав класс, имя пользователя, дату и время событий:
admin@ngfwos:~$ show logging <service-name|all> class <class-name|all> [user <user-name|all>] [date <date|all>] [time <time|all>] [| <filter>]
где:
<service-name|all> - имя сервиса. Список сервисов, используемых для фильтрации событий, указан в таблице «Сервисы». Если указано значение «all», фильтрация по сервису не осуществляется;
<class-name|all> - имя класса. Если указано значение «all», фильтрация по классу не осуществляется. Для инвертирования значения используется знак «!»;
<user-name|all> - имя пользователя. Если указано значение «all», фильтрация по имени пользователя не осуществляется. Для инвертирования значения используется знак «!»;
<date|all> - дата события. Возможно указать значение в формате:
«yyyy-mm-dd» - выводятся записи лога, строго соответствующие указанной дате;
«yyyy-mm» - выводятся записи лога за каждый день указанного месяца и года;
«yyyy-mm-dd/yyyy-mm-dd» - выводятся записи лога с первой по вторую даты включительно;
«all» - фильтрация по дате не осуществляется;
<time|all> - время события. Возможно указать значение в формате:
«hh24:mm:ss» - выводятся записи лога, строго соответствующие указанному времени;
«hh24:mm» - выводятся записи лога, соответствующие указанному часу и минуте;
«hh» - выводятся записи лога, соответствующие указанному часу;
«hh24:mm:ss/hh24:mm:ss» - выводятся записи лога в указанный промежуток времени, включая пограничные метки времени;
«all» - фильтрация по времени не осуществляется.
Для всех сервисов, кроме «firewall», «kernel», «nat», «third-party service drweb gss» и «users», возможно дополнительно указать уровень события:
admin@ngfwos:~$ show logging <service-name> level <event_levels> [| <filter>]
где <event_levels> - имя уровня события. Возможно указать значения, представленные в таблице «Уровни событий»:
В случае фильтрации событий по сервису NAT возможно дополнительно указать направление трафика:
admin@ngfwos:~$ show logging nat <source|static|destination> [| <filter>]
Для сервиса VPN допустимо указать дополнительные фильтры:
admin@ngfwos:~$ show logging vpn [<filter>] [level <event_levels>] [| <filter>]
где:
<filter> - имя фильтра. Возможно указать следующие значения:
«ipsec»;
«l2tp»;
«openconnect»;
«openvpn»;
«pptp»;
«sstp»;
«wireguard»;
<event_levels> - уровень события. Возможно ввести значение указанное в таблице «Уровни событий».
Для сервиса DNS предусмотрены дополнительные фильтры «dynamic» и «forwarding», которые возможно классифицировать по уровням событий, приведённых в таблице «Уровни событий»:
admin@ngfwos:~$ show logging dns <dynamic|forwarding> [level <event_levels>] [| <filter>]
Для сервиса third-party service drweb gss допустимо указать дополнительные фильтры:
admin@ngfwos:~$ show logging third-party service drweb gss [<filter>] [| <filter>]
где <filter> - дополнительный фильтр событий журнала Dr.Web. Возможно указать следующие значения:
config - события, связанные с конфигурацией Dr.Web;
http - события, связанные с обработкой HTTP-запросов/ответов через Dr.Web;
icapd - события компонента Dr.Web ICAPD;
netcheck - события сетевых проверок, например, соединений с серверами обновлений;
scan-engine - события о работе сканирующего движка Dr.Web;
update - события, связанные с обновлением Dr.Web;
url-check - события проверки URL-адресов на предмет вредоносного содержимого.
События сервиса idps возможно отфильтровать с помощью дополнительных фильтров:
Для всех сервисов, кроме «firewall», «kernel», «nat» и «users», возможно дополнительно установить уровни событий, указанные в таблице «Уровни событий».
Пример команды для экспорта журнала в файл «Log1» с фильтрацией событий сервиса «ssh» по уровню «alert»:
set system logging file Log1 log ssh level alert
В случае настройки экспорта журнала действий пользователей «users» возможно дополнительно указать класс пользователей или имя пользователя:
set system logging file <name> log users class <name_class>
set system logging file <name> log users name <user>
где:
<name_class> – класс пользователей;
<user> – имя пользователя.
В параметрах <name_class> и <user> допустимо указать несколько значений, разделенных запятыми без пробелов. Для инвертирования значения или значений необходимо использовать знак «!».
В случае настройки экспорта журнала NAT возможно дополнительно указать направление трафика:
set system logging file <name> log nat destination
set system logging file <name> log nat source
set system logging file <name> log nat static
Примечание
В случае настройки по направлениям «destination» и «static», будет выполняться логирование только первого пакета.
Для журнала VPN предусмотрены следующие дополнительные фильтры: «ipsec», «12tp», «openconnect», «openvpn», «pptp», «sstp», «wireguard». Фильтры возможно классифицировать в зависимости от уровня событий, указанным в таблице «Уровни событий», например:
set system logging file ipsec_alert log vpn sstp level alert
где:
«ipsec_alert» – имя файла, в который будут записываться все события соответствующие уровню alert протокола sstp;
«vpn sstp» – применённый фильтр событий;
«alert» – уровень логирования.
Для журнала DNS предусмотрены дополнительные фильтры «dynamic» и «forwarding», которые возможно классифицировать по уровням событий, указанным в таблице «Уровни событий»).
set system logging file <name> log dns [<dynamic | forwarding> level <event_levels>]
Для журнала Dr.Web допустимо указать дополнительные фильтры:
set system logging file <name> log third-party service drweb gss [<filter>]
где <filter> - дополнительный фильтр событий журнала Dr.Web. Возможно указать следующие значения:
config - события, связанные с конфигурацией Dr.Web;
http - события, связанные с обработкой HTTP-запросов/ответов через Dr.Web;
icapd - события компонента Dr.Web ICAPD;
netcheck - события сетевых проверок, например, соединений с серверами обновлений;
scan-engine - события о работе сканирующего движка Dr.Web;
update - события, связанные с обновлением Dr.Web;
url-check - события проверки URL-адресов на предмет вредоносного содержимого.
Все дополнительные фильтры сервисов, которые возможно использовать при экспорте журналов на удалённый сервер, описаны в разделе «Экспорт журнала в файл».
Команды для настройки дополнительных параметров отправки событий на удалённый сервер:
set system logging host <hostname> protocol <protocol>
set system logging host <hostname> port <portnumber>
set system logging host <hostname> format <rfc3164|cef>
где:
<protocol> – тип транспортного протокола. Возможно указание значения «tcp» или «udp». По умолчанию используется протокол «tcp»;
<portnumber> – порт удалённого сервера. По умолчанию используется порт «514».
<rfc3164|cef> - формат отправки событий на удалённый сервер. Возможно указать значение «rfc3164» или «cef».
Экспорт на удалённый сервер по протоколу Syslog (RFC3164) с шифрованием TLS (RFC5425) без проверки сертификатов
Для экспорта событий на удалённый сервер с шифрованием TLS (RFC5425) без проверки сертификатов необходимо в режиме конфигурирования ввести следующие команды:
set system logging host <hostname> encryption yes
set system logging host <hostname> protocol tcp
set system logging host <hostname> port 6514
set system logging host <hostname> format cef
В режиме шифрования рекомендуется использовать порт «6514».
Примечание
Шифрование трафика осуществляется исключительно по протоколу «tcp».
Для версий rsyslog младше 8.19.0, возможно, потребуется импортировать корневой сертификат (CA) в ARMA Стена. Для этого необходимо выполнить следующие действия:
Скопировать корневой сертификат (CA) rsyslog в ARMA Стену в каталог «/config/» (каталог указан в качестве примера).
Ввести следующую команду в режиме эксплуатации:
admin@ngfwos:~$ import pki ca <ca_name> file </config/ca.pem>
где:
<ca_name> - имя корневого сертификата;
</config/ca.pem> - место расположения скопированного корневого сертификата.
После выполнения команды система сгенерирует команду, которую необходимо ввести в режиме конфигурации, а затем применить и сохранить изменения:
You are not in configure mode, commands to install manually from configure mode:
set pki ca <ca_name> certificate 'MIIELzCCApegAwIBAg......o=='
# Перейти в конфигурационный режим работы:
admin@ngfwos:~$ conf
# Ввести ранее сгенерированную команду:
admin@ngfwos# set pki ca <ca_name> certificate 'MIIELzCCApegAwIBAg......o=='
# Применить и сохранить изменения в конфигурации:
admin@ngfwos# commit
admin@ngfwos# savee
Ввести команду для сохранения корневого сертификата в конфигурационный файл:
set system logging global ssl ca-certificate <ca_name>
# Применить и сохранить изменения в конфигурации:
admin@ngfwos# commit
admin@ngfwos# save
Настройки сервера rsyslog
На сервере rsyslog требуется установить пакет rsyslog-gnutls. Проверить наличие пакета возможно с помощью команды:
dpkg -l | grep rsyslog-gnutls
Если пакет не установлен, его возможно установить с помощью команды:
sudo apt-get install rsyslog-gnutls
Необходимо настроить сервер rsyslog для приёма шифрованного трафика от ARMA Стена:
Экспорт на удалённый сервер по протоколу Syslog (RFC3164) с шифрованием TLS (RFC5425) и проверкой сертификатов
Настройка экспорта событий на удалённый сервер с использованием шифрования протокола TLS (в соответствии с RFC 5425) и проверкой подлинности сертификатов рассматривается на примере, в котором система ARMA Стена выступает в качестве источника генерации необходимых криптографических сертификатов.
Для реализации указанного режима передачи данных необходимо выполнить следующую последовательность действий:
Сгенерировать и установить корневой сертификат:
# Команда вводится в конфигурационном режиме:
run generate pki ca install ca_test
# Параметры создания сертификата указаны по умолчанию:
Enter private key type: [rsa, dsa, ec] (Default: rsa)
Enter private key bits: (Default: 2048)
Enter country code: (Default: GB)
Enter state: (Default: Some-State)
Enter locality: (Default: Some-City)
Enter organization name: (Default: NGFWOS)
Enter common name: (Default: ngfwos.net)
Enter how many days certificate will be valid: (Default: 1825)
Note: If you plan to use the generated key on this router, do not encrypt the private key.
Do you want to encrypt the private key with a passphrase? [y/N]
2 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply
где ca_test - имя корневого сертификата, используемого в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сгенерировать и установить клиентский сертификат:
# Команда вводится в конфигурационном режиме:
run generate pki certificate sign ca_test install client_test
# Параметры создания сертификата указаны по умолчанию, за исключением следующих
полей: «common name» - 192.168.1.33 и «certificate type» - client:
Do you already have a certificate request? [y/N]
Enter private key type: [rsa, dsa, ec] (Default: rsa)
Enter private key bits: (Default: 2048)
Enter country code: (Default: GB)
Enter state: (Default: Some-State)
Enter locality: (Default: Some-City)
Enter organization name: (Default: NGFWOS)
Enter common name: (Default: ngfwos.net) 192.168.1.33
Do you want to configure Subject Alternative Names? [y/N]
Enter how many days certificate will be valid: (Default: 365)
Enter certificate type: (client, server) (Default: server) client
Note: If you plan to use the generated key on this router, do not encrypt the private key.
Do you want to encrypt the private key with a passphrase? [y/N]
2 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.
где:
client_test - имя клиентский сертификата, используемого в качестве примера;
192.168.1.33 - IP-адрес системы ARMA Стена, используемый для сетевого взаимодействия с сервером rsyslog.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сгенерировать и сохранить в файл сертификат для сервера rsyslog:
# Команда вводится в конфигурационном режиме:
run generate pki certificate sign ca_test file /home/admin/
# Параметры создания сертификата указаны по умолчанию, за исключением следующих
полей: «common name» - 192.168.1.27 и «certificate type» - server:
Do you already have a certificate request? [y/N]
Enter private key type: [rsa, dsa, ec] (Default: rsa)
Enter private key bits: (Default: 2048)
Enter country code: (Default: GB)
Enter state: (Default: Some-State)
Enter locality: (Default: Some-City)
Enter organization name: (Default: NGFWOS)
Enter common name: (Default: ngfwos.net) 192.168.1.27
Do you want to configure Subject Alternative Names? [y/N]
Enter how many days certificate will be valid: (Default: 365)
Enter certificate type: (client, server) (Default: server) server
Note: If you plan to use the generated key on this router, do not encrypt the private key.
Do you want to encrypt the private key with a passphrase? [y/N]
File written to /home/admin/.pem
File written to /home/admin/.key
где 192.168.1.27 - IP-адрес сервера rsyslog.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
После выполнения команды в указанном каталоге /home/admin/ будут созданы два файла без явно заданных имён:
Необходимо скопировать сертификат и сохранить его в новый текстовый файл. Затем изменить расширение файла с «.txt» на «.pem» и перенести его на сервер rsyslog.
Настроить систему ARMA Стена на экспорт событий на сервер rsyslog:
# Сохранить корневой и клиенский сертификаты в конфигурационный файл:
set system logging global ssl ca-certificate ca_test
set system logging global ssl certificate client_test
# Установить отправку событий сервиса ssh на сервер rsyslog:
set system logging host 192.168.1.27 log ssh
set system logging host 192.168.1.27 format cef
set system logging host 192.168.1.27 protocol tcp
set system logging host 192.168.1.27 encryption yes
set system logging host 192.168.1.27 port 6514
# Установить отправку событий на сервер rsyslog по адресу 192.168.1.27
с аутентификацией через X.509-сертификат клиента:
set system logging host 192.168.1.27 authentication x509-name
Зафиксировать изменения с помощью ввода команд «commit» и «save».
В системе ARMA Стена необходимо создать и установить API ключ для выполнения HTTP-запросов. API-ключ - это отдельный пароль для локальных УЗ в системе ARMA Стена, использующийся для выполнения HTTP-запросов. Данный ключ предоставляет доступ к системе ARMA Стена посредством ARMA Management Console (МС) начиная с версии 1.8 и выше.
Для создания и установки API ключа необходимо ввести следующую команду в конфигурационном режиме:
set service https api keys user <УЗ> key <key>
где:
<УЗ> - имя локальной учётной записи в системе ARMA Стена;
<key> - пользовательский пароль (API-ключ) для локальной учётной записи <УЗ>. Данные параметры будут использоваться для взаимодействия с МС.
Примечание
При использовании API-ключа, созданного для учётной записи с ограниченными привилегиями в системе ARMA Стена (см. раздел «Назначение прав доступа пользовательским учётным записям» руководства администратора ARMA Стена), доступ к функциональным возможностям веб-интерфейса ARMA Стена в МС будет предоставлен в соответствии с уровнем прав, назначенных данной учётной записи. В случаях, когда доступ к определённому разделу отсутствует, в нижнем левом углу экрана будет отображаться сообщение об ошибке: «Request failed with status code 500».
Примечание
Рекомендуется создать API-ключ для учётной записи, относящейся к классу «NGFW_Administrators», либо использовать встроенную учётную запись «admin». В случае если при инсталляции системы ARMA Стена для учётной записи «admin» был создан API-ключ, и данная учётная запись будет использоваться для подключения к МС, выполнять команду «set service https api keys …» не требуется. В этом случае будет использоваться ключ, указанный в процессе инсталляции.
Применить настройки командой commit:
admin@ngfwos# commit
WARNING: No certificate specified, using build-in self-signed
certificates. Do not use them in a production environment!
[ service https ]
WARNING: No certificate specified, using build-in self-signed
certificates. Do not use them in a production environment!
«Наименование» – отображаемое в МС имя устройства. Параметр может содержать только латинские и кириллические буквы, пробел, спецсимволы («.», «_», «-») и не может превышать 128 символов;
«IP-адрес» – IP-адрес подключаемой ARMA Стена;
«Логин пользователя» – ввести имя учётной записи (<УЗ>), используемой для создания API-ключа в системе ARMA Стена;
«API-Ключ» – ввести пароль (<key>), указанный при создании API-ключа для учётной записи (<УЗ>) в ARMA Стена;
«Порт» – значение порта входящих логов. Указываются порты в диапазоне от «1500» до «65535». Значение должно быть уникальным, не заданным ранее в источниках МС.
При необходимости заполнить поле «Описание» дополнительной информацией об устройстве. Поле может содержать не более 250 символов.
Рисунок – Добавление нового источника событий «NGFW»
После сохранения настроек в столбе «Статус» таблицы «Источники» отобразится значение «Подключено». При указании неверных учётных данных МС отобразит статус «Не авторизован». Статус «Ошибка» отображается, если произошла ошибка, которая может быть связана с аппаратным или программным обеспечением источника «NGFW», а также при использовании данных несуществующей локальной учётной записи в ARMA Стена.
Все дополнительные фильтры сервисов, которые возможно использовать при экспорте журналов в терминал пользователя, описаны в разделе «Экспорт журнала в файл».