OpenBSD staat bekend als het meest veilige UNIX-achtige besturingssysteem ter wereld, met naar eigen zeggen “only two remote holes in the default install, in a heck of a long time!”. Het hele ontwikkelingsproces van OpenBSD is gericht op het waarborgen van de veiligheid, en om er voor te zorgen dat het maar bij die twee kwetsbaarheden blijft. De reputatie gaat zelfs zo ver dat OpenBSD niet was toegestaan op de “wargames” van de Defcon hackers conferentie, waar mensen proberen elkaars computers te hacken—het had toch geen zin om het überhaupt te proberen. Maar waar heeft het die reputatie eigenlijk aan verdiend? Tien redenen waarom OpenBSD zo veilig is.

 

1 Robuuste basis

 

Het is makkelijker om iets veilig te houden als de basis dat al is. OpenBSD is in 1995 ontstaan als afsplitsing van NetBSD en bouwt daardoor op code die in sommige gevallen meer dan 30 jaar oud is. Hoe ouder de code, hoe meer ogen ernaar hebben gekeken en hebben gecontroleerd of alles wel in orde is. Alle BSDs hebben als kenmerk dat ze de kwaliteit van de code erg hoog in het vaandel hebben staan, en mede om die reden staan ze bekend om hun robuustheid. Met andere woorden, de basis is gewoon al heel goed, en dat maakt het een stuk makkelijker.

 

2 Secure by Default

 

Om er naar eigen zeggen voor te zorgen dat nieuwe gebruikers niet plotsklaps beveiligingsexperts hoeven te worden, bevindt een standaard OpenBSD installatie zich in “secure by default” modus. Dat houdt in dat alle niet-essentiële services uit staan en de gebruiker die zelf moet aanzetten. Het idee is dat je daardoor automatisch wordt gedwongen om over veiligheid na te denken. Sommige besturingssystemen hebben automatisch allerlei services in de achtergrond draaien, zonder dat je dat als gebruiker doorhebt. Bij OpenBSD ligt de focus duidelijk anders: elke service is een beveiligingsrisico.

 

3 Audits

 

Het proces waarbij ontwikkelaars periodieke “audits” op hun code uitvoeren is waarschijnlijk de grootste factor in de veiligheid van het besturingssysteem. Een team van ervaren ontwikkelaars neemt elk stukje nieuwe (en soms ook oude) code onder de loep. De code wordt onderzocht op kwetsbaarheden en op bugs in het algemeen—een kleine bug hoeft op zichzelf niet direct een beveiligingsrisico te zijn, maar kan dat in een later stadium wel worden. Elke gevonden bug wordt onmiddellijk opgelost. Zo ontdekte een ontwikkelaar een tijd geleden een bug in de eerder besproken robuuste basis, die maar liefst 33 jaar oud was! Deze proactieve werkwijze heeft ervoor gezorgd dat OpenBSD vaak al niet meer kwetsbaar is voor nieuwe exploits, omdat de kwetsbaarheid al in een eerder stadium is verholpen.

 

4 Flames

 

Naast de reputatie van veiligheid staat OpenBSD nog ergens anders om bekend: het gebrek aan vriendelijkheid. Wellicht dat die twee zaken met elkaar te maken hebben, want stommiteiten, slechte code of afwijkende meningen worden genadeloos publiekelijk afgestraft. Elitarisme viert hoogtij in de OpenBSD gemeenschap, met Theo de Raadt als veldmaarschalk in de meeste flame wars. Dat heeft een aantal voordelen vanuit de optiek van veiligheid: dankzij de groepsdruk en het uitbannen van afwijkende meningen vindt er een soort natuurlijke selectie plaats voor een bepaald type ontwikkelaar—de soort die zelden fouten maakt.

 

5 Openheid

Zoals de naam je misschien al deed vermoeden, vinden de OpenBSD mensen openheid van gigantisch groot belang. Er wordt een “full disclosure policy” gehanteerd over alle aspecten van het besturingssysteem en er wordt constant gehamerd op openheid. Binaire drivers worden niet geaccepteerd en OpenBSD is erg strikt wat betreft open source licenties. Ook voor documentatie wordt geen uitzondering gemaakt, en dus was de Raadt onverzettelijk toen Adaptec moeilijk deed over open documentatie van hun hardware: hij verwijderde de code met de boodschap “shut off aac(4) unless Adaptec stops behaving like assholes”.

 

6 Oh Canada

 

