Sivuston testaaminen. Lisätietoa Cert.fi sivuilta.


Sivustojen testaamiseksi on useita erilaisia kaupallisia ja ilmaisia työkaluja. Testaamista tekevät myös kaupalliset yritykset. Harrastajakäyttöön tehdyn sivuston testaaminen kaupallisen toimijan avulla voi kuitenkin osoittautua liian kalliiksi.

OWASP (Open Web Application Security Project) on julkaissut useita ohjeita sivuston testaamiseksi SQL-injektioiden ja muiden yleisimpien turvallisuusongelmien varalta sekä kymmenen yleisimmän verkkosovelluksissa esiintyvän riskin luetteloa (niin sanottu OWASP Top Ten). Ohjeisiin tulisi suhtautua enemmänkin vaatimuksina, kuin viitteellisinä ohjeina.

Ohjelmiston testaamiseen käyttöönottovaiheessa kannattaa panostaa, koska myöhemmin siihen ei välttämättä ole mahdollisuutta. Käyttöönottovaiheessa resursseja testaamiseen yleensä löytyy, eikä testauskäytössä olevan sivuston alhaallaolo välttämättä aiheuta taloudellista menetystä, toisin kuin esimerkiksi tuotannossa olevan verkkokaupan testaus ja alasajo määrittelemättömäksi ajaksi.

Tutustu myös vaatimuksiin, joita henkilörekisterin ylläpitäjälle on asetettu.

 

OWASP:n mini-tarkistuslista sovelluskehittäjälle

  1. Tarkista, että kaikki käyttäjältä tulevat syötteet sisältävät ainoastaan sallittuja merkkejä, mukaan lukien lomakkeet, http-otsikot, evästeet ja url-parametrit (A1, A2)
  2. Muuta erikoismerkit turvalliseen muotoon, kun tietoa liitetään verkkosivuun tai taustajärjestelmäkyselyyn (A1, A2)
  3. Rajoita samalle tunnukselle tehtävien peräkkäisten epäonnistuneiden kirjautumisten määrää, esimerkiksi CAPTCHA-tunnisteella tai kasvavalla viipeellä (A3)
  4. Varmista, että istuntotunniste on satunnainen ja riittävän pitkä (suositus 256-bittiä) ja että se vaihtuu jokaisen kirjautumisen yhteydessä ja vanhenee uloskirjauduttaessa (A3)
  5. Estä heikkojen salasanojen käyttö (A3)
  6. Tarkista käyttäjän oikeus suorittaa pyyntö jokaisen sivulatauksen tai toiminnon yhteydessä ja vältä globaaleiden id-tunnusten käyttöä (A4, A3, A8)
  7. Lisää kaikkiin pyyntöihin istuntokohtainen satunnainen tunniste varmistaaksesi, ettei pyyntö ole peräisin vihamieliseltä sivustolta (A5)
  8. Ohjeista selaimen tietovuotoja estävien toimintojen käyttö (cache-control, secure- ja httponly-liput evästeissä, autocomplete="off" lomakkeissa) (A6)
  9. Varmista, että web-palvelimessa ja käytettävissä ohjelmistoissa sekä kirjastoissa on uusimmat päivitykset ja että ainoastaan web-palvelin näkyy ulkoverkkoon (A6)
  10. Näytä virhetilanteissa ainoastaan geneerinen virheilmoitus ja estä yksityiskohtaisten virhetietojen näkyminen (A6)
  11. Suojaa salasanat yksisuuntaisella tiivistefunktiolla ja salasanakohtaisella suola-arvolla (A7)
  12. Käytä turvallista https-yhteyttä kaikkiin kirjautumista vaativiin yhteyksiin ja salli vain HIGH-tason SSLv3/TLS-salaukset (A9)
  13. Varmista, että mahdolliset uudelleenohjaukset tapahtuvat ainoastaan sallittuihin osoitteisiin (A10)