ICT Security Training SSD Instructies

UWV Security
SSD Instructies
BESTEMD VOOR
AUTEUR(S)
VERSIE
DATUM
:
:
:
:
Patrick van Grevenbroek
Gabriele Biondo / T. Uding (vertaling)
1.0
20-03-2014
HISTORIE
Datum
Auteur(s)
Omschrijving
20/03/2014
Gabriele Biondo /
T. Uding (vertaling)
SSD Instructies ter ondersteuning
1/5
© VALORI 2011 ALLE RECHTEN VOORBEHOUDEN
SSD #
Omschrijving
Instructies
SSD-1
Systeem verharden
en updaten
Periodiek bepalen welke gebruikers aanwezig zijn op
systemen;
Verwijder ongebruikte gebruikers;
Periodiek controleren welke diensten op systemen
draaien;
Verwijder ongebruikte diensten;
Periodiek bepalen welke programma's op systemen zijn
geïnstalleerd;
Verwijder ongebruikte programma's;
Trek onnodige bevoegdheden in;
Test patches;
Patch na succesvol testen.
SSD-2
Veilige cookies
Enkele goede cookie ontleders (voor Firefox):
https://addons.mozilla.org/it/firefox/addon/httpfox/;
https://addons.mozilla.org/it/firefox/addon/view-cookies/;
Vergeet niet dat een veilige cookie https aan heeft staan;
Wat u ook zou willen zijn cookies met HttpOnly (geen
AJAX).
SSD-3
SSD-4
Veilige FAT
componenten
(ActiveX, Flash, Java,
...)
Data encryptie
Wanneer gevoelige data wordt verzonden, gebruik HTTP
POST methodes;
Wanneer gevoelige data wordt verzonden, gebruik
HTTPS;
Vertrouw geen gesloten bron componenten van derde
partijen, tenzij u precies weet wat de componenten doen;
Overdrijf niet! Het kan zijn dat sterke encryptie niet nodig
is: soms vertraagt het alleen de communicatie en het
eindpunt is mogelijk niet congruent;
Normale certificaten (X.509) gebaseerde encryptie is
genoeg in de meeste gevallen.
SSD-5
Juiste autorisatie voor Controleer of er sterke (multifactor) systeem authenticatie
externe gebruikers
aanwezig is. Dit vereist twee of meer uit te voeren
controles;
Controleer of de verificatiegegevens voldoen aan het
wachtwoordbeleid.
SSD-6
Juiste autorisatie voor Controleer of de 'haken' van het UWV interne Identity en
interne gebruikers
Access Management oplossing (ABS) aanwezig zijn;
Controleer of de verificatiegegevens voldoen aan het
wachtwoordbeleid.
SSD-7
Functiescheiding
SSD-8
2/5
Minste bevoegdheid
Geen enkele gebruiker mag controle hebben over een
proces van begin tot eind;
Implementeer scheiding van taken waar mogelijk;
Implementeer 'kennis vereist' en 'minste bevoegdheid'
waar mogelijk.
Implementeer scheiding van taken waar mogelijk;
© VALORI 2011 ALLE RECHTEN VOORBEHOUDEN
SSD-9
Implementeer 'kennis vereist' en 'minste bevoegdheid'
waar mogelijk;
Voor de implementatie van 'kennis vereist' en de 'minste
bevoegdheid', moet u begrijpen wat een gebruiker
precies moet weten om zijn / haar dagelijkse taken uit te
kunnen voeren en wat de minimale bevoegdheden zijn
om zijn / haar taak uit te voeren.
Controleer of Captcha's zijn geïmplementeerd;
Mislukte
inlogpogingen
Controleer of mislukte inlogpogingen worden gelogd;
Controleer of er een vertraging na twee mislukte logins,
voor de derde, wordt opgelegd.
SSD-10 Gelijktijdige
sessiecontrole
Laat niet meer dan een sessie per gebruiker toe voor
elke toepassing, zelfs vanaf verschillende computers.
SSD-11 Systeemgebruik
notificatie
Wanneer u inlogt op een systeem, merk dan op dat de
standaard 'banner' is vervangen door iets 'minder
spraakzaam' vanuit een technisch perspectief, maar wel
aangeeft dat het systeem eigendom is van het UWV, dat
alle activiteiten worden gelogd en dat elke overtreding zal
worden vervolgd;
Niet een actie-item.
SSD-12 Sessieslot
Toepassingssessies moeten in het ergste geval
geblokkeerd worden na 15 minuten (5 minuten is
gewenst).
Zorg ervoor dat elke actie die een toepassing kan
verrichten, een vermelding in een logboek produceert;
Zorg ervoor dat er niet kan worden geknoeid met
logboeken;
Zorg ervoor dat elke gebruiker uniek kan worden
geïdentificeerd in logboeken.
Implementeer rangschikken van sessies;
SSD-13 Verantwoording
SSD-14 Geauthenticeerde
sessies
Controleer of de sessie serienummers echt willekeurig
zijn;
Controleer of de sessie serienummers veranderen
wanneer een login / logout plaats vindt.
SSD-15 Scheiding van
Architectuur moet meerlaags zijn, het scheiden van
gegevens, presentatie presentatie (bijv. een webserver), van bedrijfslogica en
en toepassingslagen van data (database);
De webserver hoort thuis in de DMZ;
SSD-16 Systeempositionering
SSD-17 Management
interfaces
3/5
Database, wanneer aanwezig, hoort NIET thuis in de
DMZ, tenzij speciale zaken een dergelijke keuze
rechtvaardigen;
U kunt dit enkel controleren op basis van het HLD (High
Level Design).
Niet een actie-item. Geeft aan welke systemen in de
DMZ geplaatst moet worden.
Controleer of de webapplicatie een management
interface heeft;
Controleer of de logboeken management gerelateerde
items bevatten;
Houdt er rekening mee dat de gegevensbewaarder ook
rechtstreeks toegang heeft tot de databases - dus
misschien wilt u ook altijd de logs van de database
controleren.
© VALORI 2011 ALLE RECHTEN VOORBEHOUDEN
SSD-18 HTTP normalisering
De webapplicatie moet het volgende valideren:
HTTP headers;
Cookies;
XML, in alle vormen;
Formulierparameters.
SSD-19 Invoer normalisatie
SSD-20 Bescherming tegen
ASCII injectie (uitvoer
validatie)
Controleer of er 'witte lijsten' zijn die alleen onschadelijke
tekens accepteren (zie de spiekbrief van Invoer
Normalisatie voor meer info);
Spiekbrief:
https://www.owasp.org/index.php/Data_Validation.
Het meest complete spiekbriefje met betrekking tot XSS:
https://www.owasp.org/index.php/XSS_Filter_Evasion_C
heat_Sheet;
Zorg ervoor dat de gebruiker geen opdrachten kan
injecteren in:
URL's;
Formuliervelden.
SSD-21 Geparametriseerde
queries
Zorg ervoor dat opgeslagen procedures worden gebruikt
waar mogelijk;
Zorg ervoor dat de gebruiker geen SQL-instructies kan
injecteren in:
URL's;
Formuliervelden.
Een goede SQL injectie preventie spiekbriefje is:
https://www.owasp.org/index.php/SQL_Injection_Preventi
on_Cheat_Sheet;
Een goede uitgebreide site is:
http://www.sqlinjectionwiki.com/Categories/1/mssql-sqlinjection-cheat-sheet/.
Spiekbriefje:
https://www.owasp.org/index.php/Data_Validation;
Ga na of de applicatie de invoer valideert aan de hand
van witte lijsten (bij voorkeur) in plaats van zwarte lijsten
(verouderd);
Indien de applicatie niet valideert op alle input, geef dan
een ernstige waarschuwing af.
SSD-22 Invoer validatie
SSD-23 Bestandsinvoeging
SSD-24 HTTP header
validatie
SSD-25 HTTP headers
informatielek
4/5
U zult de code moeten controleren om te zien of de
applicatie het invoegen van externe bestanden toelaat;
Wellicht wilt u op voorhand deze spiekbrief doornemen
om de inhoud van hetgeen besproken in onze lessen
weer vers in het geheugen te hebben:
https://www.owasp.org/index.php/PHP_Security_Cheat_
Sheet.
Controleer de informatie die de webserver meestuurt in
de HTTP-headers zorgvuldig;
Controleer vooral dat de webserver de TRACE en
OPTIONS methoden niet accepteert;
De PUT methode mag niet zijn ingeschakeld, tenzij dit
noodzakelijk is.
De server versie en patch niveau mogen niet worden
opgenomen in de normale HTTP-header.
© VALORI 2011 ALLE RECHTEN VOORBEHOUDEN
SSD-26 HTTP methodes
SSD-27 Foutafhandeling
Controleer de informatie die de webserver meestuurt in
de HTTP-headers zorgvuldig;
Controleer vooral dat de webserver de TRACE en
OPTIONS methoden niet accepteert;
De PUT methode mag niet zijn ingeschakeld, tenzij dit
noodzakelijk is.
Beheer fouten altijd op een gracieuze manier;
SSD-30 Veiligheid monitoring
Vooral nooit toestaan dat fouten de systeeminformatie
prijsgeven;
Een test die u altijd moet uitvoeren is het zoeken naar
een niet-bestaande pagina om vervolgens te bekijken of
sommige web-server specifieke fouten worden
weergegeven.
Verwijder altijd aantekeningen uit productiecode /
controleer of er geen aantekeningen aanwezig zijn in de
productiecode.
Zeer oude aanval, maar gebeurt soms nog. Spiekbriefje
vindt u hier:
https://www.owasp.org/index.php/Path_Traversal;
Een goed middel om mee te testen:
http://dotdotpwn.sectester.net/.
Niet een actie-item.
SSD-31 Systeemcertificering
Niet een actie-item.
SSD-28 Aantekeningen
SSD-29 Padtraverse
5/5
© VALORI 2011 ALLE RECHTEN VOORBEHOUDEN