{"id":868,"date":"2024-03-08T21:48:40","date_gmt":"2024-03-08T20:48:40","guid":{"rendered":"https:\/\/bsod.wtf\/?p=868"},"modified":"2025-03-31T17:56:39","modified_gmt":"2025-03-31T15:56:39","slug":"ssl-error-ah02032-harmlos","status":"publish","type":"post","link":"https:\/\/bsod.wtf\/2024\/03\/08\/ssl-error-ah02032-harmlos\/","title":{"rendered":"[ssl:error] \u201eAH02032: Hostname \u2026 provided via SNI\u201c \u2013 ist harmlos"},"content":{"rendered":"\n
Vielleicht ist dir im Fehlerprotokoll des Apache-Webservers schon einmal eine Meldung mit der ID \u201eAH02032\u201c untergekommen, die in etwa so aussieht:<\/p>\n\n\n
\n[Fri Mar 08 05:20:26.997206 2024] [ssl:error] [pid XXX:tid XXXXX] [client 127.0.69.42:69420] AH02032: Hostname www.unbekannte-domain.com provided via SNI and hostname www.meine-domain.de provided via HTTP have no compatible SSL setup\n<\/pre><\/div>\n\n\n(Die IP-Adresse (127.0.69.42<\/code>) und der Port (69420<\/code>) sind dabei beispielhaft und werden sich in deinem Logfile unterscheiden.)<\/p>\n\n\n\nWenn dein Server andernfalls korrekt eingerichtet ist, kommt hier die gute Nachricht: Diese Meldung ist harmlos<\/strong> und bedeutet, dass ein Sicherheitsmechanismus ordnungsgem\u00e4\u00df gegriffen hat. Du kannst die Meldung also ignorieren.<\/p>\n\n\n\nWas bedeutet der \u201eAH02032\u201c-Fehler?<\/h2>\n\n\n\n
Die Meldung meint genau das, was sie aussagt. Ein Verbindungsaufbau mit dem einer per HTTPS abgesicherten Domain beginnt mit einem Handshake. Welche Domain gemeint ist, bestimmt normalerweise der Host<\/code>-HTTP-Header. Dieser kann aber nicht gesendet werden, bevor ein TLS-Tunnel konstruiert ist. Mit Server Name Indication (SNI) kann der Client schon vorab \u201eank\u00fcndigen\u201c, wo er hin m\u00f6chte. Au\u00dferdem erlaubt es SNI, verschiedene TLS-Konfigurationen f\u00fcr verschiedene Virtual Hosts zu nutzen.<\/p>\n\n\n\nJe nachdem, wie der Webserver konfiguriert ist, lassen sich interessante Dinge anstellen, wenn der Hostname vom SNI nicht mit jenem im HTTP-Header \u00fcbereinstimmt.<\/p>\n\n\n\n
Kurz gesagt handelt es sich hier um einen Versuch, eine Sicherheitsl\u00fccke auszuloten.<\/p>\n\n\n\n
Wo liegt der Reiz an der \u201eL\u00fccke\u201c?<\/h2>\n\n\n\n
Im Dezember 2013 wurde eine L\u00fccke bekannt<\/a>, die als \u201eVirtual Host Confusion\u201c bezeichnet wird. Ein Virtual Host ist die Information f\u00fcr den Webserver (beispielsweise Apache), welche Domain angefragt wird und entsprechend zu reagieren. Das erlaubt es, dass auf einem Server mehrere Domains gehostet werden.<\/p>\n\n\n\nBei der \u201eVirtual Host Confusion\u201c wird nun versucht, den Server zu \u201everwirren\u201c. Einerseits wird per SNI vorab behauptet, man sei www.unbekannte-domain.com<\/code> (wohl um ein g\u00fcltiges SSL-Zertifikat zu laden), andererseits wird in Wahrheit versucht, www.meine-domain.de<\/code> aufzurufen. Wenn die eigene Domain nicht genau \u00fcberpr\u00fcft, ob alle Informationen zusammenpassen, kann es sein, dass die Anfrage dennoch bereitwillig bearbeitet wird. Das w\u00fcrde es etwa erlauben, Cookies zu stehlen, obwohl diese auf eine HTTPS-Verbindung bestehen.<\/p>\n\n\n\nOffenbar waren um 2014 diverse Content Delivery Networks (CDNs) f\u00fcr einen solchen Angriff anf\u00e4llig. Das ist zwar inzwischen kalter Kaffee und alle g\u00e4ngigen Webserver \u00fcberpr\u00fcfen vorab, ob sie belogen werden. Aber das h\u00e4lt einen Angreifer nicht davon ab, sein Gl\u00fcck dennoch zu versuchen.<\/p>\n\n\n\n
Wenn du besagte \u201eFehlermeldung\u201c im Error-Log findest, sagt das aus, dass der Apache den Braten gerochen und den Angriff abgewehrt hat. Du kannst die Meldung also getrost ignorieren.<\/p>\n","protected":false},"excerpt":{"rendered":"
Vielleicht ist dir im Fehlerprotokoll des Apache-Webservers schon einmal eine Meldung mit der ID \u201eAH02032\u201c untergekommen, die in etwa so aussieht: (Die IP-Adresse (127.0.69.42) und der Port (69420) sind dabei beispielhaft und werden sich in deinem Logfile unterscheiden.) Wenn dein Server andernfalls korrekt eingerichtet ist, kommt hier die gute Nachricht: Diese Meldung ist harmlos und … Weiterlesen …<\/a><\/p>\n","protected":false},"author":1,"featured_media":869,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_metis_text_type":"standard","_metis_text_length":2848,"_post_count":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[26],"tags":[27,28,23],"class_list":["post-868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-apache","tag-logfile","tag-ssh"],"acf":[],"yoast_head":"\n[ssl:error] \u201eAH02032: Hostname \u2026 provided via SNI\u201c \u2013 ist harmlos - bsod.wtf<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n