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 индикаторов за запрос.Установка
Варианты поставки
| Вариант | Описание |
|---|---|
| SaaS | api.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/сутки |
|---|---|---|
| Team | 600/min | 100 000 |
| Business | 1200/min | 500 000 |
| Enterprise | custom | custom |
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
- Первый стабильный релиз