Skip to main content

Определение событий журнала аудита, выполняемых маркером доступа

You can identify the actions performed by a specific token in your enterprise.

Сведения о данных токена в журнале аудита

В журнале аудита предприятия для любых действий, выполненных с помощью personal access token или OAuth app для проверки подлинности, данные события будут отображать метод проверки подлинности, используемый и хэш SHA-256 маркера.

Если вы узнаете, что маркер скомпрометирован, вы можете понять действия, выполняемые скомпрометированный маркер, выполнив поиск в журнале аудита вашего предприятия для всех событий, связанных с этим маркером.

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

Поиск событий, связанных с маркером

При поиске событий, связанных с определенным маркером, можно использовать пользовательский интерфейс или REST API. В любом случае сначала необходимо знать хэш SHA-256 маркера.

Создание хэш-значения SHA-256 для токена

Если у вас есть только необработанное значение маркера, необходимо создать хэш SHA-256, прежде чем выполнять поиск маркера.

Для MacOS и Linux можно использовать echo -n TOKEN | openssl dgst -sha256 -binary | base64, заменив TOKEN значением токена.

Для PowerShell можно использовать следующий сценарий, чтобы вернуть хэш SHA-256 для заданной строки.

Shell
Param (
    [Parameter(Mandatory=$true)]
    [string]
    $ClearString
)

$hasher = [System.Security.Cryptography.HashAlgorithm]::Create('sha256')
$hash = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($ClearString))

$hashString = [System.BitConverter]::ToString($hash)
$hashString.Replace('-', '')

Поиск по GitHub

При поиске журнала аудита на GitHub, включите hashed_token:"VALUE" в поисковый запрос, заменив VALUE хэш SHA-256 маркера.

Примечание. Не забудьте упаковать хэшированные значения маркера в кавычки.

Поиск с помощью REST API

Прежде чем выполнять поиск маркера с помощью REST API, после создания хэша SHA-256 необходимо также выполнить URI-escape хэш. Большинство основных языков программирования предоставляют программу для экранирования URI. Например, encodeURIComponent() кодирует строку для JavaScript.

Затем включите hashed_token:"VALUE" в фразу поиска, заменив ЗНАЧЕНИЕ хэшом, экранируемым URI.

Например, если имя корпоративной учетной записи указано octo-corp, следующая команда curl будет выполнять поиск @octo-corpв журнале аудита для всех событий, связанных с маркером, хэш EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8которого закодирован URI SHA-256.

curl --header "Accept: application/vnd.github+json" --header "Authorization: Bearer YOUR-TOKEN"  'https://api.github.com/enterprises/octo-corp/audit-log?phrase=hashed_token:"EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8"'

Дополнительные материалы