API сервиса мониторинга открытых портов
Сервис мониторинга открытых портов позволяет отслеживать открытые порты на IP-адресах.
Подключить мониторинг можно только для IP-адресов, которые назначены на выделенные серверы, размещенное оборудование, межсетевые экраны, объекты облачной платформы (облачные серверы, балансировщики, базы данных и т.д.), а также для PI IP-адресов, которые вы анонсируете через оборудование Selectel.
С помощью API сервиса вы можете:
- включить или отключить мониторинг открытых портов для IP-адреса;
- получить список открытых портов на одном или нескольких IP-адресах;
- отметить порты, которые должны быть открыты;
- проверить состояние конкретного порта на IP-адресе;
- настроить уведомления об открывшихся портах.
Авторизация
Для работы с API необходимо получить токен Selectel и передавать его в заголовке X-Token
при выполнении каждого запроса.
Используйте URL-адрес: https://api.selectel.ru/eye/v1/
Пример запроса:
curl -X POST https://api.selectel.org/eye/v1/ips -H "X-Token: nat789jSd2bKACNKv2deXDNyj_0000" -H "Content-Type: application/json" -d '{"ip":"99.99.99.99"}'
Пример базовой настройки мониторинга
-
Добавьте IP-адрес в список для мониторинга:
curl -X POST https://api.selectel.org/eye/v1/ips -H "X-Token: <token_value>" -H "Content-Type: application/json" -d '{"ip":"<ip>"}'
-
Запросите список всех открытых портов IP-адреса:
curl -X GET https://api.selectel.org/eye/v1/ips/ports -H "X-Token: <token_value>" -H "Content-Type: application/json" -d '{"ip":"<ip>"}'
-
Опционально: если обнаружены открытые порты, которые должны быть закрытыми, закройте их. Например, для Linux используйте утилиту iptables или UFW.
-
Если вы закрыли порты, подождите 10 минут, чтобы сервис успел выполнить повторное сканирование. Чтобы проверить, что сканирование прошло успешно, снова запросите список открытых портов:
curl -X GET https://api.selectel.org/eye/v1/ips/ports -H "X-Token: <token_value>" -H "Content-Type: application/json" -d '{"ip":"<ip>"}'
-
Отметьте оставшиеся открытые порты IP-адреса как доверенные, для этого установите для них тег
KNOWN
со значениемtrue
:curl -X PUT https://api.selectel.org/eye/v1/ips/ports -H "X-Token: <token_value>"
Первая отправка запроса устанавливает тег со значением
true
, каждая следующая меняет значение тега на противоположное. -
Опционально: чтобы проверить, что тег установлен верно, запросите список всех открытых портов IP-адреса и проверьте значение в поле
KNOWN
:curl -X GET https://api.selectel.org/eye/v1/ips/ports -H "X-Token: <token_value>" -H "Content-Type: application/json" -d '{"ip":"<ip>"}'
При необходимости используйте другие методы группы Ports, чтобы менять значение тега для определенного порта, а не всех портов IP-адреса.
-
Если на адресе будет обнаружен открытый порт с тегом
KNOWN
со значениемfalse
, вы получите уведомление на email, который вы использовали при регистрации аккаунта. Вы также можете подключить уведомления в Telegram.