오픈NTPD

OpenNTPD
OpenNTPD(OpenBSD NTP 데몬이라고 함)
"Saving the world again... on time"
"다시 세상을 구한다는 것은...정시에."
개발자오픈BSD 프로젝트
안정적 해제
6.8p1 / 2020년 12월 7일; 15개월(2020-12-07)[1]
리포지토리https://github.com/openntpd-portable
기록 위치C
운영 체제OpenBSD, FreeBSD, NetBSD, Linux, macOS, Solaris[2]
표준RFC 1305, RFC 5905
유형시간 동기화
면허증ISC
웹사이트www.openntpd.org

OpenNTPD(OpenBSD NTP Daemon이라고도 함)는 컴퓨터 시스템의 로컬 시계를 원격 NTP 서버와 동기화하기 위해 Network Time Protocol을 구현하는 Unix 데몬이다.NTP 호환 클라이언트의 NTP 서버 역할도 할 수 있다.

OpenBSD NTP 데몬은 주로 Henning Brauer에 의해 OpenBSD 프로젝트의 일부로 개발되었다.설계 목표에는 대부분의 목적에 적합하도록 보안성(불가해성), 구성 용이성 및 정확성이 포함된다.오픈SSH와 같은 휴대용 버전은 오픈BSD 버전에 이식성 코드를 추가해 별도로 출시하는 아동 프로젝트로 개발됐다.[3]휴대용 버전은 브렌트 쿡이 개발했다.[4]프로젝트 개발자들은 OpenBSD 재단으로부터 약간의 자금을 받는다.

역사

OpenNTPD의 개발은 현재의 NTP 데몬과의 문제들, 즉 어려운 구성, 복잡하고 감사하기 어려운 코드, 그리고 부적절한 라이센싱의 조합에 의해 동기 부여되었다.[5]OpenNTPD는 이러한 문제를 해결하고 보다 광범위한 사용자 기반에서 시간 동기화에 액세스할 수 있도록 설계되었다.개발 기간 후 OpenNTPD는 OpenBSD 3.6에 처음 등장했다.[6]그것의 첫 번째 발매는 2004년 11월 2일에 발표되었다.[7]

목표들

OpenNTPD는 OpenB의 시도임SD 팀은 안전하고, 감사하기 간편하며, 설정 및 관리가 사소한 NTP 데몬 구현, 합리적으로 정확하고 시스템 리소스에 대한 조명 등을 생산한다.이와 같이 OpenNTPD의 설계 목표는 보안, 사용 편의성 및 성능이다.[8]OpenNTPD의 보안은 네트워크 입력 경로의 강력한 유효성 검사, strlcpy를 통한 경계 버퍼 작업 사용, 권한 분리를 통해 권한 상승으로 데몬을 악용하는 가능한 보안 버그 영향을 완화함으로써 달성된다.NTP 사용을 단순화하기 위해 OpenNTPD는 네트워크 시간 프로토콜 프로젝트에서 제공하는 것과 같은 다른 NTP 데몬에서 사용할 수 있는 기능보다 더 작은 기능 집합을 구현한다.목표는 난해한 또는 틈새 요건에 적합하지 않은 위험을 무릅쓰고 일반적인 사용을 만족시킬 수 있는 충분한 기능을 제공하는 것이다.OpenNTPD는 구성 파일인 ntpd.conf를 통해 구성된다.[9]최소한의 옵션이 제공된다: OpenNTPD가 수신해야 하는 IP 주소 또는 호스트 이름, 사용할 타임타 센서 장치, 그리고 시간을 동기화할 서버 세트.OpenNTPD의 정확도는 최상이다. 데몬은 가능한 한 정확성을 추구하지만 구체적인 정확성은 보장되지 않는다.

Linux 시스템에서 실행되는 OpenNTPD의 출력에서 볼 수 있듯이 OpenNTPD는 시스템 시계를 점진적으로 조정한다.

$ 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 ntpd[4784]: 로컬 클럭을 -0.679320s 8월 4일 03:50:45 ntpd[4784]: 로컬 클럭을 -0.605858s 8월 4일 03:53:31 ntpd[4784]: 로컬 클럭을 -0.529821s로 조정

비판

OpenNTPD는 NTP 프로젝트(ntp.org)에서 생산한 NTP 대몬보다 정확도가 떨어진다는 지적을 받아왔다.[10]내부적으로 OpenNTPD는 코드 단순성을 위해 정확도를 높이는 다양한 알고리즘을 생략하기 때문에 밀리초 정확도를 유지하지 못하고 "실시간"에서 50~200ms까지 변화시킬 수 있다.오픈NTPD 프로젝트는 이러한 비판을 인정하면서도 마이크로초 정밀성이 결여된 것은 단순성과 보안성에 도움이 되는 설계 절충이라고 밝혔다.[10]OpenNTPD 설계 목표는 "마지막 나노초 또는 모호한 에지 케이스를 얻기 위한 보안 설계"를 희생하지 않고 프로젝트의 의도를 "각각 합리적인 정확도"로 명시한다."[11]

