Sécurité NTP avec authentification et références de temps sécurisées
posté par Richard N Williams on 16 janvier 2008
NTP (Network Time Protocol) des réseaux à une synchronise source de temps unique en utilisant des estampilles pour représenter l'heure de la journée, ce qui est essentiel pour les transactions sensibles de temps et de nombreuses applications du système, telles que le courrier électronique.
NTP est donc vulnérable aux menaces de sécurité, que ce soit d'un pirate malveillant qui veut modifier l'horodatage pour commettre une fraude ou une attaque DDoS (Distributed Denial of Service - normalement causé par un logiciel malveillant qui inonde un serveur avec du trafic).
Cependant, étant l'un des protocoles les plus anciens d'Internet et ayant été développé pendant des années 25, NTP est équipé de ses propres mesures de sécurité sous forme d'authentification.
L'authentification vérifie que chaque horodatage est venu de la référence temporelle prévue par l'analyse d'un ensemble de clés de chiffrement convenues qui sont envoyés en même temps que les informations de temps. NTP, en utilisant le cryptage Message Digest (MD5) à un-encodent la clé, analyse et confirme si elle est venue de la source de temps de confiance en vérifiant contre un jeu de clés de confiance.
clés d'authentification de confiance sont répertoriés dans le fichier de configuration du serveur NTP (ntp.conf) et sont normalement stockés dans le fichier ntp.keys. Le fichier clé est normalement très grand mais les clés de confiance dire le serveur NTP qui ensemble de sous-ensemble de clés est actuellement actif et qui ne sont pas. Les différents sous-ensembles peuvent être activés sans éditer le fichier ntp.keys en utilisant la commande config-clés de confiance.
L'authentification est donc très importante pour protéger un serveur NTP contre les attaques malveillantes; Cependant, il existe de nombreuses références temporelles où l'authentification ne peut pas être fiable.
Microsoft, qui a installé une version de NTP dans ses systèmes d'exploitation depuis Windows 2000, recommande fortement qu'une source matérielle soit utilisée comme référence de synchronisation car les sources Internet ne peuvent pas être authentifiées.
NTP est essentiel pour garder les réseaux synchronisés, mais tout aussi important est la sécurisation des systèmes. Alors que les administrateurs réseau dépensent des milliers de dollars dans les logiciels anti-viraux / logiciels malveillants, beaucoup ne parviennent pas à repérer la vulnérabilité dans leurs serveurs de temps.
De nombreux administrateurs réseau confient toujours des sources Internet à leur référence temporelle. Alors que beaucoup fournissent une bonne source pour l'heure UTC (temps universel coordonné - le standard international du temps), comme nist.gov, le manque d'authentification signifie que le réseau est ouvert à l'abus.
D'autres sources de temps UTC sont plus sûrs et peuvent être utilisés avec un équipement relativement faible coût. La méthode la plus simple est d'utiliser un spécialiste serveur de temps NTP GPS qui peut se connecter à une antenne GPS et recevoir un horodatage authentifié par satellite.
Les serveurs de temps GPS peuvent fournir une précision de l'heure UTC à quelques nanosecondes tant que l'antenne a une bonne vue du ciel. Ils sont relativement bon marché et le signal est authentifié fournissant une référence temporelle sécurisée.
Sinon il y a plusieurs émissions nationales qui transmettent une référence temporelle. Au Royaume-Uni cela est diffusé par le Laboratoire national de physique (NPL) dans Cumbria. Des systèmes similaires fonctionnent en Allemagne, en France et aux États-Unis. Alors que ce signal est authentifié, ces transmissions radio sont vulnérables aux interférences et ont une portée limitée.
L'authentification pour NTP a été mis au point pour empêcher toute manipulation malveillante avec la synchronisation du système comme pare-feu ont été développés pour protéger les réseaux contre les attaques, mais comme tout système de sécurité, il ne fonctionne que si elle est utilisée.