Отключение NTP на OS X Lion или старше

9

После новой уязвимости в программном пакете Network Time Protocol компания Apple предоставила обновление программного обеспечения для Mountain Lion и более новых версий OS X.

Как обычно, более старые версии OS X, с которыми можно застрять (потому что оборудование не поддерживает более новые версии, потому что нужна Rosetta,…), не охватываются обновлением безопасности.

Мои вопросы:

  • Достаточно ли отключения «установить дату и время автоматически» в настройках программного обеспечения, чтобы убедиться, что ntpd не запущен?

  • что может сломаться, если бинарный файл ntdp был просто удален для безопасности на OS X Snow Leopard или Lion?

В сомнении я мог бы использовать эти инструкции, чтобы ограничить область действия ntpd, не отключая и не удаляя ее полностью, но в этом случае остается риск ошибиться и оставить ntpd открытым.

Паскаль Куок
источник
Пожалуйста, сообщите об этом отсутствии исправления безопасности версий, которые клиенты все еще используют в Apple. → apple.com/feedback/macosx.html . У них еще нет securityзаписи обратной связи :(.
Дэн
1
@danielAzuelos Я дошел до того, что написал пост в блоге: blog.frama-c.com/index.php?post/2013/01/01/…
Паскаль Куок
1
@PascalCuoq offtopic: Вы можете возродить этот iMac, превратив его в hackintosh с NUC) - google.com.ua/… Хотя я не знаю, стоит ли 17 «стоить неприятностей. И все же 20» определенно
искра

Ответы:

7

Достаточно ли отключения «установить дату и время автоматически» в настройках программного обеспечения, чтобы убедиться, что ntpd не запущен?

Да .

Вот способ застраховать себя от этого. Откройте окно Terminalили xtermокно.

Запустите следующую команду:

ps ax | grep ntp

и обратите внимание, что у вас ntpdзапущен процесс.

Откройте System Preferencesи выключитеSet date and time automatically:

С помощью psприведенной выше команды проверьте, что у вас нет ntpdзапущенного процесса.


Не удаляйте ntpdдвоичный файл, это не обязательно и лишит вас возможности воспользоваться исправлением от Apple :).


В сомнении я мог бы использовать эти инструкции, чтобы ограничить область

Нет .

Этот рецепт заставит вас бежать ntpdи, следовательно, подвергнуться атаке.

Дан
источник
1
По какой-то причине снятие флажка «установить дату и время автоматически» не убило процесс ntpd для меня. Я должен был бежать:sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
user12719
2
Команда, которую вы использовали, это именно то, что System Preferencesделает графический интерфейс . При его использовании вы должны проверить, tail -f /var/log/system.logчто может быть не так в вашем System Preferences. Чтобы исследовать эту проблему, я советую вам задать еще один вопрос.
дан
8

Вместо того, чтобы отключать ntpd, вы должны скачать исходный код для версии 4.2.8 ntp и скомпилировать его самостоятельно. Все, что вам нужно, это Xcode для Lion / SnowLeo. Он должен работать на 10.6.x и 10.7.x просто отлично.

Я обновил свою версию 10.10 сразу после публикации CVE и публикации исходного кода, и я не стал ждать, пока Apple выпустит обновление.

Чтобы скомпилировать ntpd, загрузите исходный код с ntp.org и примените патч для OS X / FreeBSD. После применения этого патча вы сможете просто запустить "./configure && make." Затем вы можете скопировать двоичные файлы в соответствующие каталоги (/ usr / sbin / и / usr / bin /).

Для 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

Вот список файлов и папок, к которым они принадлежат, которые будут построены из приведенного выше источника. После компиляции все эти файлы будут находиться в разных подпапках.

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

Переименуйте старые, используя что-то вроде:

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

и затем переместите новый внутрь. Убедитесь, что файлы разбиты на части после перемещения их на место:

sudo chown root:wheel /usr/sbin/ntpd

Примечание : я не использовал, sudo make installпотому что не доверял Makefile (я не был уверен, что он поместит файлы в те же папки, в которые Apple их изначально поместила, и хотел убедиться, что они все еще находятся в том же месте, что и старые из них). Перемещение 6 файлов вручную не является большой проблемой. Остальные файлы (man-страницы, html-страницы и т. Д. Одинаковы, поэтому вам не нужно их перемещать.)

Melb
источник
пожалуйста, добавьте, какие файлы нужно скопировать и куда
klanomath
@klanomath Я только что отредактировал свой комментарий с дополнительной информацией. Дайте мне знать, если у вас возникнут какие-либо проблемы.
МелБ
я добавил остальное и 10 очков ;-)
klanomath
как насчет ntpsnmpd?
klanomath
1
Для тех, кто не хочет делать ручные замены, должно быть достаточно выполнить ./configure --prefix='/usr'первый шаг, а затем выполнить его make ; sudo make install.
Trane Francks
1
  1. Я не копался в документации о нарушении в деталях. Обычно ntp делает периодические запросы к серверам, чтобы получить исправление. Как только дрейф местных часов установлен, эти запросы не часты.

  2. Большинство брандмауэров настроены на игнорирование пакетов запросов извне. Ntp, я думаю, использует UDP, который номинально не имеет состояния. Обычно брандмауэр пропускает UDP-пакет в течение небольшого промежутка времени после того, как UDP-пакет вышел. Обратный пакет должен быть с правильного IP и иметь правильный порт. Черная шляпа должна была бы либо подорвать ваш DNS-сервер, либо подорвать ваш NTP-сервер.

Так может ли кто-нибудь объяснить, как эта угроза фактически вводится в игру, если предположить, что этот человек не указывает pool.ntp.org в качестве своего ntp-сервера?


Пути вокруг этого:

  1. Сборка из источника - выше.
  2. Используйте порты Mac. Это делает установку довольно безболезненной, хотя первоначальная сборка займет значительное время и достаточно много места. Дополнительная информация https://www.macports.org/

Вы также можете использовать Fink или Homebrew таким образом, но MacPorts кажется менее зависимым от Apple OS, поэтому в долгосрочной перспективе для более старой системы, я подозреваю, будет меньше боли.

  1. Настройте незащищенный компьютер как локальный ntp-сервер. Укажите уязвимые машины на сервер ntp. В вашем брандмауэре блокируйте и исходящие, и входящие для ntp для всех, кроме машины ntpserver. Когда я запускал локальную школьную сеть, у меня была одна машина (freebsd), которая выполняла множество сетевых сервисов, включая ntp. Затем он будет транслировать один пакет ntp каждые 64 секунды.
Шервуд Ботсфорд
источник