Збір логів міжмережевого екрану Checkpoint (OPSEC LEA)

OPSEC LEA (Log Export API – інтерфейс, що дозволяє отримувати логи сервера управління (Checkpoint SmartCenter).
В основі OPSEC LEA лежить клієнт-серверна архітектура. В якості сервера виступає Checkpoint SmartCenter, який слухає вхідні з'єднання на порт 18184 ТСР (за замовчуванням). Клієнт OPSEC LEA підключається до Сервера на вищевказаний порт і отримує логи.
Fw1-loggrabber – програмне забезпечення, що підтримує OPSEC LEA, і призначене для отримання логів з серверів управління (Checkpoint SmartCenter – далі SC). Fw1-loggrabber може виводити отримані логи на екран, перенаправляти у файл або в syslog.
Існують версії цього як під Linux, так і під Windows (під windows не підтримується висновок syslog).
Дано:
  • Сервер управління Checkpoint. Версія ЗА Checkpoint – R77.30 (sc.local);
  • Сервер з CentOS 6.6 (loggraber.local);
  • Syslog сервер syslog.local).

Завдання:

отримати логи c SC і передати їх по протоколу syslog на зовнішній syslog сервер.

Рішення:

Для вирішення даної задачі ми будемо використовувати технологію зв'язку fw1-loggrabber і SC під назвою «sslca», яка вимагає аутентифікації. Також можливо використовувати інші механізми, в тому числі без автентифікації, які описані в MAN'е fw1-loggrabber. Ми будемо використовувати sslca по-перше тому, що він забезпечує більш безпечне з'єднання (за рахунок наявності аутентифікації), а також сама компанія Checkpoint обіцяє продовжити його підтримку в майбутніх продуктах.
Схема стенду наведена на малюнку нижче.



Малюнок 1 – Схема стенду FW1-loggrabber

Для вирішення задачі необхідно буде виконати:
  1. Установку fw1-loggrabber на сервер loggrabber.local;
  2. Створення об'єкта OPSEC LEA на стороні Checkpoint SC;
  3. Налаштування сервера управління Checkpoint;
  4. Налаштування fw1-loggrabber.
