Сбор логов межсетевого экрана 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="yes" # работа в режиме реального времени. No – тогда loggrabber считывает весь лог и останавливается  
    RESOLVE_MODE="no" # отключено разрешение DNS имен 
    SHOW_FIELDNAMES="yes" # включать имена полей в лог
    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.
    Поделиться публикацией
    Комментарии 4
      0
      Спасибо! Интересная, нетривиальная статья о CP, которых мало в ру сегменте.
      Отказываетесь от СмартТрекера, Лог, Ивэнта и Репортера в сторону данного решения из за возможности сторить централизованный Лог Менеджмент, основанный на Syslog'e?
        0
        Рад что статья пришлась полезной.
        Не то, чтобы отказываюсь, просто есть хорошие бесплатные системы лог-мененджмента и SIEM (например OSSIM), для которых (в отличии от всяких стоящих муллиарды ArcSight'ов) коннекторов для Checkpoint нет. Вот и приходится выкручиваться.
          0
          Расскажите, а что вы дальше делаете с этими логами? В какой SIEM их скармливаете?
            0
            Скармливаю в OSSIM. Пришлось немного допилить штатный OSSIM'овский плагин для обработки логов СР, но получилось норм. Разбирает, отображает. Я как-раз думал написать пару статей о разработке плагинов для OSSIM. Если есть запрос, то сделаю обязательно ))

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое