Navigatie overslaan.
Start

Microsoft en zomertijd en Linux

Als jullie het IT nieuws een beetje volgen weten jullie dat in de US of A de zomertijd vanaf dit jaar een aantal weken vervroegd is.

Jullie zullen je nu terecht afvragen wat dit met IT nieuws te maken heeft en hier is de reden:
Microsoft Windows heeft een patch nodig om dit te laten werken. Maar Microsoft zou Microsoft niet zijn als ze hier geen geld voor zouden vragen: 4000 Dollar per product dat in "Extended support" is. (Eerst wilden ze 40.000.)

M.a.w.: Je betaald voor een product, je betaald voor extended support, maar als je iets nodig hebt, moet je daar ook nog eens voor betalen...

Daar boven op komt nog eens dat er nu al een patch voor de patch is, want de oorspronkelijke patch zorgde voor problemen. Typisch...

In Linux is alles gelukkig heel eenvoudig.
De regels voor de tijdszones zitten, voor iedere tijdzone apart, in een klein bestandje.
In de configuratie van de computer zeg je dan in welke tijdzone de computer of user zich bevindt, en alles is OK.
Als er iets aangepast moet worden, is het enkel 1 klein bestandje.

In de strategie van Microsoft, is de tijdszone een essentieel onderdeel van het besturingssysteem (zoals explorer, en nog een hoop brol) en zitten deze regels "hardcoded" op verschillende plaatsen.

De patch moet dus op erg veel plaatsen iets gaan aanpassen.

Het is zeer goed te merken dat Windows nooit bedoeld is geweest voor multi-user systemen aan de hand van de klok en tijdzones:

Iedere ITer weet dat een computer eigenlijk 2 klokken heeft: Een hardware klok en een system (ook wel software) klok.

Als de computer uitstaat, houdt de hardwareklok de tijd bij.
Bij het opstarten wordt de systemklok gesynchroniseerd met de hardwareklok en is neemt de systemklok het over. Deze kan continue aangepast worden d.m.v. NTP of iets dergelijks.
Bij het uitschakelen van de computer wordt de hardwareklok (indien gewenst) weer gesynchroniseerd met de systemklok.

Overal, behalve bij Microsoft, geeft de hardware klok (te zien in het BIOS) de juiste tijd aan. Er is maar 1 juiste tijd, en dat is GMT.

De software klok is de klok die het besturingssysteem aan de gebruiker laat zien en is aangepast aan de tijdszone van de gebruiker.

Dit heeft als gevolg:

In Linux, een multiuser systeem, krijgt iedere gebruiker de juiste tijd te zien van ZIJN tijdszone:
De server staat in Brussel, maar Japanse gebruikers krijgen toch de Japanse tijd te zien.

In windows, een fake multiuser systeem, krijgt iedere gebruiker de juiste tijd te zien van de tijdszone van de server, ongeacht waar de gebruikers zich bevinden.

Een tweede groot probleem is het volgende: Het is een industriestandaard om de tijd in logfiles altijd in GMT te zetten.

Als je hetzelfde event wil analyseren op devices die verspreid staan in verschillende tijdszones weet je waarom.

In Linux is dat geen probleem, want de hardware klok is GMT tijd en blijft altijd mooi chronologisch en liniair voortgaan.

In Windows, waar de hardwareklok en systemklok hetzelfde zijn, hebt je bij het verspringen naar winteruur een gat, en bij het verspringen naar zomeruur een dubbele tijd in de logfiles.
Dit wordt nog erger als je weet dat niet overal ter wereld de klok op hetzelfde moment wordt aangepast, dus logfiles onderzoeken tijdens zo'n moment leidt onvermijdelijk tot fouten.

Daarboven op komt nog eens dat veel security gerelateerde dingen niet goed werken met een verkeerde of afwijkende tijd.
Denk maar aan de geldigheid van SSL certificaten, security tokens, enz...

Totdat Microsoft weet hoe tijdszones en computers in elkaar zitten, blijven de klokken van de Microsoft servers hier mooi GMT aangeven. Geen problemen met logfiles, geen patches nodig, alles OK.

Zo kan ik waarschijnlijk ook nog eens 4000 dollar per product gaan besparen als hier ooit eens het zomeruur aangepast wordt (of afgeschaft).