Sichere Uhrzeit mit tlsdate statt ntp
Es ist inzwischen weit verbreitet und üblich, die Uhrzeit eines Computersystems mittels des Network Time Protocols (NTP) automatisch über das Netz zu setzen. Auf Linux-Systemen kommt dabei häufig ein Daemon namens ntpd zum Einsatz. NTP hat allerdings ein Problem: Es ist ein unverschlüsseltes Protokoll und bietet in seiner ursprünglichen Fassung keinerlei Sicherheit.
In bestimmten Szenarien kann das ein Angreifer ausnutzen. Wenn der Angreifer Kontrolle über den Netzwerkverkehr hat ist er in der Lage, die Uhrzeit des angegriffenen Systems zu kontrollieren. Zwar geht dies nicht nach belieben, ntpd etwa begrenzt die Größe der Zeitsprünge, die ein System machen darf, aber einen vollständigen Schutz bietet das nicht. Auf der Black Hat-Konferenz in Amsterdam gab es kürzlich einen Vortrag, der einen neuartigen Angriff auf HSTS mittels der Manipulation der Systemzeit vorstellte. Zwar sind wir von dem HSTS-Problem nicht direkt betroffen, da das in erster Linie Browser und somit Client-Rechner angreift. Trotzdem ist klar: Die Uhrzeit eines Systems ist ein möglicher Angriffspunkt.
Um dem vorzubeugen haben wir nun auf allen Systemen ntpd durch das von Jacob Appelbaum entwickelte Tool tlsdate und den dazugehörigen Daemon tlsdated ersetzt. Damit wird die Systemzeit nicht über das ntp-Protokoll sondern über den Zeitstempel einer verschlüsselten TLS-Verbindung gesetzt. Es ist nur eine Kleinigkeit, aber wir denken dass dies einen sinnvoller Schritt zur Verbesserung der Sicherheit unserer Systeme darstellt.