Billig sikkerhetspolicy

Siden deler av Billig håndterer kredittkortnummer, som generelt regnes som svært sensitiv informasjon, har vi en egen sikkerhetspolicy for Billig. Den omhandler primært delene som håndterer kredittkortnummer, spesielt ettersom disse berøres av eksterne krav og sertifiseringer (PCI DSS). Det forventes at alle som kommer i kontakt med Billig fra utvikler- og administratorsiden (derunder MG-web, ITK, og relevante utviklere i UKA, fortrinnsvis for uka.no) kjenner og følger policyen.

0. Meta

Denne policyen er utarbeidet januar 2010. Gjengsjef i ITK er ansvarlig for å revidere den minst hver 12. måned, og når premissene rundt den endres. Det er et PCI-krav å ha en slik policy, og den skal dekke en del av punktene i PCI SAQ C.

Denne policyen ble sist revidert 2018-04-19.

1. Generelt

Som for all annen bruk av Samfundets IT-systemer, gjelder Samfundets IT-reglement for drift av Billig, og alle som skal ha bruker på Samfundet må rette seg etter reglementet. Det forventes ellers at folk opptrer aktsomt og fornuftig, og generelt følger god skikk for IT-sikkerhet. Husk at potensialet for misbruk av kortdata er stort og konsekvensene potensielt alvorlige om Samfundet er ansvarlige for at slike data faller i gale hender.

Samfundet er gjenstand for eksterne krav og sertifisering jamfør PCI DSS. Ikke gjør strukturelle eller større endringer i systemer som omhandler kortnummer uten at du har satt deg inn i kravene standarden definerer.

PCI DSS inneholder krav til en del sjekker som må utføres jevnlig eller ved større endringer; se PCI DSS sjekkliste. Gjengsjef i IT-komiteen har et overordnet ansvar for disse sjekkene.

2. Isolasjon

For å skille kortdata best mulig fra andre systemer, skal de kun tas imot fra klienten av en dertil bestemt boks (okkupasjon.samfundet.no, også kjent som billettsalg.samfundet.no). Ingen andre Samfundet-maskiner skal noensinne se kortdata (unntatt testkort) i ukryptert form. Samfundets nettsider o.a. må aldri be klienter eller brukere (f.eks. med action-parameteret i et <form>) sende kortdata noe annet sted enn direkte til okkupasjon.

okkupasjon skal ikke kjøre andre tjenester enn det som er strengt nødvendig for å gjennomføre billettsalg på en sikker, hensiktsmessig og fornuftig måte. All kommunikasjon med okkupasjon skal være kryptert med dertil egnede protokoller og sertifikater. Tilsvarende skal backup være kryptert, og satt opp på en måte slik at backuptjeneren ikke får tilgang på de ukrypterte dataene. Tjenester som ikke trenger å eksponeres mot verden, skal kun eksponeres mot Samfundets interne nettverk. Swap skal enten være avslått eller kryptert med engangsnøkkel, slik at kortdata som ordinært er i RAM aldri lagres på disk på en måte som gjør det mulig å hente ut data senere.

Bindingen fra okkupasjon til andre systemer må holdes minimal, for å minimalisere risikoen for at potensielle innbrudd i andre deler av Samfundets IT-systemer også berører okkupasjon. Brukerkontoer er utelukkende personlige og holdes separat fra Samfundets vanlige IT-systemer – det er derfor viktig å ikke bruke samme passord på disse som noe annet sted. Kun et begrenset antall medlemmer av IT-komiteen med skjellig grunn skal ha tilgang til administrasjon av okkupasjon. Gjeldende gjengsjef og serveransvarlig skal alltid ha konto. Konti som ikke lenger er i bruk skal deaktiveres eller slettes. Alle med personlig konto plikter å gi beskjed når behovet for tilgang opphører.

Skriv aldri inn passordet ditt, og spesielt ikke okkupasjon-passordet ditt, fra maskiner du ikke stoler på. Til innlogging på okkupasjon skal kun personlige datamaskiner benyttes, og disse skal fortrinnsvis ikke være flerbrukersystemer. Innlogging skjer via SSH og krever i tillegg til passord en personlig SSH-nøkkel for tofaktorautentisering. SSH-tilkoblinger er begrenset til å måtte komme fra cirkus.samfundet.no, som igjen har et begrenset sett med IP-adresser som tillates for innlogging (primært tilkoblinger fra Norge). Innlogging skal likevel alltid foregå på en slik måte at cirkus aldri får tilgang til passord eller SSH-nøkler (for eksempel skal aldri passord til okkupasjon tastes i et skall på cirkus).

