Checklista vid inköp/utveckling av IT-system
Definitioner:
Produkt: det som ska handlas/utvecklas.
Plattform: det som produkten avses exekvera på: dator, OS, webbserver/läsare.
Driftmiljö:
Leverantören skall stödja produkten vad avser funktion och säkerhetspatchar både för plattformar som är aktuella vid leverans och i senare versioner av dessa under produktens hela livscykel.
Produkten bör ej kräva plattform av visst fabrikat etc.
Produkten skall ha stöd för automatiserade uppdateringar.
Produkten skall levereras 'secure by default'
Om det krävs utbildning för säker installation/drift bör denna ingå.
Produkten skall levereras som automatiskt installer- och uppdaterbara standardpaket: GPO-utrullbara 'fully unattended' MSI, .deb, .rpm etc.
Serverkonfiguration bör ske via läsbara textfiler, ej endast via exvis X-miljö.
C/S:
Klientsidan av produkten skall gå att köra i fleranvändarmiljö på server under säkra former, exempelvis Windows TerminalServer.
Dokumentformat:
Eventuella dokument genererade av produkten ska vara i 'öppet' format, exvis text, PDF/A, ODF (iso/iec 26300:2006) etc.
Webbsidor bör validera ok mot validator.w3.org.
Användare:
Det ska ej vara nödvändigt att köra produkten som privilegierad användare (administrator, root, etc).
Användaredatabasen ska kunna populeras från centralt behörighetssystem (motsvarande).
Påloggning bör kunna ske med stöd av CAS (etc).
Ev separata konton för administration ska kunna vara individuella
Filer:
Produkten skall installera filer enligt operativsystemsstandard, exempelvis %ProgramFiles% för Windows.
Produkten skall bara skriva i definierade kataloger, exempelvis /opt/produkt/..., ~/.produkt
Permanenta klientdata skall inte endast sparas lokalt utan exempelvis å filserver, alternativt skall det finnas rutin för säkerhetskopiering.
Kommunikation:
Datatrafik skall vara krypterad på en tillfredställande nivå motsvarande minst RSA/2048, AES128.
Kryptering skall nyttja öppna standarder/bibliotek/protokoll, exempelvis RDP, ssh, https.
Okrypterade ingångar skall ej finnas, med undantag för publika och anonyma webbgränssnitt etc.
Alla portar/protokoll systemet använder skall vara dokumenterade för att möjliggöra brandväggsregler.
Klientcertifikat bör kunna nyttjas (om tillämpligt).
Produkten skall stödja ipv6 och ipv4, var för sig och samtidigt.
För system med krav på hög säkerhet bör tvåfaktorautenticiering stödjas.
Loggning:
Systemet skall logga relevanta händelser enligt standardmetoder som syslog. Central syslog ska kunna nyttjas.
Loggning skall kunna ske på olika nivåer, exvis debugnivå för felsökning.
Loggar bör vara i textformat, enkelt sök- och läsbara.
Loggrader skall innehålla tidsstämpel.
Konfiguration:
Produkten skall i förekommande fall hämta tid, sorteringsordning, teckenset etc från plattformens inställningar för att undvika behov av separat konfiguration.
Felsökning:
Produkten skall inte, annat än i extrema undantagsfall, kräva att leverantören släpps in på maskiner för felsökning, utan loggar mm ska ge tillräckligt stöd för detta.
Ergonomi:
Tecken och andra grafiska element skall kunna anpassas till skärmens storlek och användarens synförmåga.
Rutiner för avancerade användare/oftaanvändare bör kunna vara kommandobaserade, undvikande musarbete.
Säkerhetsanalys:
Högskolans IRT-avdelning skall kontaktas innan inköp/utveckling för diskussion om säkerhetsanalys.
Dokumentation:
All programvara och använda protokoll skall vara väl dokumenterade i en sammanhängande följd. Exempel på sådant som ska dokumenteras är övergripande funktionsbeskrivning, alla konfigurationsparametrar och alla kommandon.