Désactivation de NTP sur OS X Lion ou une version antérieure

9

Suite à une nouvelle faille de sécurité dans le progiciel Network Time Protocol , Apple a fourni une mise à jour logicielle pour Mountain Lion et les versions plus récentes d'OS X.

Comme d'habitude, les anciennes versions d'OS X avec lesquelles on peut être coincé (car le matériel ne prend pas en charge les versions plus récentes, car il faut Rosetta,…) ne sont pas couvertes par la mise à jour de sécurité.

Mes questions sont:

  • la désactivation de «régler automatiquement la date et l'heure» dans les Préférences Logicielles est-elle suffisante pour garantir que ntpd ne fonctionne pas?

  • Que pourrait-il se passer si le binaire ntdp était simplement supprimé pour des raisons de sécurité sur OS X Snow Leopard ou Lion?

Dans le doute, je pourrais utiliser ces instructions pour limiter la portée de ntpd sans le désactiver / le supprimer complètement, mais dans ce cas, il reste le risque de se tromper et de laisser ntpd exposé.

Pascal Cuoq
la source
Veuillez signaler ce manque de correctif de sécurité des versions que les clients utilisent encore à Apple. → apple.com/feedback/macosx.html . Ils n'ont pas encore de securitycommentaires :(.
dan
1
@danielAzuelos Je suis allé jusqu'à écrire un article de blog: blog.frama-c.com/index.php?post/2013/01/01/…
Pascal Cuoq
1
@PascalCuoq offtopic: Vous pouvez revivre cette iMac avec la convertir en Hackintosh Nuc) - google.com.ua/... Je pensais que je ne sais pas si 17" . Vaut le trouble Pourtant , 20" fait sans aucun doute
Iskra

Réponses:

7

la désactivation de «régler automatiquement la date et l'heure» dans les Préférences Logicielles est-elle suffisante pour garantir que ntpd ne fonctionne pas?

Oui .

Voici comment vous en assurer. Ouvrez une fenêtre Terminalou xterm.

Exécutez la commande suivante:

ps ax | grep ntp

et notez que vous avez un ntpdprocessus en cours d'exécution.

Ouvrez System Preferenceset éteignezSet date and time automatically:

Vérifiez avec la pscommande ci-dessus que vous n'avez aucun ntpdprocessus en cours d'exécution.


Ne supprimez pas le ntpdbinaire, ce n'est pas nécessaire et vous priverait de la possibilité de profiter d'un correctif d'Apple :).


Dans le doute, je pourrais utiliser ces instructions pour limiter la portée

Non .

Cette recette vous laissera avec une course ntpdet donc exposée à une attaque.

dan
la source
1
Pour une raison quelconque, décocher "définir la date et l'heure automatiquement" n'a pas tué le processus ntpd pour moi. J'ai dû courir:sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
user12719
2
La commande que vous avez utilisée est exactement ce que fait l'interface graphique System Preferences. Lorsque vous l'utilisez, vous devez vérifier avec tail -f /var/log/system.logce qui pourrait ne pas fonctionner dans votre System Preferences. Pour enquêter sur ce problème, je vous conseille de lancer une autre question.
dan
8

Au lieu de désactiver ntpd, vous devez télécharger la source de la version 4.2.8 de ntp et la compiler vous-même. Tout ce dont vous avez besoin est Xcode pour Lion / SnowLeo. Cela devrait fonctionner sur 10.6.x et 10.7.x très bien.

J'ai mis à jour mon installation 10.10 immédiatement après la publication du code CVE et la publication du code source et je n'ai pas attendu Apple pour publier la mise à jour.

Pour compiler ntpd, téléchargez la source depuis ntp.org et appliquez le correctif pour OS X / FreeBSD. Après avoir appliqué ce correctif, vous pourrez simplement exécuter "./configure && make". Ensuite, vous pouvez copier les fichiers binaires dans les répertoires appropriés (/ usr / sbin / et / usr / bin /).

Pour Mac OS X 10.7 (Lion):

