🌐 Как заблокировать .git в Apache, Nginx и Cloudflare? |

🌐 Как заблокировать .git в Apache, Nginx и Cloudflare?

Мануал
Не открывайте папку .git, которая может содержать конфиденциальную информацию.
Когда вы инициализируете и разворачиваете свое приложение через Git, он создает папку .git, содержащую необходимую информацию.
Если папка .git доступна через веб-сервер или интерфейс через Интернет, это потенциально может привести к утечке конфиденциальных данных.
Еще хуже, если у вас есть учетные данные, хранящиеся в каком-то файле конфигурации.
Если вы не уверены, есть ли у вас .git где-нибудь в ваших веб-приложениях, вы можете использовать сканер уязвимостей безопасности, такой как OpenVAS, Gitjacker или другие, упомянутые здесь.

gitjacker

Есть несколько способов справиться с этим.

Вы можете не хранить папку .git на сервере или заблокировать любой запрос к ней.

Заблокировать запросы довольно просто, и этого можно добиться разными путями в зависимости от используемого веб-сервера.

Nginx

Если вы используете Nginx, вы можете добавить следующую директиву location в файле nginx.conf

location ~ /\.git {
  deny all;
}
Вышеупомянутая настройка заставит Nginx выдавать ошибку 403, как показано ниже, всякий раз, когда есть запрос, содержащий .git
Как вариант, вы можете вернуть ошибку 404, если не хотите, чтобы злоумышленник предполагал, что у вас есть .git на вашем сервере.
location ~ /\.git {
  return 404;
}
В этом случае сервер вернет код состояния HTTP 404.
Что бы вы ни выбрали, не забудьте перезапустить Nginx после изменения конфигурации.
service nginx restart

Apache HTTP

Давайте посмотрим, как заблокировать доступ к .git на веб-сервере Apache.

Для этого вы можете использовать RedirectMatch или DirectoryMatch.

Использование RedirectMatch, вероятно, является самым простым.

Вам просто нужно добавить следующее в файл httpd.conf или .htaccess.

RedirectMatch 404 /\.git

Вышеупомянутая настройка будет выдавать 404, когда кто-то обращается к .git, а следующее покажет 403.

RedirectMatch 403 /\.git
Затем давайте попробуем использовать правило DirectoryMatch, добавив следующее в файл httpd.conf.
<DirectoryMatch "^/.*/\.git/">
  Deny from all
</Directorymatch>
Перезапустите Apache и попробуйте получить доступ к URL-адресу, включая .git; он сервер покажет ошибку 403 Forbidden.

Cloudflare

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

  • Войти в Cloudflare
  • Перейдите на вкладку Firewall >> Firewall Rules >> Create a Firewall rule.
  • Дайте название правилу – GIT
  • Выберите field –- URI
  • Operator –contains
  • Value – .git
  • Choose an action – Block and save
Распространение правила на все центры обработки данных Cloudflare займет около 1 минуты.
После этого Cloudflare сделает все остальное.

Заключение

Я надеюсь, что приведенные выше методы помогут вам снизить риск раскрытия каталога .git.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Павел

    а есть возможность сделать тоже для https без правки отдельных конфигов сайтов

    Ответить
    1. cryptoparty автор

      А какая CMS?

      Ответить