12.7. Chrony의 NTP(Network Time Security) 개요
NTP(Network Time Security)는 주요 클라이언트를 확장하도록 설계된 NTP(Network Time Protocol) 인증 메커니즘입니다. 클라이언트 시스템으로 이동하는 동안 서버 시스템에서 수신한 패킷이 변경되지 않은지 확인합니다. NTP(Network Time Security)에는 서버와 클라이언트 간에 사용되는 암호화 키를 자동으로 생성하는 NTPS-KE(Key Establishment) 프로토콜이 포함되어 있습니다.
NTS는 FIPS 및 OSPP 프로필과 호환되지 않습니다. FIPS 및 OSPP 프로필을 활성화하면 NTS로 구성된 chronyd 가 치명적 메시지와 함께 중단될 수 있습니다. GNUTLS_FORCE_FIPS_MODE=0 설정을 /etc/sysconfig/chronyd 파일에 추가하여 chronyd 서비스의 OSPP 프로필 및 FIPS 모드를 비활성화할 수 있습니다.
12.7.1. 클라이언트에서 NTS(Network Time Security) 활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 NTP(Network Time Security)는 활성화되어 있지 않습니다. /etc/chrony.conf 에서 NTS를 활성화할 수 있습니다. 이를 위해 다음 단계를 수행하십시오.
사전 요구 사항
- 시간 서버는 NTS를 지원합니다.
절차
/etc/crony.conf 파일을 편집하고 다음과 같이 변경합니다.
권장되는
iburst옵션 외에 thents옵션을 사용하여 server를 지정합니다.For example: server time.example.com iburst nts server nts.netnod.se iburst nts server ptbtime1.ptb.de iburst nts시스템 부팅 중에 NTS-KE(Network Time Security-Key Establishment) 세션을 반복하지 않도록 다음 설정을 추가합니다.
ntsdumpdir /var/lib/chrony/etc/sysconfig/network에 다음 행을 추가하여DHCP에서 제공하는 NTP(Network Time Protocol) 서버와의 동기화를 비활성화합니다.PEERNTP=nochronyd서비스를 다시 시작하십시오.systemctl restart chronyd
검증
NTS키가 성공적으로 설정되었는지 확인합니다.# chronyc -N authdata Name/IP address Mode KeyID Type KLen Last Atmp NAK Cook CLen ================================================================ time.example.com NTS 1 15 256 33m 0 0 8 100 nts.netnod.se NTS 1 15 256 33m 0 0 8 100 ptbtime1.ptb.de NTS 1 15 256 33m 0 0 8 100KeyID,Type및KLen의 값은 0이 아니어야 합니다. 값이 0이면chronyd에서 시스템 로그에 오류 메시지가 있는지 확인합니다.클라이언트가 NTP를 측정하고 있는지 확인합니다.
# chronyc -N sources MS Name/IP address Stratum Poll Reach LastRx Last sample ========================================================= time.example.com 3 6 377 45 +355us[ +375us] +/- 11ms nts.netnod.se 1 6 377 44 +237us[ +237us] +/- 23ms ptbtime1.ptb.de 1 6 377 44 -170us[ -170us] +/- 22msReach열에는 0이 아닌 값이 있어야 합니다. 이상적인 377. 값이 377를 거의 얻지 못하거나 377를 얻지 못하면 네트워크에서 NTP 요청 또는 응답이 손실되고 있음을 나타냅니다.
12.7.2. 시간 서버에서 NTS(Network Time Security) 활성화 링크 복사링크가 클립보드에 복사되었습니다!
자체 NTP(Network Time Protocol) 서버를 실행하는 경우 서버 NTP(Network Time Security) 지원을 활성화하여 클라이언트가 안전하게 동기화하도록 할 수 있습니다.
NTP 서버가 다른 서버, 즉 Stratum 1 서버인 경우 동기화에 NTS 또는 대칭 키를 사용해야 합니다.
사전 요구 사항
-
PEM형식의 서버 개인 키 -
필요한 중간 인증서가 있는 서버 인증서
PEM형식
절차
/etc/chrony.conf파일을 편집하고 다음과 같이 변경합니다.ntsserverkey /etc/pki/tls/private/<ntp-server.example.net>.key ntsservercert /etc/pki/tls/certs/<ntp-server.example.net>.crtchrony 사용자가 파일을 읽을 수 있도록 개인 키와 인증서 파일에 대한 권한을 설정합니다. 예를 들면
# chown root:chrony /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt # chmod 644 /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt-
ntsdumpdir /var/lib/chrony설정이 있는지 확인합니다. firewalld에서 필요한 포트를 엽니다.
# firewall-cmd --permannent --add-port={323/udp,4460/tcp} # firewall-cmd --reloadchronyd서비스를 다시 시작하십시오.# systemctl restart chronyd
검증
클라이언트 시스템에서 테스트를 수행합니다.
$ chronyd -Q -t 3 'server ntp-server.example.net iburst nts maxsamples 1' 2021-09-15T13:45:26Z chronyd version 4.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG) 2021-09-15T13:45:26Z Disabled control of system clock 2021-09-15T13:45:28Z System clock wrong by 0.002205 seconds (ignored) 2021-09-15T13:45:28Z chronyd exiting시스템 클록 잘못된메시지는 NTP 서버가 NTS-KE 연결을 수락하고 NTS 보호 NTP 메시지로 응답하고 있음을 나타냅니다.서버에서 관찰된 NTS-KE 연결 및 인증된 NTP 패킷을 확인합니다.
# chronyc serverstats NTP packets received : 7 NTP packets dropped : 0 Command packets received : 22 Command packets dropped : 0 Client log records dropped : 0 NTS-KE connections accepted: 1 NTS-KE connections dropped : 0 Authenticated NTP packets: 7NTS-KE 연결 값이 0이 아닌 NTP패킷필드인 경우 클라이언트가 NTS-KE 포트에 연결하고 인증된 NTP 요청을 보낼 수 있었습니다.