Другое
ОС Windows. Утилита Sysmon
Об утилите
Sysmon (System Monitor) - утилита, которая позволяет получить более полные сведения о событиях Windows.
Ссылка на ресурс Microsoft для подробного изучения.
Для запуска утилиты необходимо, чтобы на машине, на которой планируется сбор событий, было расположено два файла: файл-установщик с расширением .bat или .exe и файл конфигурации с расширением .xml. Для удобства работы рекомендуется расположить эти файлы в одной папке.
Актуальную версию утилиты можно скачать с официального ресурса Microsoft
Настройка источника
-
Установите и настройте утилиту Sysmon:
-
Нажмите Пуск+S на клавиатуре
-
Введите в строке поиска cmd и нажмите Enter
-
Перейдите в папку, где лежат файл-установщик и файл конфигурации с помощью команды
cd <directory>
Пример: C:\Windows\system32> cd с:\Sysmon
-
Установите утилиту Sysmon с помощью команды
sysmon.exe -i <configfile>
Пример: C:\Windows>sysmon.exe -i sysmon.xml
-
-
После успешной установки в Просмотре событий Windows (Event Viewer) появится новый журнал (Channel) Microsoft-Windows-Sysmon/Operational.
Включение источника на Платформе
Процесс включения источника на Платформе не отличается от включения источника на Платформе для Microsoft Windows
Настройка коллектора событий
Процесс настройки лог-коллектора отличается от настройки коллектора событий для Microsoft Windows только настройкой журналов для сбора событий.
Для отправки событий журнала Sysmon на Платформу необходимо внести изменение в файл конфигурации лог-коллектора. В разделе eventlog_collector необходимо указать в строке channel имена всех журналов, события которых нужно отправить на Платформу, через запятую.
Пример: channel: ['Security','Microsoft-Windows-Sysmon/Operational']
Инструкция по настройке vipnet для отправки событий в платформу
Отправка событий в формате syslog + CEF
Чтобы настроить передачу данных в платформу Пангео Радар в формате CEF, выполните следующие действия:
-
Подключитесь к консоли Координатора и пройдите авторизацию с полномочиями администратора.
user: user password: 11111111 Вход в режим администратора enabled (или en) password: 11111111
-
Определите идентификатор МСЭ, который содержится в приглашении командной строки в составе имени узла (например, xF1000-270E033A, где 270E033A — идентификатор МСЭ).
-
Данная настройка работает только в демоне iplircfg.
-
Остановите работу демона iplircfg командой:
iplir stop
(илиip sto
) -
Откройте файл конфигурации iplir.conf для редактирования командой:
iplir config
(илиip co
) -
Задайте параметры экспорта журнала в секции [misc]:
cef_enabled= yes. cef_ip = ip-адрес лог-коллектора. cef_port = 514 (или любой другой, который будет использоваться в источнике).
Дополнительный параметр:
cef_format = ips, или xf
-
Задайте параметры debug в секции
[debug]
[debug]: debuglevel = 3 debuglogfile = syslog:daemon.debug
Секция debuglevel может иметь параметры от -1 до 4 (в старых випнетах версии 3.х до 5-го). Чем выше уровень детализации, тем более подробная информация выводится в журнал. Значение параметра -1 выключает ведение журнала (при этом некоторые важные системные события по-прежнему будут выводиться в журнал).
Секция debuglogfile — источник информации, выводимой в журнал, в формате:
syslog:<facility.level>
, где: facility — процесс, формирующий информацию.
Возможные значения: auth, authpriv, cron, daemon, ftp, kern, lpr, mail, mark, news, security, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6, local7.
level — уровень важности информации.
Возможные значения: emerg, panic, alert, crit, err, error, warn, warning, notice, info, debug, none.Значение параметра debuglogfile по умолчанию — syslog:daemon.debug
Значение параметра debuglogfile = syslog:syslog.debug при запуске перезаписывает все другие добавленные параметры debuglogfile
-
Сохраните изменения и закройте конфигурационный файл iplir.conf. Для этого нажмите сочетание клавиш Ctrl+O, далее клавишу Enter и сочетание клавиш Ctrl+X.
-
Должно появиться сообщение:
Verifying new configuration <I_CFG> Command: iplir config – iplir.conf has been edited successfully
-
В случае ошибки появится сообщение типа:
Verifying new configuration /tmp/vipnet/user/iplir.conf/, line 151: invalid ‘/debuglogfile/’ value error: verification of on configuration has been failed/ <I_CFG> Command:iplir config : incorrect configuration, please try again Roll back the changes are restore the previous version file [Yes/No]:
При вводе Yes (или Y) возвращает предыдущий успешно сохраненный конфиг.
При вводе No (или N) возвращает только что измененный конфиг (с ошибкой).
-
Запустите демон iplircfg командой:
iplir start
(илиip sta
) -
Проверьте настройки сервиса iplir без его остановки:
Iplir show config (или ip sh co)
-
Создайте разрешающее исходящее правило лог-коллектора командой:
firewall local add src @local dst [IP-адрес лог-коллектора] udp dport 514 pass
например:
firewall local add src @local dst 192.168.0.2 udp dport 514 pass
-
Задайте параметр отправки событий на адрес лог-коллектора командой:
machine set loghost [IP-адрес лог-коллектора]
Синтаксис –
machine set loghost {<IP-адрес> | local | null}
— IP-адрес удаленного сетевого узла, на который должен отправляться системный журнал (удаленное протоколирование). local — системный журнал хранится на самом ViPNet Coordinator HW (локальное протоколирование).
null — выключение протоколирования.
-
Перезапустите службу лог-коллектора.
-
Включите источник VipNet в "Источники" -> "Управлении Источниками" и нажмите кнопку "Синхронизировать".
-
Проверьте результат в Платформе / Просмотр событий. Должны появиться события.
-
Настройка для лог-коллектора на получение и отправку событий от vipnet HW
udp_input_vipnet: &udp_input_vipnet
id: "udp_input_vipnet"
host: "0.0.0.0"
port: 514
sock_buf_size: 0
format: "JSON"
log_level: "INFO"
udp_output_vipnet: &udp_output_vipnet
id: "udp_output_vipnet"
target_host: "<ip-адрес платформы>"
port: 2211
batch_mode_enable: false
batch_flush_interval: 5
batch_flush_limit: 200
ssl_compression: false
require_cert: false
ssl_enable: false
cert_file: "client-cert.pem"
key_file: "client-key.pem"
cert_key_pass: ""
ca_file: "ca.pem"
log_level: "INFO"
senders:
port: 48002
udp:
- <<: *udp_output_vipnet
collectors:
log_level: "INFO"
udp_receiver:
- <<: *udp_input_vipnet
route_1_vipnet: &route_1_vipnet
collector_id:
- "udp_input_vipnet"
sender_id:
- "udp_output_vipnet"
routers:
- <<: *route_1_vipnet
Подключение новых источников, не поддерживаемых Платформой
- Необходимо кликнуть на раздел “Источники”, “Управление источниками”,
- В поле “Добавить новый источник” настроить новый источник:
- В поля “Название”, “Тип”, “Вендор” необходимо указать соответствующие значения для добавляемой системы.
- В поле “Порт” необходимо указать один из свободных портов, куда будут отправляться события с нового источника (+- диапазон 6000-8000).
- В поле “input_type” необходимо указать протокол, по которому будут отправляться события.
- В поле “template_format” необходимо выбрать один из шаблонов форматов, в которых будут приходить события.
- В поле “message_type” необходимо указать идентификатор сообщений новой системы.
- В поле “parsers” обязательно необходимо указать “common”.
- В поле “normalizer” обязательно необходимо указать “passthrough”
- После добавления нового источника его необходимо включить, после чего нажать на кнопку “Синхронизировать”.
Если все настроено правильно, то в индексе errors должны начать появляться события с добавленного источника.
Добавление UFW в качестве источника
-
Проверить статус UFW:
$ sudo ufw status Status: active
-
В случае его неактивности включить:
$ sudo ufw enable
-
Включить логирование и выбрать его уровень (можно также править в
/etc/ufw/ufw.conf
):$ sudo ufw logging on $ sudo ufw logging low | medium | high | full
-
Добавить в конфигурационный файл rsyslog’a строку:
:msg,contains,"[UFW " @<ip-адрес коллектора>:<порт>
-
Перезапустить службу rsyslog.
$ sudo systemctl restart rsyslog.service
Linux Auditd
Подключение Linux Auditd в качестве источника событий Платформы Радар. В качестве примера используется виртуальная машина на Debian 12.
-
Для установки auditd в «Командной строке Linux» (далее – Терминал) выполните следующую команду:
apt-get install auditd audispd-plugins
-
Далее нужно настроить конфигурационный файл auditd. Для этого необходимо:
-
Открыть файл auditd.conf, выполнив команду:
nano /etc/audit/auditd.conf
-
В открывшемся файле заменить все содержимое на содержимое:
local_events = yes write_logs = yes log_file = /var/log/audit/audit.log log_group = adm log_format = ENRICHED flush = INCREMENTAL_ASYNC freq = 50 max_log_file = 8 num_logs = 5 priority_boost = 4 disp_qos = lossy dispatcher = /sbin/audispd name_format = NUMERIC ##name = mydomain max_log_file_action = ROTATE space_left = 75 space_left_action = SYSLOG verify_email = yes action_mail_acct = root admin_space_left = 50 admin_space_left_action = SUSPEND disk_full_action = SUSPEND disk_error_action = SUSPEND use_libwrap = yes ##tcp_listen_port = 60 tcp_listen_queue = 5 tcp_max_per_addr = 1 ##tcp_client_ports = 1024-65535 tcp_client_max_idle = 0 enable_krb5 = no krb5_principal = auditd ##krb5_key_file = /etc/audit/audit.key distribute_network = no
-
-
Далее создайте «файл с правилами расширенного аудита» extended.rules и добавьте туда следующие правила:
-
Создание файла с правилами расширенного аудита
nano /etc/audit/rules.d/extended.rules
-
Содержимое файла с правилами расширенного аудита:
-i --reset-lost -a never,exit -F arch=b64 -S execve -F exe=/usr/sbin/crond -a never,exit -F arch=b64 -S execve -F exe=/lib/systemd/systemd-logind -a never,filesystem -F fstype=tracefs -a never,filesystem -F fstype=debugfs -a exclude,never -F msgtype=BPRM_FCAPS ## kernel modules -a always,exit -F arch=b64 -S finit_module,init_module,delete_module -F auid!=unset -a always,exit -F arch=b64 -S finit_module,init_module,delete_module -F auid!=unset -a always,exit -F arch=b64 -S socket -F a0=2 -a always,exit -F arch=b32 -S socket -F a0=2 -a always,exit -F arch=b64 -S socket -F a0=0xa -a always,exit -F arch=b32 -S socket -F a0=0xa -a always,exit -F arch=b64 -S socket -F a0=0x11 -a always,exit -F arch=b32 -S socket -F a0=0x11 -a always,exit -F arch=b64 -S execve,execveat -F auid=unset -F euid>=0 -F euid<1000 -a always,exit -F arch=b32 -S execve,execveat -F auid=unset -F euid>=0 -F euid<1000 ## listen -a always,exit -F arch=b64 -S listen -a always,exit -F arch=b32 -S listen ## process UID/GID -a always,exit -F arch=b64 -S setuid,setgid,setreuid,setregid -a always,exit -F arch=b32 -S setuid,setgid,setreuid,setregid ## process tracing -a always,exit -F arch=b64 -S ptrace -a always,exit -F arch=b32 -S ptrace ## capabilities #-a always,exit -F arch=b64 -S capset #-a always,exit -F arch=b32 -S capset ## ACLs and file attributes -a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr -a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr ## time -a exit,always -F arch=b64 -S adjtimex,settimeofday,clock_settime -a exit,always -F arch=b32 -S adjtimex,settimeofday,clock_settime ## hostname -a always,exit -F arch=b64 -S sethostname,setdomainname -a always,exit -F arch=b32 -S sethostname,setdomainname ## pam -a always,exit -F dir=/etc/pam.d -F perm=wa -F -a always,exit -F dir=/etc/security -F perm=wa -F ## passwd -a always,exit -F path=/etc/passwd -F auid!=unset -F auid>=1000 -F perm=r -a always,exit -F path=/etc/group -F auid!=unset -F auid>=1000 -F perm=r -a always,exit -F path=/etc/shadow -F perm=r -F auid!=unset -a always,exit -F path=/etc/passwd -F perm=wa -a always,exit -F path=/etc/group -F perm=wa -a always,exit -F path=/etc/shadow -F perm=wa -a always,exit -F path=/etc/gshadow -F perm=wa ## COD -a always,exit -F path=/etc/sssd/sssd.conf -F perm=wa -a always,exit -F path=/etc/nsswitch.conf -F perm=wa -a always,exit -F path=/etc/krb5.conf -F perm=wa -a always,exit -F path=/etc/krb5.conf.d -F perm=wa -a always,exit -F path=/etc/krb5.keytab -F perm=wa ## pki -a always,exit -F path=/etc/pki/ca-trust -F perm=wa ## audit -a always,exit -F path=/etc/libaudit.conf -F perm=wa -a always,exit -F dir=/etc/audit -F perm=wa ## init -a always,exit -F path=/etc/fstab -F perm=wa -a always,exit -F dir=/etc/sysconfig -F perm=wa ## network -a always,exit -F path=/etc/issue -F perm=wa -a always,exit -F path=/etc/issue.net -F perm=wa -a always,exit -F path=/etc/hosts -F perm=wa -a always,exit -F path=/etc/hostname -F perm=wa -a always,exit -F path=/etc/resolv.conf -F perm=wa -a always,exit -F dir=/etc/NetworkManager -F perm=wa ## login defaults -a always,exit -F path=/etc/login.defs -F perm=wa -a always,exit -F path=/etc/securetty -F perm=wa ## profiles -a always,exit -F path=/etc/bashrc -F perm=wa -a always,exit -F path=/etc/profile -F perm=wa -a always,exit -F path=/etc/profile.d -F perm=wa -a always,exit -F path=/etc/skel -F perm=wa ## package management -a always,exit -F path=/etc/yum.conf -F perm=wa -a always,exit -F dir=/etc/yum -F perm=wa -a always,exit -F dir=/etc/yum.repos.d -F perm=wa ## mail -a always,exit -F path=/etc/postfix -F perm=wa -a always,exit -F path=/etc/aliases -F perm=wa ## ntp -a always,exit -F path=/etc/ntp.conf -F perm=wa ## syslog -a always,exit -F path=/etc/rsyslog.conf -F perm=wa -a always,exit -F path=/etc/rsyslog.d -F perm=wa ## kernel -a always,exit -F path=/etc/sysctl.conf -F perm=wa -a always,exit -F path=/etc/sysctl.d -F perm=wa -a always,exit -F path=/etc/modprobe.d -F perm=wa ## logrotate -a always,exit -F path=/etc/logrotate.conf -F perm=wa -a always,exit -F path=/etc/logrotate.d -F perm=wa ## mandatory access control -a always,exit -F path=/etc/selinux/config -F perm=wa ## ssh -a always,exit -F path=/etc/ssh -F perm=wa ## ld.so -a always,exit -F path=/etc/ld.so.conf -F perm=wa -a always,exit -F path=/etc/ld.so.conf.d -F perm=wa ## sudo -a always,exit -F path=/etc/sudoers.d -F perm=r -a always,exit -F path=/etc/sudoers -F perm=r -a always,exit -F path=/etc/sudoers.d -F perm=wa -a always,exit -F path=/etc/sudoers -F perm=wa -a always,exit -F path=/etc/sudo.conf -F perm=wa -a always,exit -F path=/etc/sudo-ldap.conf -F perm=wa ## scheduler -a always,exit -F path=/etc/cron.allow -F perm=wa -a always,exit -F path=/etc/cron.deny -F perm=wa -a always,exit -F path=/etc/cron.d -F perm=wa -a always,exit -F path=/etc/cron.daily -F perm=wa -a always,exit -F path=/etc/cron.hourly -F perm=wa -a always,exit -F path=/etc/cron.monthly -F perm=wa ## boot -a always,exit -F dir=/boot -F perm=wa ## bin -a always,exit -F dir=/bin -F perm=wa -a always,exit -F dir=/usr/bin -F perm=wa -a always,exit -F dir=/sbin -F perm=wa -a always,exit -F dir=/usr/sbin -F perm=wa -a always,exit -F dir=/usr/local/bin -F perm=wa -a always,exit -F dir=/usr/local/sbin -F perm=wa -a always,exit -F dir=/usr/libexec -F perm=wa ## lib -a always,exit -F dir=/lib64 -F perm=wa -a always,exit -F dir=/usr/lib64 -F perm=wa -a always,exit -F dir=/lib -F perm=wa -a always,exit -F dir=/usr/lib -F perm=wa ## log -a always,exit -F dir=/var/log -F perm=r -F euid>=1000 -a always,exit -F dir=/var/log -F perm=wa -F auid!=unset ## spool -a always,exit -F path=/var/spool/cron -F perm=wa -a always,exit -F path=/var/spool/anacron -F perm=wa ## www -a always,exit -F path=/var/www -F perm=wa ## home -a always,exit -F dir=/home -F perm=r -F auid!=unset -a always,exit -F dir=/home -F perm=wa -F auid!=unset ## root -a always,exit -F dir=/root -F perm=r -F auid!=unset -a always,exit -F dir=/root -F perm=wa -F auid!=unset ## Finalize rules -e 1
-
-
Далее настройте плагин syslog для записи логов auditd в syslog.
-
Откройте файл syslog.conf
nano /etc/audisp/plugins.d/syslog.conf
-
Замените содержимое файла содержимым:
# This file controls the configuration of the syslog plugin. # It simply takes events and writes them to syslog. The # arguments provided can be the default priority that you # want the events written with. And optionally, you can give # a second argument indicating the facility that you want events # logged to. Valid options are LOG_LOCAL0 through 7, LOG_AUTH, # LOG_AUTHPRIV, LOG_DAEMON, LOG_SYSLOG, and LOG_USER. active = yes direction = out path = builtin_syslog type = builtin args = LOG_LOCAL6 format = string
-
-
Перезапустите сервис auditd командой:
service auditd restart
-
Далее добавьте настройку в конфигурационный файл rsyslog.conf для экспорта событий с системы на лог-коллектор:
-
Откройте файл rsyslog.conf
nano /etc/rsyslog.conf
-
Вставьте следующую строку в конце файла, указывая ip-адрес и порт
local6.* @<ip-адрес_лог-коллектора>:<выделенный_порт>
Для отправки по UDP-соединению необходимо указывать 1 символ «commercial at»/ «собачки» @ перед Ip-адресом, для TCP-соединения необходимо указывать 2 символа @@/Пример:
``` Для - UDP #local6.* @192.168.100.101:2674 Для - TCP #local6.* @@192.168.100.101:2674 ```
-
-
После выполнения всех вышеуказанных пунктов перезапустите сервис rsyslog, командой:
service rsyslog restart
-
Проверьте наличие поступающих событий в Web-интерфейсе Платформы Радар в разделе «Просмотр событий».
Confident Dallaslock
Настройка получения событий от DallasLock в Платформу Радар.
Включение аудита DallasLock:
-
В оболочке администратора DallasLock перейдите на вкладку Параметры безопасности → Аудит.
-
Найдите пункт Выгрузка журналов, кликните правой кнопкой мыши выбрав пункт Свойства (см. рисунок 7).
Рисунок 7 -- Аудит.
-
В свойствах отметьте галочкой пункт Экспорт журналов в SIEM систему. Укажите адрес сервера с лог-коллектором и выберите порт для подключения. Задайте формат и кодировку выгрузки (см. рисунок 8). Перечень журналов для логирования выберите в соответствии с требованиями информационной безопасности.
Рисунок 8 -- Выбор журналов.
Добавление новой конфигурации в коллектор:
Приведенные настройки с описанием для добавления в config.yaml ниже:
tcp_input_2: &tcp_input_2
id: "tcp_input_2"
host: "172.30.254.69"
port: 2672
sock_buf_size: 0
format: "json"
encoding:
change_to_utf8: true
original_encoding: "cp1251"
В качестве порта для подключения укажите выбранный ранее в свойствах выгрузки журналов.