• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • No exponga la carpeta .git, que puede contener información confidencial.

    Cuando inicializa e implementa su aplicación a través de Git, crea un .git carpeta que contiene la información necesaria. Si .git se puede acceder a la carpeta a través de un servidor web o una interfaz a través de Internet, puede potencialmente filtrar datos confidenciales.

    Peor aún, si tiene credenciales almacenadas en algún archivo de configuración.

    Usar estos instrumentos para encontrar credenciales en el repositorio de GitHub.

    Si no está seguro de tener .git en algún lugar de sus aplicaciones web, puede utilizar un escáner de vulnerabilidades de seguridad como OpenVAS, Gitjacker, u otro mencionado aquí.

    Gitjacker es más que detectar el directorio .git. Descarga el directorio completo.

    Hay varias formas de manejar esto.

    Puede optar por no mantener .git carpeta en el servidor o bloquear cualquier solicitud. Bloquear la solicitud es bastante sencillo, y así es como puede lograrlo dependiendo del servidor web que use.

    Nginx

    Si está utilizando Nginx, puede agregar lo siguiente location directiva en nginx.conf filete

    location ~ /\.git {
      deny all;
    }

    Lo anterior indicaría a Nginx que arroje 403 como se muestra a continuación siempre que haya una solicitud que contenga .git

    Alternativamente, puede devolver 404 si no desea que un atacante asuma que tiene .git en el servidor.

    location ~ /\.git {
      return 404;
    }

    Y esto devolvería el Código de estado HTTP como 404 como a continuación.

    Elija lo que elija, no olvide reiniciar Nginx después de realizar el cambio de configuración.

    service nginx restart

    Apache HTTP

    Veamos como bloquear .git en el servidor web Apache. Puedes usar RedirectMatch or DirectoryMatch para lograrlo.

    Usar RedirectMatch es probablemente el más fácil. Solo necesita agregar lo siguiente en httpd.conf  or .htaccess archivo.

    RedirectMatch 404 /\.git

    Lo anterior arrojaría 404 cuando alguien accede a .git, y lo siguiente mostrará 403.

    RedirectMatch 403 /\.git

    A continuación, intentemos usar la regla DirectoryMatch agregando lo siguiente en httpd.conf archivo.

    <DirectoryMatch "^/.*/\.git/">
      Deny from all
    </Directorymatch>

    Reinicie Apache y acceda a la URL, incluido .git; mostrará el error 403 prohibido.

    Cloudflare

    Este es mi favorito. ¡Bloquea la solicitud en el borde!

    Pero, como puede adivinar, esto solo funcionará si su sitio se acelera a través del Cloudflare red.

    • Iniciar sesión en Cloudflare
    • Vaya a la pestaña Firewall >> Reglas de Firewall >> Cree una regla de Firewall

    • Dar un nombre a la regla - Bloquear GIT
    • Seleccionar campo - URI
    • Operador - contiene
    • Valor - .git
    • Elija una acción: bloquear y guardar

    La propagación de la regla en todos los centros de datos de Cloudflare tardará alrededor de 1 minuto. Una vez hecho esto, Cloudflare hará el resto.

    Una cosa a tener en cuenta, al implementar la regla de firewall de Cloudflare para bloquear, debe asegurarse de que natural no está expuesto. De lo contrario, un atacante puede omitir Cloudflare para acceder a archivos .git.

    Conclusión

    Espero que lo anterior le ayude a mitigar el riesgo de exponer el directorio .git.