Exponerade serverhuvuden och cybersäkerhetsrisker


Din webbserver förmedlar en mängd information till klienten när en besökare öppnar din webbplats. De kan komma åt specifika policyer som du har ställt in och ibland identifiera vilken typ av programvara du använder för att köra ditt system. Ibland är det okej. Andra gånger kan informationen som exponeras i serverhuvudet leda direkt till en skadlig cyberattack.

Den här artikeln innehåller en översikt över hur webbservrar kommunicerar med HTTP-huvuden, följt av riskresultat som anger om serverinformationen exponeras av ett alltför detaljerat svarshuvud.

Vad är serverrubriker?

Varje webbplats finns på en webbserver som fungerar som mellanhand mellan klientbegäran och webbplatssvaret. När du anger en domän i din webbläsare skickar du en begäran om att hämta webbsidan som identifierats med den URL:en. Webbservern tar emot HTTP-begäran och returnerar de filer som krävs för att återge webbprogrammet.

Webbservrar använder HTTP (Hypertext Transfer Protocol) och HTTPS (Hypertext Transfer Protocol Secure), som är datakommunikationsprotokoll för Internet. Både HTTP och HTTPS utbyter resurser mellan en klient och en server på Internet. HTTPS tillhandahåller dock ytterligare säkerhetsåtgärder som inte är tillgängliga med HTTP, till exempel Transport Layer Security (TLS) genom tillägg av SSL-certifikat och HTTPS Strict-Transport-Security-policyn (HSTS) för att framtvinga säkra anslutningar. Dessa ytterligare säkerhetslager lägger till autentisering och validering för webbkommunikation.

I korthet skickar klienten en API-förfrågan, som servern skickar ett svar till. HTTP-svarshuvuden vidarebefordrar information om ursprungsservern till den anslutande klienten, inklusive omdirigeringsmål, programvaruinformation och åldern på cachelagrad information. Eftersom dessa huvuden är konfigurerade på servern kan du ange principer för att styra vilken information som är offentligt tillgänglig för klienten. Syntaxen för HTTP-huvuden använder ett skiftlägesokänsligt nyckel/värde-par för att ange funktionen.

Så här läser du HTTP-serverhuvuden

Du kan komma åt HTTP-statuskoder och de fullständiga HTTP-huvudena (både begärandehuvudet och svarshuvudet) genom att gå till nätverksfliken i webbläsaren eller genom att använda [.rt-script]curl[.rt-script].

Om du vill ha en exempelwebbplats vänsterklickar du och väljer alternativet Inspektera för att öppna utvecklarkonsolen och navigerar sedan till fliken Nätverk. Uppdatera sidan för att läsa in information och välj sedan vad som helst från listan för att öppna panelen Rubriker. Du kan komma åt information om den allmänna begäran, inklusive begärande-URL:en (webbplatsen du vill besöka), typen av begäran (vanligtvis en [.rt-script]GET[.rt-script]-begäran) och annan information som hänvisningsprincipen. Du kan också läsa svarshuvudena och begärandehuvudena, som innehåller rubriker som [.rt-script]Access-Control-Max-Age[.rt-script] för att ange cachelängd, [.rt-script]Content-Type[.rt-script] för att ange information om medieresurser, [.rt-script]Content-Length[.rt-script] som anger resursstorleken, [.rt-script]Content-Encoding[.rt-script] för att styra komprimeringen, [.rt-script]Set-Cookie[.rt-script] för att skicka cookies till användaragenten, samt många andra rubriker som styr serverklienten kommunikation.

För att hämta rubriker i terminalen, kör [.rt-script]curl -v example.com[.rt-script] i terminalen för att hämta rubriker för webbplatsen [.rt-script]example.com[.rt-script]. Alternativet [.rt-script]-v[.rt-script], som du också kan ange med [.rt-script]--verbose[.rt-script], returnerar mer information. De resulterande utdata förbereder [.rt-script]>[.rt-script] för HTTP-begärandehuvudena och [.rt-script]<[.rt-script] för svarshuvudena och platsdata.

Vissa rubriker anger villkor för att hantera hur webbläsare som Chrome eller Mozilla Firefox betjänar webbappen, till exempel rubriken [.rt-script]Access-Control-Allow-Origin[.rt-script] för resursdelning mellan ursprung (CORS). För ytterligare skydd begränsar rubriker som [.rt-script]X-Frame-Options[.rt-script], [.rt-script]X-XSS-Protection[.rt-script] och [.rt-script]X-Content-Type-Options[.rt-script] webbplatsåtergivningen baserat på specifika problem med klickuttag, serveröverskridande skriptattacker och problem med MIME-medietyper (Multipurpose Internet Mail Extension).

Eftersom information som förmedlas i HTTP-svarshuvudfälten är offentligt tillgänglig för alla som kommer åt din webbplats, utökar all känslig information i rubriken din potentiella attackyta. Rubrikinformation kan skördas programmatiskt, vilket gör internettrafik med offentlig information till ett mål för hackare.

Exponeringsrisker för HTTP-huvud

