Перевод: Защита ваших репозиториев Git: Исчерпывающее руководство по использованию Gitleaks

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Gitleaks - это инструмент с открытым исходным кодом, предназначенный для предотвращения размещения конфиденциальных данных в репозиториях Git. Он работает путем сканирования Git-репозиториев на наличие потенциальных секретов, таких как пароли, API-ключи и другая конфиденциальная информация, которая не должна быть публично раскрыта.

Инструмент хорошо настраивается и поддерживает широкий спектр форматов файлов, включая текстовые, двоичные и даже зашифрованные файлы. Gitleaks можно использовать как инструмент командной строки или как часть конвейера CI/CD, чтобы помочь отловить конфиденциальные данные до их размещения в репозитории.

Gitleaks использует регулярные выражения для идентификации потенциально конфиденциальных данных, а его правила можно легко настроить для соответствия конкретным интересующим шаблонам. Он также поддерживает маскировку определенных шаблонов или полное игнорирование определенных файлов или каталогов.

Gitleaks может быть полезен всем, кто работает с Git-репозиториями, особенно тем, кто имеет дело с конфиденциальными данными. Это эффективный способ предотвратить случайные утечки и обеспечить защиту конфиденциальной информации.

Вот шпаргалка по использованию Gitleaks:

  1. Установите Gitleaks: Вы можете установить Gitleaks на свою систему с помощью менеджера пакетов для вашей операционной системы или загрузив бинарный релиз со страницы Gitleaks на GitHub.

  2. Настройте Gitleaks: Вы можете настроить Gitleaks, создав конфигурационный файл с правилами, которые вы хотите использовать. По умолчанию Gitleaks поставляется с набором предопределенных правил, предназначенных для обнаружения распространенных типов конфиденциальной информации, таких как пароли, API-ключи и SSH-ключи.

  3. Сканирование репозиториев: Вы можете сканировать репозитории с помощью Gitleaks, выполнив команду gitleaks --repo=<путь к репозиторию> из командной строки. Вы также можете указать дополнительные параметры, такие как количество используемых потоков и формат вывода.

  4. Интеграция с конвейерами CI/CD: Вы можете интегрировать Gitleaks в ваш CI/CD конвейер для автоматического сканирования репозиториев на предмет потенциальных утечек. Для этого нужно добавить в конфигурационный файл конвейера шаг Gitleaks и указать хранилище для сканирования.

  5. Настроить правила: Вы можете настроить правила Gitleaks так, чтобы они соответствовали определенным интересующим вас шаблонам. Это можно сделать путем редактирования конфигурационного файла и добавления или изменения регулярных выражений.

  6. Маскировка конфиденциальной информации: Вы можете настроить Gitleaks на маскировку определенных шаблонов конфиденциальной информации, такой как пароли или ключи API, в своих выводах. Это можно сделать, указав опцию --redact при запуске Gitleaks.

  7. Игнорировать файлы или каталоги: Вы можете настроить Gitleaks на игнорирование определенных файлов или каталогов при сканировании репозиториев. Это можно сделать, добавив в конфигурационный файл правила, которые исключают файлы или каталоги на основе их имени или расположения.

Ниже приведены некоторые общие примеры команд для Gitleaks:

Сканирование одного хранилища:

gitleaks --repo=/path/to/repository

Эта команда просканирует указанный репозиторий на предмет потенциальной утечки конфиденциальной информации.

Сканирование нескольких хранилищ:

gitleaks --config=config.toml

Эта команда просканирует все хранилища, перечисленные в конфигурационном файле config.toml.

[[repos]]
  repo = "/path/to/repo1"
  branches = ["master", "develop"]
  [[repos.rules]]
    regex = "password"
    max_severity = "high"
  [[repos.rules]]
    regex = "AWS_SECRET_ACCESS_KEY"
    max_severity = "medium"
[[repos]]
repo = "/path/to/repo2"
branches = ["main"]
[[repos.rules]]
regex = "api_key"
max_severity = "high"

В этом примере перечислены два репозитория, каждый из которых имеет свой собственный набор правил. Первый репозиторий расположен по адресу /path/to/repo1 и имеет две ветви: master и develop. В этом репозитории заданы два правила: одно для обнаружения слова "password" с максимальной степенью серьезности "high", а другое для обнаружения строки "AWS_SECRET_ACCESS_KEY" с максимальной степенью серьезности "medium".

Второй репозиторий расположен по адресу /path/to/repo2 и имеет только одну указанную ветку: main. Этот репозиторий имеет одно правило для обнаружения строки "api_key" с максимальной степенью серьезности "высокая".

Укажите формат вывода:

gitleaks --repo=/path/to/repository --format=json

Эта команда выведет результаты сканирования в формате JSON.

Сокращение конфиденциальной информации:

gitleaks --repo=/path/to/repository --redact

Эта команда удалит конфиденциальную информацию, такую как пароли и ключи API, из результатов сканирования.

Игнорировать определенные файлы или каталоги:

gitleaks --repo=/path/to/repository --exclude-path=path/to/excluded/directory

Эта команда будет игнорировать указанный каталог при сканировании хранилища.

Укажите количество потоков:

gitleaks --repo=/path/to/repository --threads=4

Эта команда будет использовать четыре потока для сканирования репозитория, что поможет ускорить процесс сканирования.

Сканирование определенной ветки:

gitleaks --repo=/path/to/repository --branch=my-branch

Эта команда будет сканировать только указанную ветвь репозитория.

Это лишь несколько примеров из множества опций и команд, доступных в Gitleaks. Для получения дополнительной информации вы можете ознакомиться с документацией Gitleaks или выполнить команду gitleaks --help из командной строки.

Заключение

Gitleaks - это мощный инструмент с открытым исходным кодом, предназначенный для предотвращения размещения конфиденциальных данных в репозиториях Git. Он работает путем сканирования Git-репозиториев на наличие потенциальных секретов, таких как пароли, API-ключи и другая конфиденциальная информация, которая не должна быть публично раскрыта. Инструмент хорошо настраивается, поддерживает широкий спектр форматов файлов и может использоваться как инструмент командной строки или как часть конвейера CI/CD, чтобы помочь отловить конфиденциальные данные до их размещения в репозитории. Следуя примерам команд и советам, приведенным в шпаргалке, вы сможете эффективно использовать Gitleaks для сканирования и защиты ваших репозиториев от потенциальных утечек конфиденциальной информации.

Оригинал статьи - здесь.
Поддержите автора хлопками на Medium.

Перевод статьи был выполнен проектом перевод энтузиаста:

Источник: https://habr.com/ru/post/723916/


Интересные статьи

Интересные статьи

В данной статье вы узнаете о методе, помогающем привести в порядок все ваши дела от самых крупных и важных, до тех, что еще только появились в голове. Я и сама не понаслышке знаю, как сложно перейт...
Привет, друзья! В этой статье я покажу вам, с чего начинается React. Что это означает? Это означает, что мы разработаем мини-версию React, которая сможет выполнять следующий код: import '../sty...
Одно из самых больших изменений в C# 8 — это nullable reference types. Ранее Андрей Дятлов (JetBrains) рассказал на конференции DotNext о трудностях и проблемах, которые вы можете встретить при работе...
Много всякого сыпется в мой ящик, в том числе и от Битрикса (справедливости ради стоит отметить, что я когда-то регистрировался на их сайте). Но вот мне надоели эти письма и я решил отписатьс...
Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях,...