AbuseIPDB - проверка репутации IP - 2026

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Перейти к:навигация, поиск

AbuseIPDB — это централизованная база данных репутации IP-адресов, предназначенная для сбора, хранения и предоставления информации о вредоносной активности, связанной с IPv4 и IPv6 адресами. Сервис позволяет системным администраторам, вебмастерам и специалистам по информационной безопасности проверять IP-адреса на причастность к атакам, спаму, сканированию портов и другим видам злоупотреблений, а также самостоятельно отправлять репорты о замеченной активности. Проект основан на принципах краудсорсинга: сообщество собирает и верифицирует данные, формируя глобальную базу знаний об угрозах.

История и назначение

AbuseIPDB был создан как ответ на потребность в простом, открытом и доступном инструменте для проверки репутации IP-адресов в реальном времени. В отличие от коммерческих закрытых баз данных, AbuseIPDB предлагает бесплатный порог входа с возможностью масштабирования через платные подписки.

Основные цели сервиса:

  • предоставление API для автоматизированной проверки IP-адресов;
  • сбор репортов от участников сообщества о вредоносной активности;
  • формирование confidence score — небинарной оценки вероятности злонамеренности адреса;
  • интеграция с системами обнаружения вторжений, в первую очередь с Fail2Ban.

API v2

AbuseIPDB предоставляет REST API версии 2 (v2), которое является основным способом программного взаимодействия с базой данных. API поддерживает форматы JSON и plaintext, использует HTTP-методы GET, POST и DELETE.

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

Для работы с API требуется ключ доступа (API key), который выдаётся после регистрации аккаунта на сайте. Ключ передаётся в HTTP-заголовке:

-H "Key: YOUR_OWN_API_KEY"

Также допускается передача ключа в query-параметре key, но использование заголовка является рекомендованным способом.

Эндпоинты

API v2 включает семь основных эндпоинтов:

CHECK — проверка IP-адреса

Эндпоинт GET /api/v2/check принимает один IP-адрес (IPv4 или IPv6) и возвращает полную информацию о его репутации.

curl -G https://api.abuseipdb.com/api/v2/check \
  --data-urlencode "ipAddress=118.25.6.39" \
  -d maxAgeInDays=90 \
  -d verbose \
  -H "Key: YOUR_OWN_API_KEY" \
  -H "Accept: application/json"

Параметры запроса:

Поле Обязательный По умолчанию Описание
ipAddress Да IPv4 или IPv6 адрес для проверки
maxAgeInDays Нет 30 Максимальный возраст репортов в днях (1–365)
verbose Нет false При включении возвращает полные репорты с комментариями

Пример ответа:

{
  "data": {
    "ipAddress": "118.25.6.39",
    "isPublic": true,
    "ipVersion": 4,
    "isWhitelisted": false,
    "abuseConfidenceScore": 100,
    "countryCode": "CN",
    "countryName": "China",
    "usageType": "Data Center/Web Hosting/Transit",
    "isp": "Tencent Cloud Computing (Beijing) Co. Ltd",
    "domain": "tencent.com",
    "hostnames": [],
    "isTor": false,
    "totalReports": 1,
    "numDistinctUsers": 1,
    "lastReportedAt": "2018-12-20T20:55:14+00:00",
    "reports": [
      {
        "reportedAt": "2018-12-20T20:55:14+00:00",
        "comment": "Invalid user oracle from 118.25.6.39",
        "categories": [18, 22],
        "reporterId": 1,
        "reporterCountryCode": "US",
        "reporterCountryName": "United States"
      }
    ]
  }
}

Поле abuseConfidenceScore (0–100) является ключевым показателем репутации: чем выше значение, тем с большей вероятностью IP-адрес используется для вредоносной активности. Поле isWhitelisted указывает на наличие адреса в белых списках AbuseIPDB, но разработчики рекомендуют полагаться именно на confidence score как на более тонкий инструмент.

Возможные значения поля usageType:

  • Commercial
  • Organization
  • Government
  • Military
  • University/College/School
  • Library
  • Content Delivery Network
  • Fixed Line ISP
  • Mobile ISP
  • Data Center/Web Hosting/Transit
  • Search Engine Spider
  • Reserved

