Het zal je niet zijn ontgaan dat veel overheidsinstanties en gemeenten onder vuur liggen vanwege gebrekkige ict-beveiliging. Verschillende websites blijken gevoelig te zijn voor kwetsbaarheden en onvolkomenheden in de software waardoor de controle over sites kan worden overgenomen. Ook kunnen er gegevens buit gemaakt worden. Voor bedrijven en overheden levert dit imagoschade op.
In de media worden deze beveiligingslekken uitvoerig beschreven en naar buiten gebracht. Maar wat kan aan aan de beveiligingslekken gedaan worden. En, in relatie tot dit expert topic, welke rol kan open source software hierbij spelen?
Laat het duidelijk zijn, ict-security is iets dat niet alleen in de software kan geregeld kan worden. Security moet je op alle vlakken aanpakken, zowel procedureel, fysiek, op hardware als in de software (hierbij kan de software zelfs nog gesplitst worden in de applicatie en systeemsoftware zoals operating systeem, database en webserver). Zo'n integrale aanpak zorg ervoor dat je niet alleen de voordeur dichttimmert, maar ook de achterdeur goed vergrendeld.
In de meeste voorbeelden in de media zijn websites het doelwit. In mijn ogen is dit niet schokkend. In de meeste gevallen betreft het informatie die toch al met de buitenwereld gedeeld wordt. Ik zou het veel kwalijker vinden wanneer er informatie verkregen wordt die de betreffende organisatie of het bedrijf niet wilde delen. Het lijkt me dat je daarom data zou moeten classificeren, bijvoorbeeld in drie niveaus van vertrouwelijkheid. Op elk niveau kunnen passende maatregelen getroffen worden. Daarnaast zou bij zelfbouw van applicaties security in het design mee genomen moeten worden. Strikte regels en afspraken tijdens het programmeren helpen security risico's te verkleinen of ze (later) eenvoudiger te verhelpen.
Wat mij in de meeste berichten opvalt is dat de sites al zo'n lange tijd 'lek' blijken te zijn. Dat suggereert dat de sites niet of niet goed beheerd worden. Of in ieder geval dat de beheerder niets in de gaten heeft gehad. Goed beheer is dan ook een erg belangrijke voorwaarde voor security. Een goede beheerder weet wat er zich op de systemen afspeelt. Hij (of zij) heeft bijvoorbeeld een adequate update policy. Software wordt regelmatig van updates voorzien en security updates worden met voorrang doorgevoerd. Het spreekt vanzelf dat kennis en ervaring noodzakelijk zijn voor goed beheer.
Maar kan open source software helpen? Voor wat betreft het software-deel kan dat naar mijn idee zeker. Er zijn verschillende open source softwaretools beschikbaar die gebruikt kunnen worden om de mate van security te verhogen. Nu zal je misschien denken, zijn dat niet dezelfde tools die ook door de hackers gebruikt worden? Dat zou best kunnen, maar in mijn ogen is dat juist een extra reden er kennis van op te doen en ze te gebruiken.
Prijskaartje
Vanwege de vaak lagere kosten kan open source software de financiële bezwaren wegnemen om dergelijke tools te gaan gebruiken. Geen aanschafprocedure en niet-techneuten die daarover moeten beslissen, gewoon downloaden. Open source-software is daardoor laagdrempelig. Veel van de tools maken ook nog standaard deel uit van een (Linux) distributie en dat maakt het gebruik nog eenvoudiger. Voorbeelden hiervan zijn Linux gebaseerde firewalls zoals Shorewall en bijvoorbeeld tcpdump waarmee het netwerkverkeer van een interface kan worden bekeken. In het verleden heb ik daar veel gebruik van gemaakt. Naar verloop van tijd wordt je handig in het gebruik ervan. Een ander mooi voorbeeld is SELinux. Dit is een systeem dat in veel Linux distributies aanwezig is en waarmee het systeem veiliger kan worden gemaakt. Met SELinux kunnen bijvoorbeeld de mogelijkheden van een server proces, zoals de webserver, om het filesysteem te benaderen geminimaliseerd worden. Indien de webserver gehackt zou worden, blijven de mogelijkheden dit te misbruiken beperkt. Ook denk ik aan Nessus, een open source netwerkscanner die het netwerk doorlicht op bekende kwetsbaarheden. Wat weerhoudt organisaties ervan dergelijk producten te gebruiken?
Is open source software zelf ook veiliger? Mogelijk, maar natuurlijk bevat ook open source software bugs en kwetsbaarheden, het is en blijft software. Wel weten we inmiddels dat 'security by obscurity' zoals in de commerciële software wereld gehanteerd wordt niet werkt. Juist openheid over security problemen leidt tot oplossingen en dus tot een veiliger systeem. Bovendien, al zou een oplossing (nog) niet beschikbaar zijn, zodra bekend is dat er een security probleem is, kan je als klant, eindgebruiker of beheerder maatregelen nemen. In het meest extreme geval sluit je een systeem van internet af. Je hebt in ieder geval de keuze.
Ook biedt open source software de mogelijkheid zelf het heft in handen te nemen. Zo werkt een collega van me aan Handshake, een sms-authenticatie portal dat gebruik maakt van OpenVPN. De portal regelt de 'two factor security' en OpenVPN de beveiligde netwerkverbinding. OpenVPN is open source software en Handshake wordt dat in de nabije toekomst. De combinatie van beiden is een goed alternatief voor commerciële software die het 'thuiswerken' ondersteunen.
Terug naar de vraag, kan open source software mijn ict-security helpen te vergroten? Ik ben van mening dat het dat zeker kan. Toch zal een goede aanpak zich niet beperken tot de software. Een beheerder die van mening is dat de webserver niet gehackt zal worden leeft in een fantasiewereld. Ga ervan uit dat het gebeurd en kijk dan nogmaals naar het systeem, neem security serieus en gebruik de goede tools. En als laatste, zorg voor een calamiteitenprocedure. Welke maatregelen ga jij nemen als je gehackt bent? Wie gaat de communicatie voor zijn rekening nemen? Denk hier goed over nu je daar nog rustig de tijd voor hebt.
Wat ik echter niet begrijp is dat er nog steeds bedrijven zijn die hacks ontkennen en eromheen draaien. Is het inmiddels niet duidelijk dat zoiets niet meer kan? Of vinden we security gewoon niet belangrijk?
De stelling in het artikel is dat open source lekken helpt voorkomen. Het ligt voor de hand dat als je ontwerp en de code voorhanden hebt, dat het aanwijzen van lekken dan simpeler is. Je automonteur heeft immers ook graag een servicemanual bij de hand.
Vanzelfsprekend moet je altijd zorgen dat de open source software die je installeert, niet stiekum is ‘bewerkt’ door kwaadwillenden. Maar dat geldt voor closed software net zo goed. Gegeven de vele patent- en auteursrechten rechtszaken met veroordelingen, is closed software trouwens niet altijd even “closed”.
Volgens mij wordt de borging en garantie van productie en continuïteit zelden geregeld in de gebruikslicentie op software. Veel service wordt verleend door andere partijen dan door de software fabrikanten. De garantie op continuïteit zal alleen steek houden als er de mogelijkheid is om foutieve code snel te verbeteren. Of dat kan, moet blijken uit de bijbehorende werkwijze; wellicht uit een time-audit daar op. De eventuele licentie-inkomsten (commissie) zijn voor de serviceverleners meestal een interessante bijverdienste maar niet de hoofdzaak.
Open Source software is qua gebruikslicentie in diverse gevallen, zoals Linux, gratis; Maar wie gegarandeerde continuïteit wil, moet daar een goede serviceverlener bij hebben (of zelf de kennis in huis halen). Bijna altijd gaat het dan om installaties en implementaties met maatwerk. De continuïteitsgarantie – feitelijk een overdracht van risico – kàn hier alleen uit het servicecontract blijken. De serviceverlener moet zijn processen daarom zo inrichten dat er een snelle repair tijd wordt bereikt. Allen dan is het risico voor de service provider beheersbaar en de garantie te realiseren. Dus: Kennis voorhanden hebben, voldoende buffer capaciteit, voldoende flexibiliteit, etc. Daarop zal de sercive prijs en het ‘level’ worden gebaseerd.
Een closed source leverancier kan in theorie precies zo’n snelle ‘repair’ tijd bereiken door zijn processen daar voor nadrukkelijk in te richten. Hij zal daar een passend service level met dito vergoeding voor verlangen. Dat zou elke manager mogen snappen, doch vele niet-technische managers beoordelen ICT-risico’s meer als een soort financiële afweging (verzekering) dan als een inhoudelijk productie-beheersings vraagstuk. ICT verkopers beweren gewoonlijk ‘nachtrust’ te verkopen. Een service contract is nachtrust. Ja, ja!
Natuurlijk zijn OS en CS kampen altijd graag bereid op elkaars nadelen te wijzen.
@Frank
“Wanneer managers niet zijn te overtuigen van de beste keuze maar uitsluitend afgaan op bling bling, dat zegt dat veel over deze managers.”
Met deze zin sla je de spijker op z’n kop
Er lopen helaas te veel managers rond die met de trends mee willen gaan. Als open source “hip” is, moet alles open source; als de cloud “hip” is, moet alles in de cloud enz enz.
Wanneer jou advies tegen de trend ingaat…..
Zijn we het met zijn allen toch weer met elkaar eens 😉
@Peter Ambagtsheer, een bedrijf dat gesloten code levert kan faliet gaan.
Waneer je van een OSS project de code hebt, dan kun je bij een willekeurige partij voor het onderhoud aka updates terecht.
Het eventuele continuiteits argument lijkt me daarbij niet valide.
Dit overigens los van het verschijnsel dat eenmaal goed opgezette software echt niet elke drie jaar vervangen hoeft te worden (ken zat voorbeelden waar software meer dan twintig jaar blijft draaien)
Dat de code veelal gratisch is, is waar maar dat is beslist geen noodzaak. ik heb eens dik geld gevraagd voor een programmaatje dat de klant gewoon zelf van mijn website had kunnen downloaden.
Wil je dat ik aanpassingen maak, dan wordt ik daar graag voor betaald 😉
De grootste vijanden van OSS zijn iha mensen die vrezen dat ze eens een keer ergens moeite voor moeten doen. Dat gaat heel veel verder dan je zou kunnen vrezen.
Mijn ervaring met Open Source is dat het gros van IT-ers (en indirect dus bedrijven) het doen omdat het gratis is en in 99 van de 100 gevallen echt niet kijken of de code van enige kwaliteit is. Hooguit een beetje googelen, maar open source wordt vooral ingezet omdat je geen investering hoeft te doen en meteen wat hebt om te proberen.
Waar ik moeite mee heb is mensen die echt open source als een soort van religie belijden. Het is gewoon een business model zoals je aan de ene kant Android hebt en aan de andere kant IOS. Ze hebben allebei een plek en het andere als slecht(er) afdoen is in mijn ogen gewoon niet slim.
@Henri Koppen,
In essentie deel ik je mening dat het gros van de IT-ers niet verder kijken dan de neus lang is.
Gratis is idd voor velen een toverwoord. Dat dit volkomen onterecht is laten we voor het gemak maar eens even buiten beschouwing.
Al eerder gaf ik al aan dat ondersteuning in de toekomst juist dankzij het open source karakter doorgang kan blijven hebben ondanks dat de maintainers er welicht mee stoppen.
Daarvoor moet je dan idd wel de moeite nemen zelf de code aan te passen.
Nu is het gros van de ITers nog niet eens in staat de rotzooi te compileren laten we maar zwijgen over het aanpassen en onderhouden ervan. daar heb je een punt.
Je opmerking over de kwaliteit van de code snijdt echter geen hout !
Immers ben je ook niet in staat om de code van gesloten projecten te onderzoeken, los van het feit of een gemiddelde ITer in staat is om de kwaliteit ervan te beoordelen,
Zelf heb ik zowel aan open als gesloten software gewerkt en in beide gevallen ben ik goede en zeer slechte spullen tegen gekomen (zal daarbij maar niet in details treden maar er is een duidelijk aanwijsbare oorzaak voor de belangrijkste issues in deze)
Ik ben het met je eens dat er een hoop nitwits zijn die OSS als een religie zien.
Ik zie echter ook zat lui die zonder enige onderbouwing OSS afwijzen waarbij al snel gebrek aan kennis van zaken en onwil om die kennis eigen te maken als de reden valt aan te wijzen.
Kwaliteit van software word niet bepaald door het al dan niet open karakter van de bron code, maar wel door de gene die de rotzooi bijeen tikken. en daar schort het in beide gevallen nogal eens aan !
@Pascal: Inderdaad. Ik heb wel eens meegemaakt dat de programmeurs allang niet meer in dienst waren en de we hadden de broncode niet, dan ben je dus afhankelijk van de hardware en software vereisten.
Hoe vaak komt het niet voor dat binnen een bedrijf een NT4 machine staat of iets anders heel ouds, omdat daar een klein stukje software op draait dat niet weg mag, maar dat niet her-complileerd kan worden?
@Technicus
Die oude spullen staan nog op meer plaatsen dan je denkt, soms ontkom je daar niet aan.
Zeker wanneer je wettelijke onderhoudsverplichtingen hebt van 15 jaar (medische apparatuur) ben je nog geruime tijd gebonden aan platformen als Windows NT en VAX.
De software draaiende houden is één, maar hardware vinden waar de oude software nog op draait is ook een uitdaging op zich. Gelukkig biedt virtualisatie hier uitkomst.
@PaVaKe je schrijft:
“Je opmerking over de kwaliteit van de code snijdt echter geen hout !
Immers ben je ook niet in staat om de code van gesloten projecten te onderzoeken, los van het feit of een gemiddelde ITer in staat is om de kwaliteit ervan te beoordelen”
Ik doe ook geen vergelijking hierin met closed source. Maar meer dat het geen argument is voor Open Source. Het zou een argument voor Open Source zijn als een groter deel van de gebruikers van Open Source daadwerkelijk de code bekijken. Nu is het vooral een argument wat leuk klinkt, maar praktisch gezien geen argument is.
Daarnaast stoor ik me aan meningen die erop duiden dat closed source slecht is omdat er geld mee verdiend wordt. Dat zijn ook mensen die vinden dat de rijken meer belasting moeten betalen maar niet beseffen dat het gros van de welvaart betaald wordt door die “rijken”.
@Henri Koppen:
alhoewel mijn voornaam ook Pascal is, komt de opmerking “je opmerking … geen hout!” van mijn naamgenoot die schrijft onder de naam “Pascal”
Niet van PaVaKe
Waarvan akte 😉
Dan zal ik toch maar even de zaak recht trekken 😉
(heel af en toe schrijft er trouwens wel eens iemand iets onder mijn naam… balen zeg)
Henri, ik kan het slechts met je eens zijn.
Er zouden idd wat meer mensen een actieve bijdrage mogen leveren, zeker waneer die mensen zelf wel kassa rekenen om de rotsooi te instaleren.
Lieden die zeggen Linux is slecht want mijn printer/vage netwerkkaart/andererariteit wordt niet ondersteund, hebben duidelijk geen idee wat OSS is, die neem ik ook niet serieus.
Ik reken ook gewoon $$$ voor het schrijven van OSS, Als ik er niet voor betaald wordt kruip ik ook liever achter de piano, niets mis mee.
Waar ik wel een bezwaar zie, is (wat nogal eens voorkomt) closed source toepassen om vendorlockin te forceren.
VendorLockin leid zelden tot weloverwogen keuzes.
Wil je klanten aan je binden, doe dat dan door kwaliteit te bieden, niet door onvervangbare troep te leveren.
Zorg er dus voor dat je specialistische toepassing over een paar jaar nog inzetbaar is, bv door versies te bieden die op een ander OS draaien.
Zoals Pascal van Kempen al aangaf, sommige applicaties gaan echt langer mee dan vijf jaar (ik heb een luchtvaart achtergrond, 30 jaar is daar geen uitzondering)
Pascal uit Limburg.