mkdir ntpd-fix
cd ntpd-fix
curl http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8.tar.gz | tar zxf -
cd ntp-4.2.8/ntpd
curl http://bugs.ntp.org/attachment.cgi?id=1165 | patch -p1
cd ..
./configure && make

Voici la liste des fichiers et dossiers auxquels ils appartiennent qui seront construits à partir de la source ci-dessus. Après la compilation, tous ces fichiers seront dans divers sous-dossiers.

/usr/bin/sntp  
/usr/bin/ntp-keygen  
/usr/bin/ntpq  
/usr/sbin/ntpdc  
/usr/sbin/ntpdate  
/usr/sbin/ntpd

Renommez les anciens en utilisant quelque chose comme:

sudo mv /usr/sbin/ntpd /usr/sbin/ntpd.old

puis déplacez le nouveau po Assurez-vous de chown les fichiers après les avoir déplacés en place:

sudo chown root:wheel /usr/sbin/ntpd

Remarque : je ne l'ai pas utilisé sudo make installparce que je ne faisais pas confiance au Makefile (je n'étais pas sûr qu'il placerait les fichiers dans les mêmes dossiers qu'Apple les avait placés à l'origine et je voulais être sûr qu'ils sont toujours au même endroit que l'ancien). ceux). Le déplacement manuel de 6 fichiers n'est pas un gros problème. Le reste des fichiers (les pages de manuel, les pages html, etc. sont les mêmes afin que vous n'ayez pas à vous soucier de les déplacer.)

MelB
la source
veuillez ajouter quels fichiers doivent être copiés et où
klanomath
@klanomath Je viens de modifier mon commentaire avec plus d'informations. Faites-moi savoir si vous rencontrez des problèmes.
MelB
j'ai ajouté le reste et 10 points ;-)
klanomath
qu'en est-il de ntpsnmpd?
klanomath
1
Pour ceux qui ne veulent pas faire de remplacements manuels, il devrait suffire d'exécuter ./configure --prefix='/usr'l'étape initiale, puis de suivre make ; sudo make install.
Trane Francks
1
  1. Je n'ai pas fouillé dans la documentation de la brèche en détail. Normalement, ntp fait des requêtes périodiques aux serveurs pour obtenir une correction. Une fois la dérive de l'horloge locale établie, ces requêtes ne sont plus fréquentes.

  2. La plupart des pare-feu sont configurés pour ignorer les paquets de demande de l'extérieur. Je pense que Ntp utilise UDP qui est nominalement apatride. Généralement, un pare-feu laisse un paquet UDP revenir pendant une petite fenêtre de temps après la sortie d'un paquet UDP. Le paquet de retour doit provenir de la bonne IP et avoir le bon port. Un chapeau noir devrait soit subvertir votre serveur DNS, soit subvertir votre serveur NTP.

Est-ce que quelqu'un expliquerait comment cette menace est réellement mise en jeu, en supposant que la personne ne spécifie pas pool.ntp.org comme son serveur ntp?


Les moyens de contourner cela:

  1. Construisez à partir de la source - ci-dessus.
  2. Utilisez les ports mac. Cela rend l'installation assez indolore, bien que la construction initiale prenne beaucoup de temps et une bonne partie de l'espace. Plus d'informations https://www.macports.org/

Vous pouvez également utiliser Fink ou Homebrew de cette façon, mais MacPorts semble être moins dépendant d'Apple OS, donc à long terme pour un système plus ancien, je pense qu'il y aura moins de douleur.

  1. Configurez une machine non vulnérable pour être un serveur ntp local. Pointez les machines vulnérables vers le serveur ntp. Sur votre pare-feu, bloquez à la fois le trafic sortant et le trafic entrant pour ntp pour tous sauf la machine ntpserver. Lorsque je dirigeais un réseau scolaire local, j'avais une machine (freebsd) qui exécutait un tas de services réseau, y compris ntp. Il diffuserait alors un seul paquet ntp toutes les 64 secondes.
Sherwood Botsford
la source