OpenNTPD

OpenNTPD
DesenvolvedorProjeto OpenBSD
Lançamento inicial2 de novembro de 2004 (21 anos)
Lançamento estável
6.2p3 / 30 de outubro de 2017; há 8 anos
Repositório
Escrito emC
Sistema
operacional
BSD, Linux, Solaris e OS X[1]
TipoSincronização de data e hora
LicençaISC
Websitewww.openntpd.org

O OpenNTPD é um daemon Unix que implementa o protocolo de sincronização de relógios de servidores NTP. Funciona tanto como cliente quanto como servidor, nas plataformas em que é suportado e integrado com clientes NTP compatíveis.

É desenvolvido primariamente pelo programador Henning Brauer como parte do projeto OpenBSD. Seus objetivos são ser seguro(não-exploitável) de fácil configuração, e preciso o suficiente para a maioria dos usos. Sua versão portátil (portable) como o OpenSSH,[2] e é desenvolvido como um projeto a parte(mas subordinado) do OpenBSD, podendo manter a portabilidade de código e versões distintas do mesmo. A versão portátil é desenvolvida por Brent Cook.[3] Os desenvolvedores do projeto recebem ajudas de custo da OpenBSD Foundation.

História

O desenvolvimento do OpenNTPD foi motivado por uma combinação de problemas existentes das implementações atuais de daemons NTP: configuração difícil, alta complexidade para auditar códigos fonte, e licenciamento inadequado.[4] O OpenNTPD foi projetado para resolver estes problemas e tornar a sincronização mais acessível para uma maior base de usuários. Após o período de desenvolvimento, o OpenNTPD apareceu na versão 3.6 do OpenBSD.[5] A primeira versão foi anunciada em 02 de Novembro de 2004.[6]

Objetivos

O OpenNTP é uma tentativa do projeto OpenBSD de produzir um serviço de NTP que é seguro, simples de auditar, trivial de configurar e administrar, razoavelmente preciso e leve na utilização de recursos do sistema. Assim, estes são os objetivos do OpenNTP: seguro, fácil de usar e performático.[7] A segurança no OpenNTPD é alcançada através de robustas validações nas entradas de rede, a utilização de operações buffer bounded através do strlcpy, a separação de privilégios para mitigar possíveis efeitos oriundos da exploração de bugs de segurança no daemon relacionados ao escalonamento de privilégios. Para simplificar o uso do NTP, o OpenNTPD implementa um grupo reduzido de funcionalidades se comparado com outros daemons NTP existentes, se comparado com o Projeto Network Time Protocol por exemplo. O objetivo é prover funcionalidades suficientes para satisfazer o uso regular da ferramenta, sem a necessidade de implementar funções "exóticas", utilizadas apenas por um nicho específico de usuários do protocolo NTP. O OpenNTPD é configurado através do arquivo de configuração ntp.conf. Um número mínimo de opções está disponível: Endereço IP ou nome ao qual o OpenNTP deve escutar, sensor timedelta a ser utilizado, e grupo de servidores a ser utilizado como fonte de sincronização. A precisão do OpenNTP é baseada no melhor esforço; o daemon tenta ser o mais preciso possível mas um grau específico de precisão não é garantido pelo serviço.

Exemplo

O OpenNTPD ajusta gradualmente o relógio do sistema, como pode ser visto nesta saída de tela do OpenNTPD rodando em um sistema Linux:

$ grep ntpd /var/log/daemon.log | grep adjusting
Aug  4 03:32:20 nikolai ntpd[4784]: adjusting local clock by -1.162333s
Aug  4 03:36:08 nikolai ntpd[4784]: adjusting local clock by -1.023899s
Aug  4 03:40:02 nikolai ntpd[4784]: adjusting local clock by -0.902637s
Aug  4 03:43:43 nikolai ntpd[4784]: adjusting local clock by -0.789431s
Aug  4 03:47:35 nikolai ntpd[4784]: adjusting local clock by -0.679320s
Aug  4 03:50:45 nikolai ntpd[4784]: adjusting local clock by -0.605858s
Aug  4 03:53:31 nikolai ntpd[4784]: adjusting local clock by -0.529821s

Criticismo

O OpenNTPD foi criticado por ser menos preciso que o daemon NTP produzido pelo Internet Software Consortium (ISC).[8] Internamente, o OpenNTPD não mantem a mesma precisão que varia entre 50-200ms do tempo "real", por omitir alguns algoritmos que aumentam a precisão para manter a simplicidade em seu código-gonte. O projeto OpenNTPD acatou a crítica, mas avisou que a falta de uma precisão em milissegundos fazia parte do escopo do projeto, visto que era uma troca entre sacrificar a precisão em busca da simplicidade e segurança da ferramenta.[8]

Um dos objetivos projetados para o OpenNTPD é "atender a uma precisão razoável" sem sacrificar "a segurança do projeto e deixar a precisão de nanosegundo se tornar um caso obscuro a se tratar".[9]

Referências

  1. «OpenNTPD Portátil lançado(em inglês)». OpenBSD. Consultado em 3 de abril de 2016 
  2. «openssh/openssh-portable». GitHub. Consultado em 13 de maio de 2016 
  3. «openntpd/openntpd-portable». GitHub. Consultado em 13 de maio de 2016 
  4. «Objetivos do OpenNTPD(em inglês)». Projeto OpenNTPD. Consultado em 3 de maio de 2016 
  5. «OpenBSD 3.6(em inglês)». Projeto OpenBSD. 1 de janeiro de 2004. Consultado em 3 de maio de 2016 
  6. «Lançado OpenNTPD 3.6(em inglês)». Henning Brauer. 2 de janeiro de 2004. Consultado em 3 de maio de 2016 
  7. «OpenNTPD - Objetivos do Projeto(em inglês)». Henning Brauer. 16 de setembro de 2006. Consultado em 1 de setembro de 2004 
  8. a b «FAQ 6.12.1: 'Mas o OpenNTP não é tão preciso quando o daemon do ntp.org(em inglês)'». The OpenBSD Project. 21 de agosto de 2006. Consultado em 16 de outubro de 2006 
  9. «OpenNTPD: Goals». OpenNTPD. Consultado em 20 de janeiro de 2023 

Ligações Externas


Este artigo é um esboço. Você pode ajudar a Wikipédia expandindo-o. Editor: considere marcar com um esboço mais específico.


Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.