Genom att identifiera exponeringsrisken för HTTP-serverns svarshuvud kan du implementera konfigurationsändringar för att begränsa vilken information som förmedlas i svarshuvudet. Även om du kan göra detta manuellt, finns det en mängd olika verktyg tillgängliga för automatisering, inklusive UpGuard BreachSight.

Förutom en mängd olika HTTP-relaterade risker identifierar BreachSight när dina webbplatshuvuden exponerar serverinformation med följande riskresultat:

  • Rubrik för serverinformation exponerad
  • Användning av ASP.NET som exponeras via sidhuvud
  • Specifik ASP.NET version som exponeras via rubrik
  • X-Powered-By-huvud exponerat

Den exponerade sökningen i rubriken Serverinformation identifierar om information om serverversion visas i sidhuvudet. Om serverversionen är tillgänglig kan en potentiell angripare utnyttja eventuella sårbarheter som påverkar den versionen. Genom att begränsa informationsexponeringen i sidhuvudet kan du begränsa möjligheterna för illvilliga hackare att utnyttja ditt system. All kunskap som rör versioner kan vara särskilt skadlig för system som körs på äldre versioner av programvara, eftersom dessa versioner kanske inte får supportkorrigeringar för säkerhetsbrister.

Eftersom vissa tekniker fyller i [.rt-script]server[.rt-script]-huvudet som standard, kan det krävas ytterligare konfiguration för att skydda systemet för att säkerställa att den här informationen tas bort, redigeras eller begränsas i detalj. Om du till exempel använder en Apache-server kan du inte redigera serverinformationen helt, men du kan konfigurera direktivet för att skicka begränsad information eller använda en proxyserver. Microsofts Internet Information Services (IIS) är däremot en utökningsbar webbserver som kan ställas in med en regel för URL-omskrivning för att ersätta rubriken.

Eftersom exponerad rubrikinformation anger programvaruinformation har BreachSight två ytterligare resultat för ASP.NET användning: Användning av ASP.NET som exponeras via rubrik och Specifik ASP.NET version som exponeras via rubrik. ASP.NET är ett webbramverk med öppen källkod som är kompatibelt med de flesta operativsystem, inklusive macOS, Linux och Microsoft (samt Docker-behållare). Standardinstallationer av IIS-webbservern innehåller ofta rubrikerna [.rt-script]X-AspNet-Version[.rt-script] och [.rt-script]X-Powered-By[.rt-script], som båda anger att webbservern använder ASP.NET. Om denna information förmedlas till klienten kommer din webbplatsbesökare att veta att ASP. NET används och att IIS körs på datorn. Skadliga angripare kan utnyttja den informationen som rekognosering för att förbereda sig för hotbeteenden baserat på IIS- och ASP.NET sårbarheter. Du kan ändra inställningarna i det administrativa användargränssnittet för IIS för att ta bort rubriken [.rt-script]X-Powered-By[.rt-script], ange en [.rt-script]URLRewrite-regel[.rt-script] för endera rubriken eller ändra avsnittet [.rt-script]<system.web>[.rt-script] i filen [.rt-script]web.config[.rt-script] för att ta bort rubriken [.rt-script]X-AspNet-Version[.rt-script].

Rubriken [.rt-script]X-Powered-By[.rt-script] visar information om en mängd olika tjänster som används, inte bara ASP.NET, så BreachSight söker också efter den exponerade fynden i X-Powered-By-huvudet. Beroende på tjänsten kan du behöva vidta ytterligare konfigurationssteg för att begränsa informationsexponeringen. Till exempel, om din server kör PHP, måste du inaktivera inställningen [.rt-script]expose_php[.rt-script] i filen [.rt-script]php.ini[.rt-script]. Läs dokumentationen för den teknik som används på ditt system för att identifiera hur du inaktiverar serverhuvudinformation som exponerar systeminformation.

Genom att övervaka dina serverhuvuden regelbundet kan du identifiera exponerad rubrikinformation. En automatiserad lösning för kontinuerlig övervakning säkerställer att du kan prioritera serverhärdning och konfiguration.

Med UpGuard kan du känna dig säker på att din externa attackyta övervakas kontinuerligt. Vår användarvänliga plattform tillhandahåller en intuitiv och bekväm instrumentpanel som hjälper dig att hålla dig informerad om din cybersäkerhetsstatus och serversäkerhet. Få aviseringar om potentiella risker så att du kan fokusera dina resurser där de behövs mest. Din domän skannas dagligen för att säkerställa rapportering i realtid.

För att ta reda på vilken typ av problem som utgör risker i ditt system, logga in och få tillgång till din riskprofil. Du kommer att informeras om det specifika fyndet samt eventuella tillgångar som påverkas av risken. Om du vill ha mer information om andra SSL/TLS- och HTTP-relaterade risker kan du läsa våra inlägg om SSL-certifikatets utgång, SSL är inte tillgängligt, svag SSL, felkonfigurerad SSL, HTTPS-omdirigering, HSTS-risker och konfiguration av Content Security Policy.