Beveiliging
Breed
Beveiliging is een breed allesomvattend proces waarvan software "slechts" een onderdeel vormt.
ITIL, ISO/IEC 27002
OpenSesame ICT adviseert als aanpak ITIL. Voor beveiliging adviseren we ISO/IEC 27002. Deze standaard heeft een meervoudige insteek:
- Beleid.
- Organisatorisch (verantwoordelijkheden).
- Assets (laptops, telefoons, ...).
- Personeel (fouten, diefstal, fraude, misbruik).
- Fysiek (sloten, brandbeveiliging, ...).
- Communicatie en operatie (processen en procedures).
- Toegangscontrole (passwords, bio-metrie, ...).
- Systeemontwikkeling en onderhoud.
- Continuïteit (back-up en restore, fallback systemen, ...).
- Regelgeving (wet bescherming persoonsgegevens, archiefwet, ...).
Adviezen m.b.t. het veilig inzetten van OpenIMS
Naast het generieke advies van ISO/IEC 27002, enige specifieke adviezen rond OpenIMS:
- Centraliseer authenticate middels een directory server en single sign on. OpenIMS heeft voorzieningen voor koppelingen met LDAP en gangbare SSO mechanismen.
- Zet VPN en/of SSL in om de verbinding tussen OpenIMS en de eindgebruiker te beveiligen.
- Plaats productieomgevingen voor Intranet en DMS in het interne netwerk (niet in de DMZ). In de DMZ kunnen Internet en Extranet servers geplaatst worden welke middels onvolledige replicatie worden bijgewerkt vanuit de beveiligde productieomgeving om het aantal documenten in de DMZ zo veel als mogelijk te beperken.
- Maak bij hosting gebruik van een provider die SAS 70 Type II of vergelijkbaar gecertificeerd is.
- Richt een standby omgeving in op een andere locatie dan de productieomgeving. OpenIMS beschikt standaard over replicatie voorzieningen (OpenIMS Active Cluster) welke hiervoor kunnen worden ingezet.
- Controleer regelmatig of de backup voorziening volledig functioneert middels cold restore tests. Zie ook onze documentatie voor backups.
- Zorg voor alle software in de keten (OS, Apache, MySQL, OpenIMS, intrusion detection, virus scanners, firewalls, proxies, client, server e.d.) dat deze up to date zijn met name m.b.t. beveiligings updates. Bij bijvoorbeeld Redhat Linux kan dit relatief eenvoudig door middel van het up2date of yum commando. In een Windows omgeving kan bijvoorbeeld Service Pack Manager ingezet worden.
- Draai regelmatig de in OpenIMS standaard beschikbare zelftest om te controleren of alle elementen goed functioneren.
- Toets middels de daarvoor standaard in OpenIMS beschikbare rapportagevoorzieningen (total security overview) of de authorisatie instellngen overeenkomen met gewenste invulling.
- Laat een onafhankelijke derde regelmatig de volledige keten, inclusief procedures en de praktijk daarvan, toetsen op de beveiliging.
Wat regelt OpenIMS hierin
Een aantal aspecten die voor beveiliging van belang zijn worden door OpenIMS afgedekt:
- Zowel de sourcecode van OpenIMS als van het platform waar OpenIMS op draait (Apache, PHP en eventueel Linux) is volledig beschikbaar voor inspectie. Het merendeel van deze sourcecode is dankzij het Open Source beginsel al door meerdere ontwikkelaars getoetst op beveiligingsaspecten. Dit is overigens nooit een absolute garantie.
- Wijzigingen aan de OpenIMS core code worden volgens de extreme programming methodiek doorgevoerd waarbij altijd mininaam 1 code review plaatsvindt waarbij ook de security wordt meegenomen. Ook zijn voor kerncomponenten scripts waarmee regressie testen worden uitgevoerd.
- Indien de OpenIMS native user database gebruikt wordt (en niet LDAP, wat overigens de voorkeur heeft) worden wachtwoorden in de vorm van een crypto hash (SHA-512, 5000 rounds) opgeslagen.
- Elk toegankelijk te maken object (bijvoorbeeld documenten) worden gecodeerd met een crypto hash gebaseerd GUID (global unique id), dit maakt het raden van deze sleutel vrijwel onmogelijk (dit is dezelfde methodiek die wordt gebruikt voor digitale handtekeningen).
- Daarnaast is het ook mogelijk om speciale controles uit te voeren als bijvoorbeeld IP range detectie voor extra gevoelige informatie of verschillende beveiligingsniveaus voor intern en extern.
- OpenIMS heeft standaard controles voor de kwaliteit van wachtwoorden welke naar eigen inzicht kunnen worden uitgebreid.
- De audit trails van OpenIMS kunnen worden gebruikt om per document of webpagina te bekijken wie wanneer welke wijzigingen heeft aangebracht.
- Mits het onderliggende platform goed is geconfigureerd vormt OpenIMS de enige toegang naar de in OpenIMS opgeslagen data. Hiervoor is van belang dat zowel op operating systeem als op webserver niveau de zogenaamde directory rechten zijn uitgeschakeld.
- Uitgebreide voorzieningen voor het opschonen van parameters (data sanitization, tegenhouden van SQL injectie). Inclusief voorzieningen voor het tegenhouden van XSS (cross-site scripting).
- Uitgebreide logging op het vlak van performance, audit trails, systeem logs en dergelijke.
We noemden het eerder maar herhalen het hier nogmaals. Software is slechts een onderdeel van de beveiliging. Als het systeem goede wachtwoorden afdwingt maar de gebruiker deze met het bekende gele briefje op de monitor plakt kan geen software in de wereld daar wat tegen doen.