Na meer dan een jaar ontwikkeling is de release van de tijdsynchronisatieserver NTPsec 1.2.4 gepubliceerd. Het project is opgericht als een fork van de referentie-implementatie van het NTPv4-protocol (NTP Classic 4.3.34), gericht op het herontwerpen van de codebase om de beveiliging te verbeteren. De broncode van NTPsec wordt verspreid onder de BSD-, MIT- en NTP-licenties.
NTPsec wordt ontwikkeld onder leiding van Eric Raymond, met medewerking van enkele ontwikkelaars van het originele NTP Classic, ingenieurs van Hewlett Packard en Akamai Technologies, evenals projecten als GPSD en RTEMS. Belangrijke verschillen ten opzichte van NTP Classic zijn de toevoeging van ondersteuning voor het NTS-protocol (Network Time Security), de vermindering van de codebase met meer dan de helft (verouderde functies en platforms zijn verwijderd), de implementatie van een offline-modus, het gebruik van methoden ter voorkoming van aanvallen (zoals het filteren van systeemaanroepen) en de overstap op veilige functies voor geheugen- en stringoperaties.
In de nieuwe versie:
- Er is een instelling "extra port xxxx" toegevoegd voor het ontvangen van verzoeken op een extra netwerkpoort, naast de hoofdpoort die is ingesteld via "nts port xxxx". Een extra poort kan nuttig zijn om blokkades voor toegang tot externe NTP-servers, ingesteld op firewalls, te omzeilen.
- Ondersteuning voor de bouw op Linux-systemen met de armhf-architectuur is toegevoegd.
- Ondersteuning voor de werking van ntpd op systemen in FIPS-modus is gegarandeerd.
- Het build-systeem Waf is bijgewerkt naar versie 2.1.4. In Debian worden hulpprogramma's geschreven in Python, zoals ntpq en ntpmon, nu geĆÆnstalleerd in de map "/usr/local/lib/python3.xx/site-packages" in plaats van "/usr/local/lib/python3.xx/dist-packages". In het commando "waf install" is het testen van de te installeren uitvoerbare bestanden inbegrepen en met het commando "waf configure --enable-Werror" kan nu ondersteuning voor compilerwaarschuwingen als fouten worden ingeschakeld.
- De minimale versie van Python die wordt ondersteund is versie 2.7. De ondersteuning voor Python 2 zal in de volgende versie worden stopgezet.
- Standaard is de optie "--disable-fuzz" toegepast, die het mechanisme voor "Clock fuzzing" uitschakelt (het aanbrengen van milliseconde willekeurige afwijkingen in de tijd die aan klanten wordt gegeven, die de algehele nauwkeurigheid niet beĆÆnvloeden, maar het voor aanvallers moeilijk maken om de werkelijke tijd te voorspellen).
- Resten van de code die verband hield met het werken in broadcast- en multicast-modus zijn verwijderd.
- In ntpdig is een optie toegevoegd om te binden aan een opgegeven het IP-adres.
- In de configuratie NTS-KE is een optie toegevoegd voor het instellen van de lijst met voorkeuren voor versleutelingsalgoritmen voor TLS.
- In plaats van ntp_adjtime is de aanroep ntp_gettime gebruikt.
Bron: opennet.ru
