{"id":2033,"date":"2018-08-20T22:35:46","date_gmt":"2018-08-20T20:35:46","guid":{"rendered":"https:\/\/vielhuber.de\/?p=2033"},"modified":"2018-08-20T22:44:29","modified_gmt":"2018-08-20T20:44:29","slug":"zugriff-auf-git-verhindern","status":"publish","type":"post","link":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/","title":{"rendered":"\u00d6ffentlicher Zugriff auf .git verhindern"},"content":{"rendered":"\n<p>Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung <a href=\"https:\/\/git-scm.com\/\" target=\"_blank\">Git<\/a> inzwischen zum Standard. Dabei legt Git stets den Unterordner <strong>.git<\/strong> an und wenn dieser auf der Ebene des Public-Ordners der Webseite liegt, kann man \u00f6ffentlich auf sensible Dateien zugreifen (so zeigt zum Beispiel der Aufruf von <strong>\/.git\/logs\/HEAD<\/strong> die letzten Commits an). <a href=\"https:\/\/en.internetwache.org\/dont-publicly-expose-git-or-how-we-downloaded-your-websites-sourcecode-an-analysis-of-alexas-1m-28-07-2015\/\" target=\"_blank\" rel=\"noopener\">Hier<\/a> wird im Detail erkl\u00e4rt, wie man auch ohne Directory Listing ein fremdes(!) Git Repository klonen kann.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Um das zu verhindern, schr\u00e4nkt man im Falle eines <a href=\"https:\/\/httpd.apache.org\/\" target=\"_blank\">Apache<\/a>-Servers in der .htaccess-Datei den Zugriff auf den kompletten .git-Ordner ein und gibt einen 404-Fehler aus. So wei\u00df der Angreifer auch nicht von der Existenz des Ordners:<\/p>\n\n\n\n<p class=\"githubgist\" data-gist-file=\".htaccess\">32b39d7c9836a649597019300a5c2115<\/p>\n\n\n\n<p>Hat man einen <a href=\"https:\/\/www.nginx.com\/\" target=\"_blank\">NGINX<\/a>-Server am laufen, tun es diese Regeln:<\/p>\n\n\n\n<p class=\"githubgist\" data-gist-file=\".nginx\">32b39d7c9836a649597019300a5c2115<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung Git inzwischen zum Standard. Dabei legt Git stets den Unterordner .git an und wenn dieser auf der Ebene des Public-Ordners der Webseite liegt, kann man \u00f6ffentlich auf sensible Dateien zugreifen (so zeigt zum Beispiel der Aufruf von \/.git\/logs\/HEAD die letzten Commits an). [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"gtbabel_prevent_lngs":"","gtbabel_alt_lng":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-2033","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-blog"},"acf":[],"yoast_head":"<title>\u00d6ffentlicher Zugriff auf .git verhindern &#060; Vielhuber David<\/title>\n<meta name=\"description\" content=\"Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung Git inzwischen zum Standard. Dabei legt Git stets d...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00d6ffentlicher Zugriff auf .git verhindern &#060; Vielhuber David\" \/>\n<meta property=\"og:description\" content=\"Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung Git inzwischen zum Standard. Dabei legt Git stets den\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/\" \/>\n<meta property=\"og:site_name\" content=\"Vielhuber David\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-20T20:35:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-08-20T20:44:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"552\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"David\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vielhuber\" \/>\n<meta name=\"twitter:site\" content=\"@vielhuber\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"David\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"1\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/\"},\"author\":{\"name\":\"David\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"headline\":\"\u00d6ffentlicher Zugriff auf .git verhindern\",\"datePublished\":\"2018-08-20T20:35:46+00:00\",\"dateModified\":\"2018-08-20T20:44:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/\"},\"wordCount\":140,\"publisher\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"articleSection\":[\"Blog\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/\",\"name\":\"\u00d6ffentlicher Zugriff auf .git verhindern &#060; Vielhuber David\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#website\"},\"datePublished\":\"2018-08-20T20:35:46+00:00\",\"dateModified\":\"2018-08-20T20:44:29+00:00\",\"description\":\"Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung Git inzwischen zum Standard. Dabei legt Git stets den\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-auf-git-verhindern\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vielhuber.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00d6ffentlicher Zugriff auf .git verhindern\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#website\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/\",\"name\":\"Vielhuber David\",\"description\":\"Full-Stack Developer\",\"publisher\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vielhuber.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\",\"name\":\"David\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"contentUrl\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"width\":700,\"height\":552,\"caption\":\"David\"},\"logo\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/vielhuber\"]}]}<\/script>","yoast_head_json":{"title":"\u00d6ffentlicher Zugriff auf .git verhindern &#060; Vielhuber David","description":"Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung Git inzwischen zum Standard. Dabei legt Git stets d...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/","og_locale":"de_DE","og_type":"article","og_title":"\u00d6ffentlicher Zugriff auf .git verhindern &#060; Vielhuber David","og_description":"Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung Git inzwischen zum Standard. Dabei legt Git stets den","og_url":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/","og_site_name":"Vielhuber David","article_published_time":"2018-08-20T20:35:46+00:00","article_modified_time":"2018-08-20T20:44:29+00:00","og_image":[{"width":700,"height":552,"url":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","type":"image\/jpeg"}],"author":"David","twitter_card":"summary_large_image","twitter_creator":"@vielhuber","twitter_site":"@vielhuber","twitter_misc":{"Verfasst von":"David","Gesch\u00e4tzte Lesezeit":"1\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/#article","isPartOf":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/"},"author":{"name":"David","@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"headline":"\u00d6ffentlicher Zugriff auf .git verhindern","datePublished":"2018-08-20T20:35:46+00:00","dateModified":"2018-08-20T20:44:29+00:00","mainEntityOfPage":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/"},"wordCount":140,"publisher":{"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"articleSection":["Blog"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/","url":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/","name":"\u00d6ffentlicher Zugriff auf .git verhindern &#060; Vielhuber David","isPartOf":{"@id":"https:\/\/vielhuber.de\/#website"},"datePublished":"2018-08-20T20:35:46+00:00","dateModified":"2018-08-20T20:44:29+00:00","description":"Nahezu bei jedem Webprojekt und in jeder Umgebung (auch Production) geh\u00f6rt die Versionsverwaltung Git inzwischen zum Standard. Dabei legt Git stets den","breadcrumb":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vielhuber.de\/blog\/zugriff-auf-git-verhindern\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vielhuber.de\/"},{"@type":"ListItem","position":2,"name":"\u00d6ffentlicher Zugriff auf .git verhindern"}]},{"@type":"WebSite","@id":"https:\/\/vielhuber.de\/#website","url":"https:\/\/vielhuber.de\/","name":"Vielhuber David","description":"Full-Stack Developer","publisher":{"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vielhuber.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef","name":"David","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","url":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","contentUrl":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","width":700,"height":552,"caption":"David"},"logo":{"@id":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg"},"sameAs":["https:\/\/x.com\/vielhuber"]}]}},"_links":{"self":[{"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/posts\/2033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/comments?post=2033"}],"version-history":[{"count":5,"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/posts\/2033\/revisions"}],"predecessor-version":[{"id":2039,"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/posts\/2033\/revisions\/2039"}],"wp:attachment":[{"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/media?parent=2033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/categories?post=2033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vielhuber.de\/ja\/wp-json\/wp\/v2\/tags?post=2033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}