Silent Security · документация

Документация SLNT Radar

IOC Check Service

Версия v1.5 · Редакция от 2026-01-20

ООО «САЙЛЕНТ СЕКЬЮРИТИ» · ИНН 9721181092 · info@slnt.pro

SLNT Radar — IOC Check Service

Обзор

Что такое SLNT Radar

SLNT Radar — IOC Check Service, единое окно для проверки индикаторов компрометации: IP-адресов, доменов и файлов (по хэшу). Сервис агрегирует данные из десятков источников и локальных баз, отдавая один нормализованный ответ.

Зачем это нужно

Аналитик SOC при инциденте вручную проверяет каждый IOC по 5–7 источникам (VirusTotal, AbuseIPDB, whois, geoip, Tor-списки). На один индикатор — 5–10 минут. При массовом инциденте (сотни IOC) — часы. SLNT Radar отдаёт все данные по одному запросу за секунды.

Ключевые возможности

  • Мультипроверка — IP, домен, файл по одному API.
  • Агрегация источников — 30+ внешних и внутренних баз.
  • Fail-open — сервис всегда отвечает, даже при сбое источника.
  • Разделение по учётным записям — квоты и статистика по подразделениям.
  • Прозрачность — видно, откуда пришли данные.

Источники данных

  • VirusTotal, AbuseIPDB, GreyNoise
  • DNSBL / RBL-списки
  • WHOIS / GeoIP / ASN
  • Реестры РКН / Минцифры
  • Локальные базы (ботнеты, утечки, malware-семейства)
  • Общественный контур (репутация, жалобы)

Быстрый старт

Быстрый старт за 2 минуты

1. Получите API-ключ

Зарегистрируйтесь на портале и создайте ключ в разделе API → Keys.

2. Проверьте IP

curl -s "https://api.silience.ru/v1/check/ip/8.8.8.8" \
  -H "Authorization: Bearer $RADAR_KEY" | jq

3. Проверьте домен

curl -s "https://api.silience.ru/v1/check/domain/example.com" \
  -H "Authorization: Bearer $RADAR_KEY" | jq

4. Проверьте файл по хэшу

curl -s "https://api.silience.ru/v1/check/file/44d88612fea8a8f36de82e1278abb02f" \
  -H "Authorization: Bearer $RADAR_KEY" | jq

5. Пакетная проверка

curl -X POST "https://api.silience.ru/v1/check/batch" \
  -H "Authorization: Bearer $RADAR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "indicators": [
      {"type":"ip","value":"1.1.1.1"},
      {"type":"domain","value":"suspicious.example"},
      {"type":"file","value":"d41d8cd98f00b204e9800998ecf8427e"}
    ]
  }' | jq
Для больших объёмов используйте /v1/check/batch с до 1000 индикаторов за запрос.

Установка

Варианты поставки

ВариантОписание
SaaSapi.silience.ru, данные в РФ
On-premУстанавливается в ваш контур
Air-gappedПолностью изолированный контур, offline-обновление баз

On-prem: Docker

docker run -d --name slnt-radar \
  -p 8080:8080 -p 9090:9090 \
  -e RADAR_LICENSE_KEY="your-license-key" \
  -e RADAR_DB_URL="postgres://radar:pass@db:5432/radar" \
  -e RADAR_REDIS_URL="redis://redis:6379/0" \
  registry.silience.ru/slnt-radar:1.5

On-prem: Helm

helm install slnt-radar slnt/slnt-radar \
  --namespace security --create-namespace \
  --set license.key="your-license-key" \
  --set sources.virustotal.apiKey="${VT_KEY}" \
  --set sources.abuseipdb.apiKey="${ABUSE_KEY}"

Требования

  • CPU: 2 vCPU, RAM: 4 GB, Disk: 50 GB
  • PostgreSQL 15+, Redis 7+
  • Доступ в интернет к внешним API (или offline-базы)

Конфигурация

Источники данных

sources:
  - name: virustotal
    type: external
    enabled: true
    api_key: ${VT_KEY}
    rate_limit: 4/min
    timeout: 10s
  - name: abuseipdb
    type: external
    enabled: true
    api_key: ${ABUSE_KEY}
  - name: greynoise
    type: external
    enabled: true
    api_key: ${GREYNOISE_KEY}
  - name: local_malware_db
    type: local
    enabled: true
    update_interval: 6h
  - name: rkn_registry
    type: local
    enabled: true
    update_interval: 24h

Политики и лимиты

