# Сведения о защите push-уведомлений

Защитите свои секреты, не давая им попасть в ваш репозиторий с помощью защиты от push.

## Что такое защита от нежелательных уведомлений?

Защита от push — это функция, secret scanning разработанная для предотвращения попадания жёстко закодированных учетных данных, таких как секреты или токены, в ваш репозиторий. Вместо того чтобы предупреждать вас о утечках учетных данных потом, отправляйте защитные блоки *с секретами ещё до* того, как они попадут в ваш репозиторий.

## Как работает защита push-уведомлений

Секреты защиты push-защиты обнаружены в:

* Push из командной строки
* Коммиты, созданные в GitHub интерфейсе
* Загрузка файлов в репозиторий на GitHub
* Запросы к API REST
* Взаимодействие с GitHub MCP-сервером (только публичные репозитории)

Когда push-защита обнаруживает потенциальный секрет во время попытки push, она блокирует пуш и предоставляет подробное сообщение с объяснением причины блокировки. Вам потребуется просмотреть заданный код, удалить конфиденциальную информацию и повторно выполнить отправку.

## Виды защиты от толчка

Существует два типа защиты от толчка:

* [Защита от push для репозиториев.](#push-protection-for-repositories)
* [Защита от пуша для пользователей](#push-protection-for-users)

### Защита от push для репозиториев.

Вы можете включить защиту от push для репозиториев на уровне репозитория, организации или предприятия. Этот вид защиты от толчка:

* Требуется GitHub Secret Protection включение
* По умолчанию отключён и может быть активирован администратором репозитория, владельцем организации, менеджером безопасности или владельцем предприятия
* Блоки блокируют доступ к определённым защищённым хранилищам
* Генерирует оповещения о прохождении защиты push во **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** вкладке репозитория, организации и предприятия

> \[!TIP]
> Независимо от статуса поддержки защиты от push, организации могут GitHub TeamGitHub Enterprise запускать бесплатный отчёт для сканирования кода на наличие утечок секретов. В отчете также показано, сколько секретных утечек можно было бы предотвратить с помощью защиты от давления. См [. раздел AUTOTITLE](/ru/code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/about-secret-risk-assessment).

### Защита от push-уведомлений для пользователей

Защита от push для пользователей доступна только на GitHub.com, и она специфична для вашего GitHub аккаунта. Этот вид защиты от толчка:

* Включено по умолчанию
* Это не даёт вам распространять секреты в публичные хранилища GitHub
* Не генерирует оповещения при обходе защиты от пуша, если только защита от пуша не включена на уровне репозитория

## Обход защиты от толкания и оповещения

Для защиты от push для репозиториев, по умолчанию любой, кто имеет доступ к записи в репозиторий, может обойти защиту от push, указав причину обхода. Когда участник обходит блок защиты от пуша, GitHub:

* Создаёт оповещение во **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** вкладке репозитория, организации и предприятия
* Добавляет событие обхода в журнал аудита
* Отправляет уведомление по электронной почте владельцам личных аккаунтов, организаций и предприятий, менеджерам по безопасности и администраторам репозиториев, которые следят за репозиторием, с ссылкой на секрет и причиной его разрешения

В этой таблице показано поведение оповещений по каждой причине обхода, которую пользователь может указать.

| Обход причины            | Поведение оповещений |
| ------------------------ | -------------------- |
| Он используется в тестах |                      |

```
          GitHub создаёт закрытое оповещение, которое разрешается как «используется в тестах»  |
```

\| Это ложное срабатывание |
GitHub создаёт закрытое оповещение, которое разрешается как «ложноположительный» |
\| Я исправлю его позже     |
GitHub создаёт открытое предупреждение                                |

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

* **Привилегии обхода**, позволяя им самостоятельно обходить защиту от пуша, а также проверять и одобрять запросы на обход от других участников
* **Освобождение от защиты от push**, позволяющее им отправлять коммиты без активации защиты

## Преимущества защиты от толчка

* **Профилактическая защита:** Защита от пуша действует как передовой защитный механизм, сканируя код на предмет жёстко закодированных секретов в момент продвижения. Такой профилактический подход помогает предотвратить утечку данных до того, как они закрепятся в истории репозитория, что облегчает устранение и устранение угроз.
* **Немедленная обратная связь:** разработчики получают мгновенные отзывы, если во время попытки отправки обнаружен потенциальный секрет. Это немедленное уведомление позволяет быстро исправляться, уменьшая вероятность предоставления конфиденциальной информации.
* **Снижение риска утечек учётных данных:** Блокируя коммиты с жёстко закодированными учетными данными, защита от push значительно снижает риск случайных утечек и распространения секретных данных. Это помогает защитить от возможных утечек и сохранить целостность кодовой базы.
* **Эффективное управление секретами:** вместо ретроспективной работы с открытыми секретами разработчики могут решать проблемы в источнике. Это делает управление секретами более эффективным и менее трудоемким.
* **Функция обхода для гибкости:** В случаях ложных срабатываний или необходимости определённых паттернов можно обойти защиту от push для пользователей, а назначенные пользователи могут использовать функцию делегированного обхода для обхода пуш-защиты репозиториев.
  Кроме того, вы можете полностью освободить доверенных и корпоративном уровнях от защиты от push.
  Это обеспечивает гибкость без ущерба общей безопасности.
* **Возможность обнаруживать пользовательские шаблоны (для репозиториев в организациях):** Организации могут определять индивидуальные паттерны для обнаружения секретов, уникальных для их среды. Такая настройка гарантирует, что защита от пуша может эффективно выявлять и блокировать даже нестандартные секреты.

## Настройка

После включения защиты от пуш-репозиториев вы можете настроить её следующим образом:

* Определение пользовательских паттернов для блок-пушей, содержащих уникальные секретные паттерны
* Назначение участников, которые могут обойти защиту от push и одобрить запросы на обход для других участников или полностью освобождены от защиты push
* Настройка, какие секретные паттерны включены в защиту от push на уровне предприятия или организации

## Дальнейшие действия

Чтобы включить защиту от пуша:

* **Для репозитория** см. [Включение защиты push-уведомлений для репозитория](/ru/code-security/secret-scanning/enabling-secret-scanning-features/enabling-push-protection-for-your-repository).
* **Для организации или предприятия** необходимо применить security configuration. См. раздел \[AUTOTITLE и [Создание настраиваемой конфигурации безопасности](/ru/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-in-your-organization)]\(/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-to-your-enterprise).

Список секретов и поставщиков услуг, поддерживаемых push-защитой, см. [Поддерживаемые шаблоны сканирования секретов](/ru/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).