OpenBSD wordt gecoördineerd vanuit de Raadt’s huis in Calgary, Canada. In tegenstelling tot veel Amerikaanse organisaties stelt dit OpenBSD in staat om geavanceerde cryptografische technieken in het systeem te integreren. De Canadese wet plaatst geen restricties op de export van cryptografische software, terwijl de Verenigde Staten juist extreem onbuigzaam zijn over dat soort software en het officieel beschouwen als militaire technologie die moet worden beschermd. Cryptografie en beveiliging gaan vanzelfsprekend hand in hand, en dus komt de strategische locatie van de OpenBSD organisatie haar einddoelen goed van pas.

 

7 OpenSSH

 

Zelfs als je niets met het besturingssysteem hebt, dan kan het bijna niet anders dan dat je gebruik hebt gemaakt van OpenBSD software. Elke keer dat je SSH gebruikt, dan gebruik je namelijk in alle waarschijnlijkheid OpenSSH: de OpenBSD Secure SHell. Hetzelfde geldt voor OpenNTPD en OpenSMTPD, om nog maar een greep te nemen uit de indrukwekkende verzameling software die uit deze gemeenschap komt. De wijdverspreidheid van OpenBSD software is illustratief: het zet graag de standaard. Beschermingen in de kernel tegen het uitbuiten van buffer overflows, die je nu in elk besturingssysteem ziet, kwamen hier als eerste ter sprake. Op gebied van veiligheid kan je er dan ook van op aan dat het een goed idee is om de door OpenBSD bepaalde standaard te volgen.

 

8 Packet Filter

 

Waar OpenBSD pas echt een nieuwe standaard heeft gezet, is met de packet filter (pf) firewall software. Als gewone gebruiker merk je weinig verschil met bijvoorbeeld iptables of ipfilter, maar voor de echte firewall geeks gaat er niets boven pf. De meeste nieuwe functionaliteit verschijnt eerst in pf en wordt daarna overgenomen door de anderen. Het baseren van regels op het type besturingssysteem (OS fingerprinting), geïntegreerd load balancing en failover waren tijden lang alleen aan pf gebruikers voorbehouden. Het gerucht gaat dat elk werkstation in het Amerikaanse Department of Justice een eigen op pf gebaseerde embedded firewall heeft tussen de computer en de muur. Zoals vaker bij OpenBSD software hoef je inmiddels niet meer per se OpenBSD te gebruiken om van pf te kunnen profiteren—het is geport naar alle BSDs, inclusief Mac OS X.

 

9 Releases

 

De release cyclus van OpenBSD is, hoe kan het bijna ook anders, idiosyncratisch: op de dag af elke 6 maanden vindt er een nieuwe release plaats. Na 5.9 komt—over drie jaar—versie 6.0, zonder poespas over de ophoging van het “major release” getal. Aan de ene kant is dat een nadeel, al is het alleen maar omdat een halfjaarlijkse release minder nieuwswaardig is voor een eventuele BSD Hoek, maar aan de andere kant onderstreept het de prioriteiten van het besturingssysteem. Het is beter om er iets langer over te doen en een hoge kwaliteit te leveren, dan snel iets af te raffelen om het op tijd af te krijgen voor de eerstvolgende release.

 

 

10 Theo de Raadt

 

Maar de allergrootste reden achter het succes van OpenBSD, en daarmee dus ook de reden waarom OpenBSD zo veilig is, is Theo de Raadt zelf. In 1995 was hij het niet eens met de NetBSD ontwikkelaars en begon zijn eigen “fork”, bijna voordat dat woord überhaupt een mening had in de open source gemeenschap. Als eerste actie voor zijn nieuwe besturingssysteem besloot hij dat de code publiek toegankelijk moest zijn en was daarmee het eerste open source systeem dat haar code via CVS voor iedereen inzichtelijk maakte. De onverzettelijkheid, het charisma en de filosofie van de Raadt zie je in bijna elk van de eerdere punten duidelijk terug. Hij regeert met een ijzeren vuist, maar blijkbaar wel op een manier die succes heeft. Zonder de Raadt is er geen OpenBSD.

 

Veilig, veiliger?

 

Dat waren tien redenen waarom OpenBSD veilig is. Is het daarmee veiliger dan andere besturingssystemen? Misschien, maar waarschijnlijk niet. Qua supergeavanceerde beveiligingsfunctionaliteiten hebben Linux en FreeBSD inmiddels vermoedelijk een straatlengte voorsprong op OpenBSD, simpelweg omdat ze meer mankracht en industriële ondersteuning hebben. Maar OpenBSD heeft, onder andere om de tien redenen die we net hebben gezien, een reputatie opgebouwd die blijkbaar hackers zelfs zo erg afschrikt dat ze het niet eens willen proberen—laten we hopen dat die “heck of a long time” nog een stuk langer blijft voortduren.

 

Referenties

 

http://www.openbsd.org