accounts:
  - id: soc-team
    api_key: "radar_soc_xxx"
    rate_limit: 600/min
    daily_quota: 100000
    sources_allowed: [virustotal, abuseipdb, local_malware_db]
  - id: ir-team
    api_key: "radar_ir_xxx"
    rate_limit: 1200/min
    daily_quota: 500000
    sources_allowed: [*]

result_cache:
  enabled: true
  ttl: 1h
  persist: true

fail_mode: open              # open | closed

API Reference

Аутентификация

Все запросы требуют Authorization: Bearer <api_key>. Ключи создаются в личном кабинете или через admin API.

Эндпоинты

МетодПутьОписание
GET/v1/check/ip/:ipПроверка IP-адреса
GET/v1/check/domain/:domainПроверка домена
GET/v1/check/file/:hashПроверка файла по MD5/SHA1/SHA256
POST/v1/check/batchПакетная проверка (до 1000 IOC)
GET/v1/accounts/meИнформация об аккаунте и квотах
GET/v1/sourcesСписок доступных источников

Пример ответа для IP

{
  "indicator": { "type": "ip", "value": "185.220.101.5" },
  "verdict": "malicious",
  "score": 87,
  "geo": {
    "country": "DE",
    "city": "Frankfurt",
    "asn": "AS60729",
    "org": "Stiftung Erneuerbare Freiheit"
  },
  "reputation": {
    "tor_exit": true,
    "vpn": false,
    "proxy": false,
    "hosting": true,
    "botnet_member": false,
    "spam_listed": true
  },
  "sources": [
    { "name": "abuseipdb", "verdict": "malicious", "reports": 342, "last_reported": "2026-01-19T18:22:00Z" },
    { "name": "virustotal", "verdict": "malicious", "detections": 12, "total": 92 },
    { "name": "local_malware_db", "verdict": "clean" }
  ],
  "cached": false,
  "response_time_ms": 218
}
Поле verdict может принимать значения clean, suspicious, malicious. Используйте score для тонкой приоритизации.

Безопасность

Fail-open

SLNT Radar гарантирует ответ даже при сбое источника: результаты частичные, но сервис никогда не «молчит». Это критично для SOC-процессов, где недоступность сервиса останавливает расследование.

Разграничение доступа

  • API-ключи на подразделение / команду
  • Квоты и лимиты по аккаунтам
  • Белый список источников для каждого аккаунта
  • Аудит запросов

Безопасность данных

  • TLS 1.3 для всех соединений
  • Проверяемые индикаторы не сохраняются дольше 90 дней
  • Хэширование PII перед отправкой во внешние источники
  • Соответствие 152-ФЗ (данные в РФ)

Rate limits

ТарифЛимитQuota/сутки
Team600/min100 000
Business1200/min500 000
Enterprisecustomcustom

SIEM-интеграция

# Пример из Splunk HEC
curl -X POST https://siem.internal/services/collector/event \
  -H "Authorization: Splunk $TOKEN" \
  -d "$(curl -s https://api.silience.ru/v1/check/ip/185.220.101.5 -H "Authorization: Bearer $RADAR_KEY")"

FAQ

FAQ

Какие источники используются?

VirusTotal, AbuseIPDB, GreyNoise, DNSBL/RBL-списки, WHOIS, GeoIP, ASN, реестры РКН/Минцифры, локальные базы malware/ботнетов/утечек, общественный контур жалоб.

Что такое fail-open?

Если один или несколько источников недоступны, сервис всё равно отвечает — с частичными данными и пометкой о деградации. Это позволяет бизнес-процессам не останавливаться из-за чужого сбоя.

Как интегрировать с SIEM?

Через REST API (pull), webhook (push) или готовые коннекторы для Splunk, Elastic, MaxPatrol SIEM, Wazuh.

Как часто обновляются базы?

Локальные базы: malware — каждые 6 часов, реестры — раз в сутки. Внешние источники — в реальном времени.

Работает ли в изолированном контуре?

Да, air-gapped версия с offline-базами. Функционал локальных проверок сохранён, внешние источники недоступны.

Есть ли бесплатный тариф?

Да, для тестирования: 10 000 запросов в месяц с ограниченным набором источников. Для полноценного использования — Team, Business, Enterprise.

Changelog

История версий

v1.5 latest

12 января 2026

  • Пакетный API /check/batch до 1000 индикаторов
  • Новый источник GreyNoise
  • Улучшенный scoring с учётом свежести данных

v1.4

28 ноября 2025

  • Разделение по аккаунтам и квотам
  • Экспорт в SIEM

v1.3

1 октября 2025

  • Первый стабильный релиз