Privat nøkkel for tofaktorautentisering skal ikke ligge andre steder enn på de personlige datamaskinene. Tilgang til nøkkelen skal være beskyttet av lokal innlogging på maskinen. Maskinens harddisk skal helst være kryptert, eventuelt kan nøkkelen være passordbeskyttet. Det skal ellers utvises god sikkerhetsskikk på datamaskiner som skal brukes til innlogging på okkupasjon.

Passord til okkupasjon skal inneholde minst:

Om du skal f.eks bruke ordboks-ord, skal du påse på at passordet ditt har en entropi på minst 50 bit (= log2(antall muligheter)).

Legg merke til at det ikke er mulig å sette et passord med kun tall. Passordet skal byttes hvert år, og det nye passordet skal være så ulikt som mulig fra de siste 4 passordene.

3. Drift

Serveransvarlig i ITK er ansvarlig for daglig drift av okkupasjon.

Kjente sikkerhetshull på okkupasjon, som på Samfundets systemer ellers, må lappes så fort som mulig. Normalt sett betyr dette å installere sikkerhetsoppdateringer fra operativsystemleverandør innen 48 timer, men nøyaktig hvor kritisk det er avhenger av situasjonen.

Bestreb at man i størst mulig grad skal kunne ha en hendelseslogg på okkupasjon; bruk heller sudo enn root-kontoen i den grad det er hensiktsmessig.

Pass på fysisk sikring av systemer og tjenere; gå ikke fra en innlogget sesjon uten å låse skjermen først, og la ikke serverrom o.a. bli stående ulåst.

Fysisk adgang til maskinrommet hvor okkupasjon står skal begrenses i så stor grad det er praktisk rimelig.

4. Utvikling

Aktive funksjonærer i IT-komiteen er felles ansvarlig for utvikling og vedlikehold av backendkode i Billig, og spesifikt den som kjører på okkupasjon. Aktive funksjonærer i MG-web er felles ansvarlig for utvikling og veldikehold av frontendkode på www.samfundet.no. For UKA og www.uka.no gjelder det samme for personene som har ansvaret for utviklingen. Med vedlikehold inkluderes her sikkerhetsvedlikehold og -respons. Utviklere som jobber med frontend til Billig må gjøre seg kjent med Billig frontend-api.

Kode som behandler kortdata skal i størst mulig grad designes og utvikles med tanke på sikkerhet. Husk at korrekthet og sikkerhet ofte henger sammen.

okkupasjon skal generelt sett ikke brukes til utvikling av Billig eller noe annet system. Testsystemer må settes opp og testes separat, med testkort. Når en ny versjon av kode som berører kortnummer produksjonssettes (enten i front- eller backend), skal IT-komiteen varsles per epost. Ved større endringer i frontend må det avtales ny akseptansetest med betalingsleverandør.

5. Lagring og logging

Samfundet har ikke sertifisering for å lagre kortdata (herunder kortnummer, utløpsdato og CVC2-kode), med unntak av deler av kortnummeret (vi lagrer i praksis de fire siste sifrene). Kortdata skal derfor ikke lagres utover midlertidig i minne for videresending til kortleverandør, og slettes så fort som mulig etterpå. Logg aldri kortdata til skjerm, disk eller annet medium, selv ikke under debugging.

6. Eksterne aktører

Samfundet deler kortdata med underleverandører for betalingsformidling, regulert i egne avtaler. Underleverandørene er per mars 2015 PayEx og innløserne Elavon og Swedbank. Utover det skal ikke kortdata deles med eksterne aktører overhodet. Om nye aktører skal inkluderes, må dette først godkjennes av gjengsjef i IT-komiteen og daglig leder av Samfundet.

Lenker: Start, billig, billig frontend-api, billig payex, billig, hvordan utvikle, pci saq c, servere, til nye itkere

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2018-04-19 19:58 | Revisjon: 18 (historie, blame) | Totalt: 1419 kB | Rediger