10 votes

Désactiver NTP sur OS X Lion ou plus ancien

Suite à une nouvelle vulnérabilité 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é (parce que le matériel ne supporte pas les nouvelles versions, parce qu'on a besoin de Rosetta, ) ne sont pas couvertes par la mise à jour de sécurité.

Mes questions sont les suivantes :

  • La désactivation de l'option "définir la date et l'heure automatiquement" dans les préférences logicielles est-elle suffisante pour garantir que ntpd ne fonctionne pas ?

  • Que se passerait-il si le binaire ntdp était simplement supprimé par sécurité sous 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/supprimer complètement, mais dans ce cas, il y a toujours le risque de se tromper et de laisser ntpd exposé.

8voto

Rich Points 2429

La désactivation de l'option "définir la date et l'heure automatiquement" dans les préférences logicielles est-elle suffisante pour garantir que ntpd ne fonctionne pas ?

Oui .

Voici le moyen de s'en assurer. Ouvrez un Terminal o xterm fenêtre.

Exécutez la commande suivante :

ps ax | grep ntp

et remarquez que vous avez un ntpd processus en cours.

Ouvrir System Preferences et éteindre Set date and time automatically:

Vérifiez auprès de la ps ci-dessus que vous n'avez pas de ntpd processus en cours.


N'enlevez pas le ntpd binaire, cela n'est pas nécessaire et vous priverait de la chance de profiter d'un correctif d'Apple :).


Dans le doute, je pourrais utiliser ces instructions pour limiter le champ d'application

Non .

Cette recette vous laissera avec une course ntpd et donc exposé à une attaque.

8voto

theglauber Points 143

Au lieu de désactiver ntpd, vous devriez 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. Il devrait fonctionner sur 10.6.x et 10.7.x sans problème.

J'ai mis à jour mon installation 10.10 immédiatement après que le CVE ait été rendu public et que le code source ait été publié, et je n'ai pas attendu qu'Apple publie la mise à jour.

Pour compiler ntpd, téléchargez le code source à partir de ntp.org et appliquez la commande patch pour OS X/FreeBSD. Après avoir appliqué ce patch, vous pourrez simplement exécuter "./configure && make". Vous pourrez ensuite copier les 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 des dossiers auxquels ils appartiennent qui seront construits à partir de la source ci-dessus. Après la compilation, tous ces fichiers se trouveront 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

et ensuite déplacer le nouveau. Assurez-vous de chown les fichiers après les avoir déplacés en place :

sudo chown root:wheel /usr/sbin/ntpd

Note : Je n'ai pas utilisé sudo make install parce que je ne faisais pas confiance au Makefile (je n'étais pas sûr qu'il placerait les fichiers dans les mêmes dossiers que ceux dans lesquels Apple les a placés à l'origine et je voulais être sûr qu'ils soient toujours au même endroit que les anciens). Déplacer manuellement 6 fichiers n'est pas un gros problème. Le reste des fichiers (pages de manuel, pages html, etc. sont les mêmes, il n'est donc pas nécessaire de les déplacer).

1voto

Mose Points 687
  1. Je n'ai pas creusé 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 que la dérive de l'horloge locale est établie, ces requêtes ne sont pas fréquentes.

  2. La plupart des pare-feu sont configurés pour ignorer les paquets de requête provenant de l'extérieur. Je pense que Ntp utilise UDP qui est nominalement sans état. En général, un pare-feu laisse un paquet UDP revenir pendant une petite fenêtre de temps après qu'un paquet UDP soit parti. Le paquet de retour doit provenir de la bonne IP et avoir le bon port. Un "black hat" devrait soit subvertir votre serveur DNS, soit subvertir votre serveur NTP.

Quelqu'un pourrait-il expliquer comment cette menace est effectivement mise en œuvre, en supposant que la personne ne spécifie pas pool.ntp.org comme serveur ntp ?


Des moyens de contourner ce problème :

  1. Construire à partir de la source -- ci-dessus.
  2. Utilisez les ports mac. Cela rend l'installation assez facile, bien que la construction initiale prenne beaucoup de temps et un bon morceau d'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 problèmes.

  1. Configurer une machine non vulnérable pour être un serveur ntp local. Dirigez les machines vulnérables vers le serveur ntp. Au niveau de votre pare-feu, bloquez les entrées et sorties de ntp pour toutes les machines sauf celle du serveur ntp. Lorsque je dirigeais un réseau scolaire local, j'avais une machine (freebsd) qui exécutait un ensemble de services réseau, dont ntp. Elle diffusait alors un seul paquet ntp toutes les 64 secondes.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X