Desativando o NTP no OS X Lion ou mais antigo

9

Após uma nova vulnerabilidade de segurança no pacote de software Network Time Protocol , a Apple forneceu uma atualização de software para o Mountain Lion e versões mais recentes do OS X.

Como de costume, as versões mais antigas do OS X com as quais se pode manter (porque o hardware não suporta versões mais recentes, porque é necessário o Rosetta, ...) não são cobertas pela atualização de segurança.

Minhas perguntas são:

  • desabilitar “definir data e hora automaticamente” nas Preferências de Software é suficiente para garantir que o ntpd não esteja sendo executado?

  • o que pode acontecer se o binário ntdp for simplesmente excluído por segurança no OS X Snow Leopard ou Lion?

Na dúvida, eu poderia usar essas instruções para limitar o escopo do ntpd sem desativá-lo / excluí-lo completamente, mas, neste caso, ainda existe o risco de errar e deixar o ntpd exposto.

Pascal Cuoq
fonte
Relate essa falta de correção de segurança das versões que os clientes ainda estão usando para a Apple. → apple.com/feedback/macosx.html . Eles ainda não têm uma securityentrada para comentários :(.
dan
11
@danielAzuelos Fui até escrever uma postagem no blog: blog.frama-c.com/index.php?post/2013/01/01/…
Pascal Cuoq
11
@PascalCuoq offtopic: Você pode reviver o iMac convertendo-o em hackintosh com o NUC) - google.com.ua/… Pensei que não sabia se 17 "vale a pena. No entanto, 20" definitivamente vale
iskra

Respostas:

7

desabilitar “definir data e hora automaticamente” nas Preferências de Software é suficiente para garantir que o ntpd não esteja sendo executado?

Sim .

Aqui está o caminho para garantir isso. Abra um Terminalou xtermjanela.

Execute o seguinte comando:

ps ax | grep ntp

e observe que você tem um ntpdprocesso em execução.

Abra System Preferencese desligueSet date and time automatically:

Verifique com o pscomando acima se você não possui nenhum ntpdprocesso em execução.


Não remova o ntpdbinário, isso não é necessário e privaria você da chance de tirar proveito de uma correção da Apple :).


Na dúvida, posso usar essas instruções para limitar o escopo

Não .

Essa receita deixará você correndo ntpde, portanto, exposto a um ataque.

dan
fonte
11
Por algum motivo, desmarcar "definir data e hora automaticamente" não interrompeu o processo ntpd para mim. Eu tive que executar:sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
user12719
2
O comando que você usou é exatamente o que a GUI System Preferencesestá fazendo. Ao usá-lo, verifique com o tail -f /var/log/system.logque pode estar errado dentro do seu System Preferences. Para investigar esse problema, aconselho você a iniciar outra pergunta.
dan
8

Em vez de desabilitar o ntpd, você deve baixar o código-fonte da versão 4.2.8 do ntp e compilá-lo você mesmo. Tudo que você precisa é o Xcode for Lion / SnowLeo. Ele deve funcionar bem em 10.6.xe 10.7.x.

Atualizei minha instalação 10.10 imediatamente após o CVE ser tornado público e o código-fonte lançado, e não esperei a Apple para lançar a atualização.

Para compilar o ntpd, faça o download da fonte em ntp.org e aplique o patch no OS X / FreeBSD. Depois de aplicar este patch, você poderá executar "./configure && make". Em seguida, você pode copiar os binários para os diretórios apropriados (/ usr / sbin / e / usr / bin /).

Para 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

Aqui está a lista de arquivos e pastas aos quais eles pertencem e que serão criados a partir da fonte acima. Após a compilação, todos esses arquivos estarão em várias subpastas.

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

Renomeie os antigos usando algo como:

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

e mova o novo para dentro. Certifique-se de exibir os arquivos depois de movê-los no lugar:

sudo chown root:wheel /usr/sbin/ntpd

Nota : Eu não usei sudo make installporque não confiava no Makefile (não tinha certeza de que os arquivos seriam colocados nas mesmas pastas em que a Apple os colocou originalmente e queria ter certeza de que ainda estão no mesmo local que o antigo uns). Mover manualmente 6 arquivos não é um grande problema. O restante dos arquivos (páginas de manual, páginas html etc.) são os mesmos, para que você não precise se preocupar em movê-los.

MelB
fonte
adicione quais arquivos devem ser copiados e para onde
klanomath
@klanomath Acabei de editar meu comentário com mais informações. Deixe-me saber se você tiver algum problema.
MelB
eu adicionei o resto e 10 pontos ;-)
klanomath
e o ntpsnmpd?
klanomath
11
Para aqueles que não desejam fazer substituições manuais, basta executar ./configure --prefix='/usr'como a etapa inicial e, em seguida, prosseguir make ; sudo make install.
Trane Francks
1
  1. Eu não procurei a documentação da violação em detalhes. Normalmente, o ntp faz consultas periódicas aos servidores para obter uma correção. Uma vez estabelecida a deriva do relógio local, essas consultas não são frequentes.

  2. A maioria dos firewalls está configurada para ignorar pacotes de solicitação externos. NTP acho que usa UDP que é nominalmente sem estado. Normalmente, um firewall permite que um pacote UDP retorne por uma pequena janela de tempo após a saída de um pacote UDP. O pacote de retorno deve ser do IP correto e ter a porta correta. Um chapéu preto teria que subverter o servidor DNS ou subverter o servidor NTP.

Então, alguém explicaria como essa ameaça é realmente colocada em ação, assumindo que a pessoa não especifique pool.ntp.org como seu servidor ntp?


Maneiras de contornar isso:

  1. Construa a partir da fonte - acima.
  2. Use portas mac. Isso torna a instalação bastante simples, embora a compilação inicial leve um tempo substancial e um bom espaço. Mais informações https://www.macports.org/

Você também pode usar o Fink ou o Homebrew dessa maneira, mas o MacPorts parece menos dependente do Apple OS; portanto, a longo prazo, para um sistema mais antigo, suspeito que haverá menos problemas.

  1. Configure uma máquina não vulnerável para ser um servidor ntp local. Aponte máquinas vulneráveis ​​para o servidor ntp. No seu firewall, bloqueie a saída e a entrada de ntp para todos, exceto a máquina ntpserver. Quando eu dirigi uma rede escolar local, eu tinha uma máquina (freebsd) que executava vários serviços de rede, incluindo o ntp. Em seguida, transmitia um único pacote ntp a cada 64 segundos.
Sherwood Botsford
fonte