ntpd az alaprendszerben

Címkék

Tavaly májusban volt egy thread az misc@ listán, amelyben arról volt szó, hogy az NTP-t hozzá kellene adni az alaprendszerhez. Az ok: a szerverek számára kritikus, hogy mindig a pontos idő szerint járjanak.

Akkor de Raadt elvetette az ötletet azzal az indokkal, hogy az NTP kódja nem elég szabad, és ez az OpenBSD-nél kizáró ok.Viszont az élet nem élet NTP nélkül, az rdate pedig nem éppen ezt hivatott kiváltani, ezért elkészült az OpenBSD csapat saját NTP daemon-ja.

Az ntpd mostantól az alaprendszerrel települ. Az anyagot from scratch írta alexander@ és henning@. Természetesen fő a biztonság (mivel OpenBSD), ezért chroot()-olva és privilégium elkülönítve fut. Használata egyszerű:

ntpd_flags=""

sort kell felvenni a /etc/rc.conf.local-ba. Az alapértelmezett konfig file is miden további piszkálás nélkül működik. Random felvesz 8 publikus stratum 2-es időszervert az idő szinkronizációhoz.

A bejelentés itt.

Hozzászólások

Ez a "biztonsagos == chrootolt" mania mar kicsit nevetseges.

Biztosan nagyon szep az uj implementacio, kiveve hogy a halozaton

kommunikalo processzeden kivul lesz meg egy full root jogu

is amelyik konkretan elvegzi az adjtime() hivasokat.

Ossze lehet vetni a linuxos megoldassal, ahol van 1 darab

SYS_TIME capability-ju processed, aztan dontse el mindenki

melyik nez ki megbizhatobbnak es biztonsagosabbnak.

Itt nem csak egyszerűen arról van szó, hogy chrootolt, hanem arról, hogy privilege separated, azaz az a process amely magasabb privilégiummal fut semmi mást nem végez, mint az idő beállítását (ez meg elég egyszerű, tehát valószínűleg kevés benne a kihasználható hiba). A NetBSD-ben egyébként úgy van ez megoldva (1.6 óta), hogy ne kelljen root az ntpdnek, hogy van egy külön clockctl device amelyel az időt lehet állítani, így az egész process futhat chrootban és alacsony jogosultsággal. Utóbbiról itt [www.onlamp.com] van leírás, az OpenBSD-s ntpdnek pedig nyugodtan nézd meg a forrását, szerintem tiszta és szép munka.