Paljastetut palvelinotsikot ja kyberturvallisuusriskit
Verkkopalvelimesi välittää asiakkaalle monenlaista tietoa, kun kävijä avaa verkkosivustosi. He voivat käyttää tiettyjä määrittämiäsi käytäntöjä ja joskus tunnistaa, millaisia ohjelmistoja käytät järjestelmän käyttämiseen. Joskus se on okei. Toisinaan palvelimen otsikossa paljastetut tiedot voivat johtaa suoraan haitalliseen kyberhyökkäykseen.
Tässä artikkelissa on yleiskatsaus siitä, miten verkkopalvelimet kommunikoivat HTTP-otsikoiden kanssa, ja sen jälkeen riskihavainnot, jotka ilmaisevat, paljastuuko palvelintietosi liian yksityiskohtaisella vastausotsikolla.
Mitä palvelimen otsikot ovat?
Jokaista verkkosivustoa isännöidään verkkopalvelimella, joka toimii välittäjänä asiakaspyynnön ja verkkosivuston vastauksen välillä. Kun syötät verkkotunnuksen selaimeesi, lähetät pyynnön noutaa kyseisellä URL-osoitteella tunnistettu verkkosivu. WWW-palvelin vastaanottaa HTTP-pyynnön ja palauttaa verkkosovelluksen hahmontamiseen tarvittavat tiedostot.
WWW-palvelimet käyttävät HTTP (Hypertext Transfer Protocol) -protokollaa ja HTTPS (Hypertext Transfer Protocol Secure) -protokollaa, jotka ovat Internetin tietoliikenneprotokollia. Sekä HTTP että HTTPS vaihtavat resursseja asiakkaan ja Internet-palvelimen välillä. HTTPS tarjoaa kuitenkin lisäturvatoimia, jotka eivät ole käytettävissä HTTP:n kanssa, kuten TLS (Transport Layer Security) lisäämällä SSL-varmenteita ja HTTPS Strict-Transport-Security -käytäntö (HSTS) suojattujen yhteyksien pakottamiseksi. Nämä lisäsuojauskerrokset lisäävät todentamista ja validointia verkkoviestintään.
Lyhyesti sanottuna asiakas lähettää API-pyynnön, johon palvelin lähettää vastauksen. HTTP-vastausotsikot välittävät tietoja alkuperäisestä palvelimesta yhdistävälle asiakkaalle, mukaan lukien uudelleenohjauskohteet, ohjelmistotiedot ja välimuistiin tallennettujen tietojen iän. Koska nämä otsikot on määritetty palvelimessa, voit määrittää käytäntöjä, jotka määrittävät, mitkä tiedot ovat julkisesti asiakkaan käytettävissä. HTTP-otsikoiden syntaksi käyttää kirjainkoolla erottelematonta avain-arvo-pariliitosta toiminnon määrittämiseen.
Kuinka lukea HTTP-palvelimen otsikoita
Voit käyttää HTTP-tilakoodeja ja täydellisiä HTTP-otsikoita (sekä pyynnön otsikkoa että vastausotsikkoa) siirtymällä selaimesi verkkovälilehdelle tai käyttämällä [.rt-script]curl[.rt-script].
Jos kyseessä on esimerkkisivusto, napsauta hiiren vasemmalla painikkeella ja avaa kehittäjäkonsoli valitsemalla Tarkasta-vaihtoehto ja siirry sitten Verkko-välilehteen. Lataa tiedot päivittämällä sivu ja avaa sitten Otsikot-paneeli valitsemalla mikä tahansa luettelosta. Voit tarkastella yleisen pyynnön tietoja, kuten pyynnön URL-osoitetta (sivusto, jolla haluat käydä), pyynnön tyyppiä (yleensä [.rt-script]GET[.rt-script]-pyyntöä) ja muita tietoja, kuten viittauskäytäntöä. Voit myös lukea vastausotsikot ja pyyntöjen otsikot, jotka sisältävät otsikot, kuten [.rt-script]Access-Control-Max-Age[.rt-script] välimuistin pituuden ilmaisemiseksi, [.rt-script]Content-Type[.rt-script] mediaresurssien tietojen ilmaisemiseksi, [.rt-script]Content-Length[.rt-script] resurssin koon ilmoittamiseksi, [.rt-script]Content-Encoding[.rt-script] pakkauksen hallitsemiseksi, [.rt-script]Set-Cookie[.rt-script] evästeiden lähettämiseksi käyttäjäagentille sekä monia muita otsikoita, jotka hallitsevat palvelinasiakasta Viestinnän.
Jos haluat noutaa päätteen otsikot, suorita päätteessä [.rt-script]curl -v example.com[.rt-script] noutaaksesi [.rt-script]example.com[.rt-script] -verkkosivuston otsikot. Valitsin [.rt-script]-v[.rt-script], jonka voit määrittää myös komennolla [.rt-script]--verbose[.rt-script], palauttaa lisätietoja. Tuloksena oleva tulos lisää [.rt-script]>[.rt-script] HTTP-pyyntöjen otsikoille ja [.rt-script]<[.rt-script] vastausotsikoille ja sivustotiedoille.
Jotkin otsikot asettavat ehtoja, joilla hallitaan, miten verkkoselaimet, kuten Chrome tai Mozilla Firefox, palvelevat verkkosovellusta, kuten [.rt-script]Access-Control-Allow-Origin[.rt-script] -otsikko eri alkuperän resurssien jakamiseen (CORS). Lisäsuojaa varten otsikot, kuten [.rt-script]X-Frame-Options[.rt-script], [.rt-script]X-XSS-Protection[.rt-script] ja [.rt-script]X-Content-Type-Options[.rt-script], rajoittavat sivuston hahmontamista napsautusten kaappaamiseen, sivustojen välisiin komentosarjahyökkäyksiin ja MIME (Multipurpose Internet Mail Extension) -mediatyyppeihin liittyvien ongelmien perusteella.
Koska HTTP-vastauksen otsikkokentissä välitetyt tiedot ovat julkisesti kaikkien sivustosi käyttäjien saatavilla, otsikon arkaluontoiset tiedot laajentavat mahdollista hyökkäyspinta-alaa. Otsikkotiedot voidaan kerätä ohjelmallisesti, mikä tekee julkista tietoa sisältävästä Internet-liikenteestä hakkereiden kohteen.
HTTP-otsikon altistumisen riskit
Tunnistamalla HTTP-palvelimen vastauksen otsikon altistumisriskin voit tehdä määritysmuutoksia rajoittaaksesi vastauksen otsikossa välitettäviä tietoja. Vaikka voit tehdä tämän manuaalisesti, automaatioon on saatavilla useita työkaluja, mukaan lukien UpGuard BreachSight.
Erilaisten HTTP:hen liittyvien riskien lisäksi BreachSight tunnistaa, kun verkkosivustosi otsikot paljastavat palvelintietoja seuraavilla riskihavainnoilla:
- Palvelimen tietojen otsikko paljastuu
- Otsikon kautta paljastettujen ASP.NET käyttö
- Tietty ASP.NET versio näkyy otsikon kautta
- X-Powered-By-otsikko paljaana
Palvelintietojen otsikon paljastettu havainto määrittää, paljastetaanko palvelimen versiotiedot otsikossa. Jos palvelinversio on käytettävissä, mahdollinen hyökkääjä voi hyödyntää kyseiseen versioon vaikuttavia haavoittuvuuksia. Otsikon tietojen altistumisen rajoittaminen auttaa sinua kaventamaan haitallisten hakkereiden mahdollisuuksia hyödyntää järjestelmääsi. Kaikki versioihin liittyvä tieto voi olla erityisen haitallista järjestelmille, jotka toimivat vanhemmilla ohjelmistoversioilla, koska nämä versiot eivät välttämättä saa tukikorjauksia tietoturva-aukkoihin.
Koska jotkin tekniikat täyttävät oletusarvoisesti [.rt-script]server[.rt-script]-otsikon, järjestelmän suojaaminen voi edellyttää lisämäärityksiä sen varmistamiseksi, että nämä tiedot poistetaan, poistetaan tai rajoitetaan yksityiskohtaisesti. Jos esimerkiksi käytät Apache-palvelinta, et voi poistaa palvelimen tietoja kokonaan, mutta voit määrittää direktiivin lähettämään rajoitettuja tietoja tai käyttämään välityspalvelinta. Microsoftin Internet Information Services (IIS) on sitä vastoin laajennettava WWW-palvelin, joka voidaan asettaa URL-osoitteen uudelleenkirjoitussäännöllä korvaamaan otsikko.
Koska paljastetut otsikkotiedot määrittävät ohjelmistotiedot, BreachSightilla on kaksi lisähavaintoa ASP.NET käyttöön: otsikon kautta paljastettujen ASP.NET käyttö ja otsikon kautta paljastetun ASP.NET version käyttö. ASP.NET on avoimen lähdekoodin verkkokehys, joka on yhteensopiva useimpien käyttöjärjestelmien kanssa, mukaan lukien macOS, Linux ja Microsoft (sekä Docker-säilöt). IIS-WWW-palvelimen oletusasennukset sisältävät usein [.rt-script]X-AspNet-Version[.rt-script]- ja [.rt-script]X-Powered-By[.rt-script]-otsikot, jotka molemmat ilmaisevat, että WWW-palvelin käyttää ASP.NET. Jos nämä tiedot välitetään asiakkaalle, verkkosivustosi kävijä tietää, että ASP. NET on käytössä ja että IIS on käynnissä järjestelmässäsi. Pahantahtoiset hyökkääjät voivat hyödyntää näitä tietoja tiedusteluna valmistautuakseen IIS:n ja ASP.NET haavoittuvuuksiin perustuvaan uhkakäyttäytymiseen. Voit muokata IIS:n hallintakäyttöliittymän asetuksia poistamalla [.rt-script]X-Powered-By[.rt-script]-otsikon, määrittämällä [.rt-script]URLRewrite-säännön[.rt-script] jommallekummalle otsikolle tai muokkaamalla [.rt-script]<system.web>[.rt-script]-tiedoston [.rt-script]-osaa poistaaksesi [.rt-script]X-AspNet-Version[.rt-script]-otsikon.
[.rt-script]X-Powered-By[.rt-script]-otsikko paljastaa tietoja useista käytössä olevista palveluista, ei vain ASP.NET, joten BreachSight etsii myös X-Powered-By-otsikon paljastettua havaintoa. Palvelusta riippuen saatat joutua suorittamaan lisämääritysvaiheita tietojen altistumisen rajoittamiseksi. Jos palvelimesi käyttää esimerkiksi PHP:tä, sinun on poistettava [.rt-script]expose_php[.rt-script] -asetus käytöstä [.rt-script]php.ini[.rt-script]-tiedostossa. Tarkista järjestelmässä käytetyn tekniikan dokumentaatiosta, miten järjestelmätietoja paljastavat palvelimen otsikkotiedot poistetaan käytöstä.
Palvelimen otsikoiden toistuva valvonta voi auttaa sinua tunnistamaan paljastetut otsikkotiedot. Jatkuvan valvonnan automatisoitu ratkaisu varmistaa, että voit priorisoida palvelimen koventamisen ja konfiguroinnin.
UpGuardin avulla voit luottaa siihen, että ulkoista hyökkäyspintaasi valvotaan jatkuvasti. Käyttäjäystävällinen alustamme tarjoaa intuitiivisen ja kätevän kojelaudan, jonka avulla pysyt ajan tasalla kyberturvallisuudestasi ja palvelimen turvallisuudesta. Vastaanota hälytyksiä mahdollisista riskeistä, jotta voit keskittää resurssisi sinne, missä niitä eniten tarvitaan. Verkkotunnuksesi tarkistetaan päivittäin reaaliaikaisen raportoinnin varmistamiseksi.
Jos haluat selvittää, millaiset ongelmat aiheuttavat riskejä järjestelmällesi, kirjaudu sisään ja avaa riskiprofiilisi. Sinulle ilmoitetaan tietystä havainnosta sekä kaikista varoista, joihin riski vaikuttaa. Lisätietoja muista SSL/TLS- ja HTTP-riskeistä on SSL-varmenteen vanhenemisesta, SSL ei käytettävissä -löydöksestä, heikosta SSL:stä, väärin määritetystä SSL:stä, HTTPS-uudelleenohjauksesta, HSTS-riskeistä ja sisällön suojauskäytännön määrityksistä.