REPORTS — репорты IP-адреса

Эндпоинт GET /api/v2/reports возвращает постраничный список репортов для указанного IP-адреса.

curl -G https://api.abuseipdb.com/api/v2/reports \
  --data-urlencode "ipAddress=176.111.173.242" \
  -d page=5 \
  -d perPage=25 \
  -H "Key: YOUR_OWN_API_KEY" \
  -H "Accept: application/json"

Параметры запроса:

Поле Обязательный По умолчанию Описание
ipAddress Да IPv4 или IPv6 адрес
maxAgeInDays Нет 30 Максимальный возраст репортов
page Нет 1 Номер страницы
perPage Нет 25 Количество записей на странице (макс. 200)

Ответ включает поля: total (общее количество репортов), page, perPage, lastPage, nextPageUrl, previousPageUrl и массив results с деталями каждого репорта.

BLACKLIST — чёрный список

Эндпоинт GET /api/v2/blacklist позволяет скачать список IP-адресов, отфильтрованных по минимальному уровню уверенности в их вредоносности.

curl -G https://api.abuseipdb.com/api/v2/blacklist \
  -d confidenceMinimum=90 \
  -H "Key: YOUR_OWN_API_KEY" \
  -H "Accept: application/json"

Поддерживается вывод в формате plaintext (параметр plaintext), фильтрация по стране (countryCode), по версии IP (ipVersion), а также ограничение количества записей (limit). Для платных подписок доступна настройка количества IP в выдаче до 100 000–500 000.

REPORT — отправка репорта

Эндпоинт POST /api/v2/report используется для отправки репорта о вредоносном IP-адресе.

curl https://api.abuseipdb.com/api/v2/report \
  -H "Accept: application/json" \
  -H "Key: YOUR_OWN_API_KEY" \
  --data-urlencode "ip=118.25.6.39" \
  --data-urlencode "comment=SSH brute-force attack detected" \
  -d "categories=18,22"

Параметры:

Поле Обязательный Описание
ip Да IPv4 или IPv6 адрес
categories Да Список ID категорий через запятую
comment Нет Комментарий с описанием активности

Категории злоупотреблений (ID 1–23):

ID Название Описание
1 DNS Compromise Изменение DNS-записей с целью перенаправления трафика
2 DNS Poisoning Фальсификация кэша DNS-сервера
3 Fraud Orders Мошеннические заказы
4 DDoS Attack Участие в распределённых атаках типа «отказ в обслуживании»
5 FTP Brute-Force Подбор паролей FTP
6 Ping of Death Чрезмерно большой IP-пакет
7 Phishing Фишинговые сайты и/или email
8 Fraud VoIP Мошенничество через IP-телефонию
9 Open Proxy Открытый прокси-сервер, релей или выходной узел Tor
10 Web Spam Спам в веб-форумах/комментариях
11 Email Spam Спам по электронной почте
12 Blog Spam Спам в блогах
13 VPN IP IP-адрес VPN-сервера
14 Port Scan Сканирование портов
15 Hacking Попытка взлома
16 SQL Injection SQL-инъекции
17 Spoofing Подмена отправителя (спуфинг)
18 Brute-Force Атаки подбора паролей (SSH, FTP, SIP, SMTP, RDP и веб-логины)
19 Bad Web Bot Вредоносные веб-боты
20 Exploited Host Скомпрометированный хост
21 Web App Attack Атаки на веб-приложения
22 SSH Abuse Злоупотребление SSH
23 IoT Targeted Атаки, нацеленные на IoT-устройства

CHECK-BLOCK — проверка подсети

Эндпоинт GET /api/v2/check-block принимает подсеть в нотации CIDR и возвращает агрегированные данные по всем IP в указанном диапазоне.

curl -G https://api.abuseipdb.com/api/v2/check-block \
  --data-urlencode "network=127.0.0.1/24" \
  -d maxAgeInDays=15 \
  -H "Key: YOUR_OWN_API_KEY" \
  -H "Accept: application/json"

Максимальный размер сети зависит от тарифного плана:

Параметр Free Basic Premium
network до /2 до /20 до /16
maxAgeInDays до 30 до 60 до 365

