Efter mer än ett års utveckling har utgåvan av tidsserversynkroniseringen NTPsec 1.2.4 publicerats. Projektet skapades som en fork av den referensimplementering av protokollet NTPv4 (NTP Classic 4.3.34) som fokuserar på att omarbeta kodbasen för att öka säkerheten. Källkoden för NTPsec distribueras under licenserna BSD, MIT och NTP.
NTPsec utvecklas under ledning av Eric Raymond med bidrag från några utvecklare av original NTP Classic, ingenjörer från Hewlett Packard och Akamai Technologies, samt projekten GPSD och RTEMS. Bland skillnaderna från NTP Classic ingår tillägg av stöd för NTS-protokollet (Network Time Security), en minskning av kodbasens storlek med mer än hälften (föråldrade funktioner och irrelevanta plattformar har tagits bort), implementering av en autonom driftsmode, användning av metoder för att förhindra attacker (t.ex. filtrering av systemanrop), och övergång till säkra funktioner för minneshantering och strängar.
I den nya versionen:
- En inställning "extra port xxxx" har lagts till för att ta emot begärningar på en extra nätverksport utöver den huvudsakliga port som konfigureras via "nts port xxxx". Den extra porten kan vara användbar för att kringgå blockeringar av åtkomst till externa NTP-servrar som ställts in på brandväggar.
- Stöd för byggnation på Linux-system med armhf-arkitektur har lagts till.
- Stöd för att köra ntpd på system i FIPS-läge har säkerställts.
- Byggsystemet Waf har uppdaterats till version 2.1.4. I Debian installeras verktyg skrivna i Python, såsom ntpq och ntpmon, nu i katalogen "/usr/local/lib/python3.xx/site-packages" istället för "/usr/local/lib/python3.xx/dist-packages". I kommandot "waf install" ingår nu testning av installerade exekverbara filer, och via kommandot "waf configure --enable-Werror" kan man nu aktivera behandling av kompilatorvarningar som fel.
- Som minimi-version av Python anges version 2.7. Stödet för Python 2 planeras att upphöra i nästa version.
- Som standard tillämpas alternativet "--disable-fuzz", som stänger av mekanismen för "Clock fuzzing" (insättning av millisekundräkna slumpmässiga förskjutningar i den tid som skickas till kunderna, vilket inte påverkar den övergripande noggrannheten men hindrar angripare från att förutsäga det faktiska värdet av tiden).
- Kvarvarande kod relaterad till driftlägena broadcast och multicast har tagits bort.
- I ntpdig har ett alternativ lagts till för att binda till specifik IP-adress.
- I konfigurationen NTS-KE har ett alternativ lagts till för att ställa in listan över föredragna krypteringsalgoritmer för TLS.
- Istället för ntp_adjtime används metoden ntp_gettime.
Källa: opennet.ru
