Коннектор для дистрибуции IoC из OpenCTI в PT NAD.
Коннектор обеспечивает интеграцию TI-платформы и PT NAD, посредством которой осуществляется создание и наполнение репутационных списков. При этом имеется возможность кастомизации как имени создаваемых репутационных списков, так и типов передаваемых индикаторов компрометации.
Коннектор обеспечивает считывание индикаторов, распространяемых посредством механизма Stream платформы OpenCTI.
Для создания пользователя необходимо перейти по пути Settings -> Security -> Users, нажать на значок "+" в нижней части экрана. В появившемся окне введите имя пользователя, email, пароль и обязательно добавьте в группу Connectors. После создания пользователя необходимо сохранить его токен доступа — он потребуется для работы коннектора с OpenCTI.
Для распространения индикаторов через OpenCTI перейдите в Data -> Data Sharing и создайте Stream. Он может быть публичным или приватным. Если Stream приватный, его Stream ID потребуется при настройке коннектора.
- Python >= 3.11
- pip
(В случае запуска в контейнере параметры могут переопределяться через переменные окружения)
| Параметр | Env var | Обязателен | Описание |
|---|---|---|---|
opencti_url |
OPENCTI_URL |
Да | Адрес OpenCTI |
opencti_token |
OPENCTI_TOKEN |
Да | Токен для доступа к OpenCTI |
connector_id |
CONNECTOR_ID |
Да | Валидный UUIDv4 идентификатор коннектора |
connector_name |
CONNECTOR_NAME |
Да | Имя коннектора |
connector_type |
CONNECTOR_TYPE |
Да | Тип коннектора OpenCTI (здесь всегда STREAM) |
connector_live_stream_id |
CONNECTOR_LIVE_STREAM_ID |
Да | Идентификатор STREAM, созданного в OpenCTI для распространения IoC |
connector_scope |
CONNECTOR_SCOPE |
Нет | Перечисление типов индикаторов, которые необходимо передавать в PT NAD, по умолчанию ip,dn,url,md5 |
ptnad_url |
PTNAD_URL |
Да | Адрес PT NAD |
ptnad_ssl_verify |
PTNAD_SSL_VERIFY |
Нет | Проверка сертификата, по умолчанию выключена |
ptnad_token |
PTNAD_TOKEN |
Да (при отсутствии логина/пароля) | Токен доступа к PT NAD |
ptnad_username |
PTNAD_USERNAME |
Да (при отсутствии токена) | Логин пользователя |
ptnad_password |
PTNAD_PASSWORD |
Да (при отсутствии токена) | Пароль пользователя |
ptnad_ip_replist_name |
PTNAD_IP_REPLIST_NAME |
Нет | Имя репутационного списка, содержащего IP-адреса, по умолчанию opencti-ip-replist |
ptnad_dn_replist_name |
PTNAD_DN_REPLIST_NAME |
Нет | Имя репутационного списка, содержащего доменные имена, по умолчанию opencti-dn-replist |
ptnad_url_replist_name |
PTNAD_URL_REPLIST_NAME |
Нет | Имя репутационного списка, содержащего URL, по умолчанию opencti-url-replist |
ptnad_md5_replist_name |
PTNAD_MD5_REPLIST_NAME |
Нет | Имя репутационного списка, содержащего md5 хэши, по умолчанию opencti-md5-replist |
ptnad_ip_external_key |
PTNAD_IP_EXTERNAL_KEY |
Нет | Значение параметра external_key для репутационного списка, содержащего IP-адреса, по умолчанию opencti-ip |
ptnad_dn_external_key |
PTNAD_DN_EXTERNAL_KEY |
Нет | Значение параметра external_key для репутационного списка, содержащего доменные имена, по умолчанию opencti-dn |
ptnad_url_external_key |
PTNAD_URL_EXTERNAL_KEY |
Нет | Значение параметра external_key для репутационного списка, содержащего URL, по умолчанию opencti-url |
ptnad_md5_external_key |
PTNAD_MD5_EXTERNAL_KEY |
Нет | Значение параметра external_key для репутационного списка, содержащего md5 хэши, по умолчанию opencti-md5 |
pip install -r src/requirements.txtcd src
python ptnad_connector.pyВ репозитории есть Dockerfile для сборки образа и docker-compose.yml для быстрого старта.
Для создания нескольких репутационных списков одного типа индикаторов необходимо запускать отдельный экземпляр коннектора с разными значениями имени списка и
external_key.
Мы приветствуем вклад от сообщества! Если вы хотите внести свой вклад в развитие проекта, ознакомьтесь с руководством по участию в разработке.
Мы приветствуем:
- Сообщения об ошибках и предложения улучшений
- Улучшение документации
- Добавление новых функций
- Улучшение обработки ошибок и логирования
Этот проект распространяется под лицензией MIT. Подробнее см. в файле лицензии.
Для получения подробной информации о лицензиях и правовых аспектах использования проекта, включая информацию о зависимостях и их лицензиях, см. документ о лицензиях.