Wesentra Oy
Alkuun

Palvelimen turvaaminen, SSL/TLS Ei riitä

Perusteita web-sivustojen turvaamiselle

Mixed content, Public key pinning, Cross site scripting, malware protection, SSL/TLS Certificates eli varmenteet suojaavat verkkoliikennettä.

Verkkoliikenne on jo salattua, eikö se riitä?

Tänä päivänä jo yli puolet verkkoliikenteestä kulkee salattuna. Tämä on hyvä suuntaus, mutta pelkkä salauksen lisääminen verkkosivulle ei ole lopullinen ratkaisu. SSL/TLS-salauksen purkaminen vaatii hurjasti konevoimaa, eikä sen onnistuminen siitäkään huolimatta ole varmaa. Rikollisten on paljon helpompaa etsiä palvelimestasi tietoturva-aukko ja hyödyntää sitä. Kun palvelimelle on päästy, on mahdollista kaapata myös varmenteen Private Key, jolloin itse salaus on myös rikottu.

Erilaisia palvelinalustoja on paljon. Suosittuja web- palvelinalustoja ovat esimerkiksi Apache, NGINX ja IIS.

Kuinka suojata palvelin?

Jos palvelimesi on palveluntarjoajan kautta hankittu, on todennäköistä, että se on suojaukseltaan kohtuullisella tasolla. Tämä luonnollisesti riippuu siitä, miten aktiivinen toimija palveluntarjoajasi on. Oman palvelimesi turvan voit tarkistaa SSL Server Testillä, ssllabs .

Jos yllämainitun linkin kautta avautuvat tiedot ovat puhdasta siansaksaa silmillesi, kannattaa kääntyä asiantuntijoiden puoleen. Tai ota yhteyttä meihin, jos emme osaa auttaa, osaamme ohjata sinut oikeaan suuntaan ja säästää aikaasi. Osaamme SSL/TLS-varmenteiden käytön, mutta emme edes yritä syleillä koko tietoturvamaailmaa, koska se rikkoisi fokuksemme: Parasta palvelua SSL/TLS-varmenteissa.

palvelimen/sovellusten pen-testaus. (penetration testing)

PEN-Testaus on ystävällismielistä hakkerointia luvan kanssa. Testaukseen erikoistuneet asiantuntijat pyrkivät löytämään haavoittuvuuksia palvelustasi ennalta sovituin tavoin. Tavoitteena on löytää palvelusta sellaisia puutteita, jotka voisivat mahdollistaa vihamielisen hyökkäyksen tai tietomurron kohteeseen. PEN-testauksen tuloksena saadaan raportti löydöksistä ja jopa korjausehdotuksia.

Suositeltava tapa tehdä PEN-testaus on kohdistaa se testiympäristöön. PEN-testaus voi olla hyvinkin tunkeileva ja vaikka tarkoituksena ei ole rikkoa kohdejärjestelmä, se voi aiheuttaa tiedon korruptoitumista ja palvelun rikkoontumista. Vaikka PEN-testaus on syväluotausta palvelun heikkouksiin, sen jäljiltä voi jäädä haavoittuvuuksia.

Lähes kaikki järjestelmät voivat sisältää haavoittuvuuksia, joiden löytäminen on aikaa vievää. Joskus niitä ei omin neuvoin edes voi korjata. Usein haavoittuvuudet löytyvät jostain kolmannen osapuolen komponentista, johon voi vaikuttaa ainoastaan komponentin tekijä.

Jos PEN-testaus on ajankohtainen ja kiinnostava aihe, ota meihin yhteyttä tällä lomakkeella. Ohjaamme tietosi asiantuntijakumppanillemme, jolla on pitkä ja maineikas kokemus PEN-testaamisesta ja autamme projektin käynnistämisessä.