BULK-REPORT — массовая отправка репортов

Эндпоинт POST /api/v2/bulk-report позволяет загрузить CSV-файл с множеством IP-адресов для одновременной отправки репортов.

curl https://api.abuseipdb.com/api/v2/bulk-report \
  -F csv=@report.csv \
  -H "Key: YOUR_OWN_API_KEY" \
  -H "Accept: application/json" \
  > output.json

Формат CSV: каждая строка содержит IP, категории и опциональный комментарий.

CLEAR-ADDRESS — удаление своих репортов

Эндпоинт DELETE /api/v2/clear-address позволяет удалить все собственные репорты для указанного IP-адреса.

curl -X DELETE https://api.abuseipdb.com/api/v2/clear-address \
  --data-urlencode "ipAddress=118.25.6.39" \
  -H "Key: YOUR_OWN_API_KEY" \
  -H "Accept: application/json"

Ответ возвращает количество удалённых репортов.

Лимиты и тарифные планы

API имеет дневные лимиты на количество запросов к каждому эндпоинту. Лимиты различаются в зависимости от типа аккаунта.

Эндпоинт Free Webmaster Supporter Basic ($25/мес) Premium ($99/мес)
check 1 000 3 000 5 000 10 000 50 000
reports 100 500 1 000 5 000 25 000
blacklist 5 10 20 100 500
report 1 000 3 000 1 000 10 000 50 000
check-block 100 250 500 1 000 5 000
bulk-report 5 10 20 100 500
clear-address 5 10 20 100 500

При превышении дневного лимита API возвращает HTTP-статус 429 Too Many Requests. Бесплатный аккаунт даёт 1 000 проверок и репортов в день навсегда. Все платные планы включают 30-дневный бесплатный пробный период.

Обработка ошибок

API возвращает стандартные HTTP-статусы:

  • 200 — успешный запрос;
  • 401 — неавторизованный доступ (неверный или отсутствующий API-ключ);
  • 402 — превышение лимита параметров (например, слишком большая подсеть для CHECK-BLOCK);
  • 422 — необрабатываемый запрос (неверные параметры);
  • 429 — превышение дневного лимита запросов.

Ответ с ошибкой имеет структуру:

{
  "errors": [
    {
      "detail": "Описание ошибки",
      "status": 422
    }
  ]
}

Интеграция с Fail2Ban

AbuseIPDB имеет встроенную интеграцию с Fail2Ban — популярной системой обнаружения и блокировки атак. В дистрибутив Fail2Ban включён файл конфигурации abuseipdb.conf, который позволяет автоматически отправлять репорты в AbuseIPDB при срабатывании ban-действия.

Пример конфигурации actionban для Fail2Ban:

actionban = curl --fail 'https://api.abuseipdb.com/api/v2/report' \
    -H 'Accept: application/json' \
    -H 'Key: YOUR_ABUSEIPDB_API_KEY' \
    --data-urlencode 'comment=<matches>' \
    --data-urlencode 'ip=<ip>' \
    --data 'categories=18,22'

При миграции с API v1 на v2 необходимо учесть:

  • параметр category переименован в categories;
  • API-ключ рекомендуется передавать через HTTP-заголовок;
  • IPv6-адреса необходимо URL-кодировать из-за наличия двоеточий;
  • в запросе должен присутствовать заголовок Accept: application/json.

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

API поддерживает Cross-Origin Resource Sharing (CORS), что позволяет выполнять запросы напрямую из браузера при разработке клиентских приложений. При передаче API-ключа через заголовки запроса обеспечивается его защита от перехвата в публичных сетях.

Резюме

AbuseIPDB представляет собой зрелый и функциональный сервис для проверки репутации IP-адресов, построенный на краудсорсинговой модели сбора данных. API v2 покрывает все основные сценарии: проверку одиночных адресов и подсетей, получение списка репортов, загрузку чёрных списков, отправку репортов (в том числе массовую) и управление собственными данными. Наличие бесплатного тарифа, интеграция с Fail2Ban и гибкая система категорий делают AbuseIPDB одним из наиболее доступных и практичных инструментов для повседневной работы специалиста по информационной безопасности.

Ссылки

×
Реклама
ИКС