← Cloudflare One / cloudflare-one / insights / logs / dashboard-logs
Журналы аутентификации Access
Журналы аутентификации Access позволяют отслеживать, кто получал доступ к вашим защищённым приложениям, когда он это делал и был ли доступ разрешён. Используйте эти журналы для расследования подозрительных попыток входа, аудита действий пользователей или устранения проблем с доступом.
Cloudflare Access создаёт журналы аудита двух типов:
- Журналы аудита аутентификации записывает каждую попытку входа (успешную или неудачную) пользователя или сервиса в приложение Access.
- Журналы аудита для каждого запроса записывают отдельные HTTP-запросы, которые аутентифицированные пользователи отправляют к защищенным пути приложения и целевые объекты инфраструктуры.
Журналы аутентификации
Cloudflare Access регистрирует событие аутентификации при каждой попытке пользователя или службы войти в приложение, независимо от того, успешна ли попытка.
Аутентификация на основе идентификации обозначает попытки входа, которые оценивались на основе того, кем является пользователь, например: его адрес электронной почты, группа поставщика идентификации (IdP), группа SAML или утверждение OIDC.
Неидентификационная аутентификация обозначает попытки входа, которые оценивались на основе контекста, а не идентичности пользователя, например: IP-адрес, состояние устройства, страна, действительный сертификат или токен службы.
Аутентификация на основе идентификации
Просмотр журналов аутентификации Access
Чтобы просмотреть журналы событий аутентификации на основе идентификации:
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Insights > Журналы.
-
Выберите Журналы аутентификации Access.
-
(Необязательно) Отфильтруйте журналы, отображаемые в инструменте просмотра журналов. Вы можете фильтровать журналы по временной метке и деталям события (например, приложению Access, электронной почте пользователя, решению политики и другим параметрам).
-
Выберите отдельную временную метку, чтобы изучить событие подробнее.
Журналы аутентификации Access Конечная точка API предоставляет пользовательский URL для экспорта событий журнала аудита вашего аккаунта.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Access: Audit Logs Read
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/logs/access_requests?limit=25&direction=desc&since=2020-07-01T05%3A20%3A00Z&until=2020-10-01T05%3A20%3A00Z" \
--request GET \
--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
--header "X-Auth-Key: $CLOUDFLARE_API_KEY"{
"success": true,
"errors": [],
"messages": [],
"result": [
{
"user_email": "[email protected]",
"ip_address": "198.41.129.166",
"app_uid": "df7e2w5f-02b7-4d9d-af26-8d1988fca630",
"app_domain": "test.example.com/admin",
"action": "login",
"connection": "saml",
"allowed": false,
"created_at": "2014-01-01T05:20:00.12345Z",
"ray_id": "187d944c61940c77"
}
]
}Описание полей
Журналы аутентификации на основе идентификации содержат следующие поля:
Основная информация
| Поле | Описание |
|---|---|
| App | Название приложения Access. |
| Email пользователя | Адрес электронной почты аутентифицируемого пользователя. |
| User ID | Уникальный идентификатор (UUID) аутентифицирующегося пользователя. |
| IP-адрес | IP-адрес аутентифицируемого пользователя. |
| App UID | Уникальный идентификатор (UUID) приложения Access. |
| Домен приложения | URL of the Access application. |
| тип приложения | Задает тип приложения Access: self-hosted, browser SSH, browser VNC, browser RDP, SaaS или infrastructure. |
| Событие | Type of authentication event, such as a login attempt. |
| Подключение | Поставщик идентификации, используемый для аутентификации (например, saml, onetimepin, google-apps). |
| Allow | Была ли попытка аутентификации разрешена (true) или отклонён (false). |
| Время запроса | Отметка времени события аутентификации. |
| Ray ID | Уникальный идентификатор для каждого запроса через Cloudflare. Полезен для отслеживания конкретного запроса в логах Cloudflare. |
| Страна | Страна, связанная с IP-адресом пользователя. |
Приложения Infrastructure
Cloudflare Access регистрирует следующую информацию, когда пользователь проходит аутентификацию в инфраструктурное приложение:
| Поле | Описание |
|---|---|
| Имя хоста | Имя хоста целевого объекта инфраструктуры. |
| ID цели | UUID of the infrastructure target. |
| Пользователь SSH | Пользователь UNIX, например root, которые указал аутентифицирующийся пользователь при подключении к целевому объекту инфраструктуры. |
| Журналы SSH | SSH-команды, которые пользователь выполнил на целевом объекте. Требует настройки Ключ шифрования SSH до начала сеанса. |
Неидентификационная аутентификация
Чтобы получить журналы событий аутентификации без привязки к удостоверению пользователя, используйте GraphQL Analytics API. Эти журналы недоступны на панели управления Cloudflare One.
Журналы для каждого запроса
Пользователи, прошедшие аутентификацию через Access, имеют доступ к разрешённым путям URL в течение своей сессии. Cloudflare предоставляет несколько способов аудита этих запросов.
Использование Cloudflare Logs
Клиенты с планом Enterprise имеют доступ к подробным журналам запросов в своей панели управления Cloudflare. Клиенты с планом Enterprise также имеют доступ к сервису Cloudflare Logpush, который можно настроить в панели управления Cloudflare или через API. Дополнительные сведения о логировании HTTP и инфраструктуры Cloudflare см. в Cloudflare Logs.
Как только участник вашей команды проходит аутентификацию для доступа к HTTP-ресурсу за Access, Cloudflare создаёт JSON Web Token (JWT) для этого пользователя, который содержит его SSO-идентификацию. Cloudflare подписывает этот токен с помощью RS256 (алгоритм подписи RSA с SHA-256), асимметричного алгоритма, и предоставляет открытый ключ, чтобы вы могли проверить подлинность токена.
Когда пользователь запрашивает URL-адрес, Access добавляет к запросу заголовок с личностью пользователя из этого токена, и Cloudflare записывает это в журнал по мере прохождения запроса через сеть. Ваша команда может собирать эти журналы в стороннем ПО для управления информацией и событиями безопасности (SIEM) или в выбранном вами хранилище логов, используя Cloudflare Logpush. Если этот параметр включен вместе с полем идентификации пользователя Access, журналы экспортируются в ваши системы в формате JSON, аналогичном примеру ниже.
{
"ClientIP": "198.51.100.206",
"ClientRequestHost": "jira.widgetcorp.tech",
"ClientRequestMethod": "GET",
"ClientRequestURI": "/secure/Dashboard/jspa",
"ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36",
"EdgeEndTimestamp": "2019-11-10T09:51:07Z",
"EdgeResponseBytes": 4600,
"EdgeResponseStatus": 200,
"EdgeStartTimestamp": "2019-11-10T09:51:07Z",
"RayID": "5y1250bcjd621y99",
"RequestHeaders":{"cf-access-user":"srhea"}
},
{
"ClientIP": "198.51.100.206",
"ClientRequestHost": "jira.widgetcorp.tech",
"ClientRequestMethod": "GET",
"ClientRequestURI": "/browse/EXP-12",
"ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36",
"EdgeEndTimestamp": "2019-11-10T09:51:27Z",
"EdgeResponseBytes": 4570,
"EdgeResponseStatus": 200,
"EdgeStartTimestamp": "2019-11-10T09:51:27Z",
"RayID": "yzrCqUhRd6DVz72a",
"RequestHeaders":{"cf-access-user":"srhea"}
}С помощью cf-access-user поле
Помимо полей HTTP-запроса, доступных в логировании Cloudflare Enterprise, запросы к приложениям, размещенным за Access, включают cf-access-user поле, которое содержит строку идентификации пользователя. Это ещё один инструмент для аудита поведения пользователей. Чтобы добавить cf-access-user поле в журналы HTTP-запросов, его нужно добавить как пользовательское поле. См. Пользовательские поля с инструкциями.
Обратите внимание, что Access регистрирует не все взаимодействия. Журналы аудита по каждому запросу могут показывать, что определенный пользователь посетил domain.com/admin и затем domain.com/admin/panel, но в журналах фиксируются только те действия, которые приводят к новому HTTP-запросу. Действия, выполняемые исключительно на стороне клиента и не создающие запросов к серверу, в журнал не попадают.