2004년 9월 OpenNTPD 3.6의 풀려난 직후에,ntp.org원인 브래드 놀스 기사 OpenNTPd 고려 사항 Harmful[12]제목 붙은 NTP프로토콜의 OpenNTPD의 구현의 다양한 면을 비난하고, 뿐만 아니라 프로젝트를 고용하고 있는 또한 오픈 SSHa의 개발에 사용되는 분할 개발 모델 출판했다Ond펜BGPD.2004년 12월, OpenNTPD의 휴대용 지점의 주요 개발자인 대런 터커는 노울스에게 상세한 대응책을 써서, 일부 사안은 타당하다고 인정하고, 다른 사안은 부당하다고 거부하고, 다른 사안은 오도하는 것으로 간주했다.[13]Knowles가 제기한 보다 심각한 문제들 중 하나는 OpenNTPD 서버가 1계단 서버라고 주장하는 것이었다.그러나 이 문제는 터커의 반응에 의해 이미 해결된 상태였다.2005년 3월, Knowles는 터커의 반응을 인정했고, "남은 문제를 해결하기 위해 [터커]와 협력하기 위해 할 수 있는 모든 것을 할 것"[14]이라고 말했다.또한, OpenBSD 네트워킹 FAQ는 Knowles의 초기 비판에 대한 응답으로 확대되었다.[15]

도약 초

OpenNTPD(및 OpenBSD 커널)는 도약 초를 무시한다.[16]OpenNTPD를 다른 ntpd 서버의 고스트라텀 소스로 사용할 때 또는 조정된 범용 시간을 참조하는 고해상도 시간 요구 사항에 주의해야 한다.윤초는 국제 원자력 시간 또는 위성 위치 확인 시스템 시간 신호는 사용하지 않지만, 조정된 범용 시간에는 사용된다.

미국 해군 천문대국제포이드스 et 메족스는 도약초를 구현하지 않는 시스템은 국제 원자력 시간 또는 GPS 시간 신호를 직접 참조할 것을 권고한다.[17]

참조

  1. ^ "OpenNTPD". Retrieved 9 December 2020.
  2. ^ "OpenNTPD Portable Release". OpenBSD. Retrieved 3 April 2016.
  3. ^ "openssh/openssh-portable". GitHub. Retrieved 13 May 2016.
  4. ^ "openntpd-portable/openntpd-portable". GitHub. Retrieved 13 May 2016.
  5. ^ The OpenNTPD Project. "OpenNTPD Goals". The OpenNTPD Project. Retrieved 3 April 2016.
  6. ^ The OpenBSD Project (1 November 2004). "OpenBSD 3.6". The OpenBSD Project. Retrieved 3 April 2016.
  7. ^ Brauer, Henning (2 November 2004). "OpenNTPD 3.6 released". openbsd-announce (Mailing list). MARC. Retrieved 7 June 2014.
  8. ^ Brauer, Henning (September 2004). "Page 3: OpenNTPD – Design Goals". The OpenBSD Project. Retrieved 16 September 2006.
  9. ^ ntpd.conf(5)OpenBSD 파일 형식 설명서2006년 5월 26일.2006년 9월 16일 회수.
  10. ^ a b The OpenBSD Project (21 August 2006). "FAQ 6.12.1: 'But OpenNTPD isn't as accurate as the ntp.org daemon!'". The OpenBSD Project. Archived from the original on 5 February 2016. Retrieved 14 May 2020.
  11. ^ OpenNTPD authors (2004), "Goals", OpenNTPD, OpenNTPD project.
  12. ^ Knowles, Brad (22 September 2004). "OpenNTPd Considered Harmful". Considered Harmful. Archived from the original on 4 March 2005. Retrieved 16 September 2006.
  13. ^ Tucker, Darren (12 December 2004). "Response to OpenNTPd Considered Harmful". Advogato: Blog for dtucker. Retrieved 16 September 2006.
  14. ^ Knowles, Brad (12 March 2005). "Update: OpenNTPd..." Considered Harmful. Archived from the original on 25 May 2006. Retrieved 16 September 2006.
  15. ^ The OpenBSD Project (21 August 2006). "FAQ: 6.12.2: 'Someone has claimed that OpenNTPD is 'harmful'!'". The OpenBSD Project. Archived from the original on 24 September 2006. Retrieved 16 September 2006.
  16. ^ "Handling Leap Seconds the OpenBSD Way". OpenBSD Journal. 28 June 2015. Retrieved 9 October 2018.
  17. ^ "Leap Seconds". United States Naval Observatory. Archived from the original on 24 December 2017. Retrieved 27 February 2019.

외부 링크