1. Установка fw1-loggrabber
Для установки потрібно завантажити саме ПО loggrabber (https://sourceforge.net/projects/fw1-loggrabber/), розпакувати архів і запустити файл INSTALL.sh з-під облікового запису root в розпакованої папки:
# gzip –d fw1-loggrabber-1.11.1-linux.tar.gz
# tar xvf fw1-loggrabber-1.11.1-linux.tar
# cd fw1-loggrabber-1.11.1-linux
# ./INSTALL.sh

Інсталяційний скрипт скопіює файли loggrabber в /usr/local/fw1-loggrabber. На цьому установка закінчена. Переходимо до налаштування.

2. Створення об'єкта OPSEC LEA
Підключившись до консолі сервера керування sc.local з допомогою графічного клієнта SmartConsole створюємо об'єкт Syslogclient (див. Малюнок 2).
У полі «host» вказуємо об'єкт, що представляє собою хост loggraber.local, в таблиці «Client Entities» вибираємо «LEA». Натискаємо кнопку «Communicate» для завдання SIC для установки з'єднання. Парольну фразу, яка використовується при створенні SIC необхідно запам'ятати, вона знадобиться пізніше. Копіюємо і зберігаємо в текстовий файл DN об'єкта — CN=Syslogclient,O=cpmgmt.hemltd.ru.ukwt9b, т. к. він знадобиться на наступному етапі.



Малюнок 2 – Настройка OPSEC об'єкта в Checkpoint

Записуємо також DN сервера управління Checkpoint (sc.local), який можна знайти натиснувши на кнопку «Test SIC status» в меню «General» об'єкта, відповідного сервера управління Checkpoint в інтерфейсі графічної консолі (див. Малюнок 3). В даному прикладі це: cn=cp_mgmt,o=cpmgmt.hemltd.ru.ukwt9b



Малюнок 3 – DN сервера управління Checkpoint (sc.local)

3. Налаштування сервера управління Checkpoint
Підключаємося до сервера управління Checkpoint (sc.local) по ssh, переходимо в режим expert і додаємо (або модифікуємо) в файл $FWDIR/conf/fwopsec.conf наступні рядки:
lea_server port 0 
lea server auth_port 18184 
lea server auth_type sslca

Після чого перезапускаємо сервіси Checkpoint:
# cpstop
# cpstart

Через графічну консоль управління Checkpoint створюємо правила міжмережевого екранування, які дозволяють трафіку по портах tcp 18184 і tcp 18210 (по порту tcp 18210 відбувається отримання сертифіката з сервера Checkpoint сервером loggrabber.local) в напрямку від сервера loggrabber.local до sc.local.
Инсталлируем політику.

4. Налаштування FW1-loggrabber
На сервері loggrabber.local встановлюємо утиліту opsec_pull з пакету opsec-tools або з OPSEC SDK. Ця утиліта потрібна для встановлення з'єднання SIC між fw1-loggrabber і сервера управління Checkpoint.
Отримуємо сертифікат з сервера управління Checkpoint командою:
# opsec_pull_cert -h 192.168.0.1 -n Syslogclient -p <парольна фраза використана при створенні SIC на кроці 2>

Отриманий файл поміщаємо в папку fw1-loggraber: /usr/local/fw1-loggrabber
Модифікуємо файл /usr/local/fw1-loggrabber/etc/lea.conf наступним чином:
lea_server auth_type sslca
lea_server ip 192.168.0.1
lea server port 0
lea_server auth_port 18184
opsec_sic_name "CN=Syslogclient,O=cpmgmt.hemltd.ru.ukwt9b"
opsec_sslca_file /usr/local/fw1-loggrabber/opsec.p12
lea_server opsec_entity_sic_name "cn=cp_mgmt,o=cpmgmt.hemltd.ru.ukwt9b"

Як lea_server вказуємо ip IP адреса сервера sc.local. Як opsec_sic_name вказуємо DN об'єкта OPSEC LEA, створеного на етапі 2. Як lea_server opsec_entity_sic_name вказуємо DN сервера Checkpoint, отриманий на кроці 2. opsec_sslca_file повинен вказувати повний шлях до файлу сертифіката, отриманого з сервера Checkpoint (описано на початку цього етапу).
Змінюємо файл /usr/local/fw1-loggrabber/etc/fw1-loggrabber.conf наступним чином:
DEBUG_LEVEL="0" # вимкнений debug, для відладки можна поставити 3
FW1_LOGFILE="fw.log" # ім'я файлу лода на стороні сервера Checkpoint
FW1_OUTPUT="logs" # параметр говорить про те, що loggrabber буде отримувати логи сервера Checkpoint. Якщо вказати files, то при запуску loggrabber виведе список доступних файлів логів
FW1_TYPE="ng" # для старих версій Checkpoint (Checkpoint FW-1 4.1) вказати в даному полі 2000
FW1_MODE="normal" # audit – логи аудиту, normal – логи безпеки
ONLINE_MODE="так" # робота в режимі реального часу. No – тоді loggrabber прочитує весь лог і зупиняється 
RESOLVE_MODE="ні" # відключено дозвіл імен DNS 
SHOW_FIELDNAMES="так" # включати імена полів в лог
RECORD_SEPARATOR="|" # роздільник полів
DATEFORMAT="std" # формат тимчасової мітки
LOGGING_CONFIGURATION=syslog # loggrabber передає логи в syslog, можна file
OUTPUT_FILE_PREFIX="fw1-loggrabber" # префікс лог файлу (у разі запису лода у файл)
OUTPUT_FILE_ROTATESIZE=104857600 # максимальний розмір файлу
SYSLOG_FACILITY="LOCAL1" # syslog facility

Запускаємо fw1-loggrabber:
/usr/local/fw1-loggrabber/bin/fw1-loggrabber

В конфігураційний файл rsyslog додаємо:
LOCAL1.* @192.168.0.3

І перезапускаємо rsyslog:
/etc/init.d/rsyslog restart

Таким чином, логи, одержувані fw1-loggrabber на сервері loggrabber.local (192.168.0.2) з сервера Checkpoint sc.local (192.168.0.1), перенаправляються в LOCAL1 фасіліті rsyslog'а, який відправляє їх по мережі на сервер syslog.local (192.168.0.3), як показано на малюнку 1.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.