Muutamia vinkkejä haasteisiin, joihin usein törmätään web-sivustojen kanssa:

  • Mixed content

  • Selain varoittaa, että sivustosi ei ole turvallinen. Tarkempi kuvaus paljastaa, että sivustolla on ns. Mixed Content- ongelma. Sisällössä oleva linkki, kuva tai linkki toiseen html-sivuun, ei käytä https-liikennettä vaan on http-linkki (Esimerkki: https://jokusivusto.fi = salattu liikenne, http://jokusivusto.fi = ei-salattu liikenne)

    Mahdollisia ratkaisuja palvelimen konfiguroinnissa ovat:

    • HTTP Strict Transport Security (HSTS)

    Tällä menetelmällä taklataan (ja nyt tulee SCIFIÄ) tilannetta, jossa ilkeä rikollinen on soluttautunut käyttäjän ja web-sivuston väliin, eli kyseessä on ns. "man-in-the-middle" (MITM) hyökkäys. Taustana tälle on se, että jos web-sivustolle mennään antamalla selaimeen esimerkiksi vain domain-nimi: ssl-apua.fi, on ensimmäinen pyyntö, joka palvelimelle tulee, aina salaamaton. Tai, jos sivulle mennään linkillä http://ssl-apua.fi - sama juttu. HSTS-asetus palvelimella pyrkii pakottamaan kaiken liikenteen salatuksi, eli opastaa selainta, että tänne web-sivustolle pitää tulla https-liikenteellä.
    Linkkivinkit yleisimmille web-palvelimille

    Apachen "koventaminen", NGINX ja HSTS" ja HSTSja IIS

     

    • Content Security Policy (CSP)

    Jotta pystyttäisiin kohtuullisen turvalliseen web-palveluun, tämäkin asetus kannattaa edellä mainitun lisäksi ottaa käyttöön. Tämä blokkaa mahdollisuuden käyttää turvattomia (http) linkkejä kolmansien osapuolten toimesta, eli sen, että joku kumppanisi tai muu ulkopuolinen taho lisää linkin omille sivuilleen ja linkittää sinne tietoa sinun sivuiltasi. Content Security Policy pakottaa tämänkin liikenteen salatuksi.

  • Vanhentuneet tai poistuneet cipher suitet

    Selain ei osaa varoittaa, että sivustosi ei ole turvallinen. Cipher suite, joka palvelimelle on määritelty (näitä on yleensä useita), määrittää sen kuinka selaimen ja palvelimen välinen yhteys autentikoidaan ja mitä kryptausmenetelmää käytetään. Cipher Suiteja ovat esimerkiksi TLS 1.0 - 1.2 ja tuoreimpana TLS 1.3 (linkki sisältää wikin TLS protokollien historiasta). Matti Meikäläisille nämä cipher suitet ovat lähinnä siansaksaa, määrittelyn syntaksi kun kolahtaa lähinnä palvelinten ylläpitäjille.

    SSL/TLS-perheeseen kuuluu viisi (melkein kuusi, TLS v1.3 on draft vaiheessa tätä kirjoitettaessa) protokollaa: SSL v2, SSL v3, TLS v1.0, TLS v1.1, ja TLS v1.2.

    • Näistä turvallisin = käytä tätä (Disclaimer: tätä kirjoittaessa) on TLS 1.2
    • SSL v2 on haavoittuva, sitä EI tule enää käyttää. Itse asiassa se on niin heikko, että sitä voidaan käyttää hyökkäykseen RSA-avainta vastaan, vaikka eri palvelimella (DROWN-haavoittuvuus)
    • SSL v3 on haavoittuva, suuren kohun saattelemana (POODLE) EI tule käyttää enää.
    • TLS v1.0 on ns. "legacy protocol", sitäkään ei enää tulisi käyttää, mutta se on edelleen laajalti käytössä.
    • TLS v1.1 ja v1.2 ovat toistaiseksi turvallisia (Disclaimer: tätä kirjoittaessa), mutta vain TLS 1.2 tarjoaa tällä hetkellä modernin kryptausalgoritmin.

    • Käytä vain turvallisia cipher suiteja palvelimella

    Palvelimen konfiguroinnin Best Practises löytyy kattavasti tästä linkistä.
    Luettavaa on paljon ja teksti on englanniksi, mutta mikäli ylläpidät palvelimia tämä on aiheellista tietoa.

    Linkki vinkit yleisimmille web palvelimille
    Apachen ciphersuites , NGINX ja IIS.
    IIS Ei ehkä ole näppärin tässä tapauksessa, mutta tottuneet IIS/Windows server käyttäjät kyllä löytävät tiensä tämänkin juurille. Tässä vielä muutama vinkki, miten poistaa Windows palvelimelta haavoittuvuuksia aiheuttavia ciphereitä:
    Vinkkejä Diffie-Hellman -aiheeseen: Tästä linkistä.
    Vinkkejä RC4 on Windows 2012 -aiheeseen: Tästä linkistä.
    Vinkkejä IIS turvallisuuden parantamiseen yleisesti (KATTAVA!): Tästä linkistä.

Lähteitä:
Wesentra Oy, SSL/TLS-Palvelut
www.feistyduck.com
Weseblog
CA Browser Forum
Entrust Datacard
Qualys SSL Labs
SSL/TLS Wiki