OpenNTPD – Wikipédia, a enciclopédia livre

OpenNTPD
Desenvolvedor Projeto OpenBSD
Lançamento 2 de novembro de 2004 (19 anos)
Versão estável 6.2p3 (30 de outubro de 2017; há 6 anos)
Escrito em C
Sistema operacional BSD, Linux, Solaris e OS X[1]
Gênero(s) Sincronização de data e hora
Licença ISC
Estado do desenvolvimento Ativo
Página oficial www.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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

  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[editar | editar código-fonte]


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