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
For example: server time.example.com iburst nts server nts.netnod.se iburst nts server ptbtime1.ptb.de iburst ntsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템 부팅 중에 NTS-KE(Network Time Security-Key Establishment) 세션을 반복하지 않도록 다음 설정을 추가합니다.
ntsdumpdir /var/lib/chrony
ntsdumpdir /var/lib/chronyCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/network에 다음 행을 추가하여DHCP에서 제공하는 NTP(Network Time Protocol) 서버와의 동기화를 비활성화합니다.PEERNTP=no
PEERNTP=noCopy to Clipboard Copied! Toggle word wrap Toggle overflow chronyd서비스를 다시 시작하십시오.systemctl restart chronyd
systemctl restart chronydCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
NTS키가 성공적으로 설정되었는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow KeyID,Type및KLen의 값은 0이 아니어야 합니다. 값이 0이면chronyd에서 시스템 로그에 오류 메시지가 있는지 확인합니다.클라이언트가 NTP를 측정하고 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reach열에는 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>.crt
ntsserverkey /etc/pki/tls/private/<ntp-server.example.net>.key ntsservercert /etc/pki/tls/certs/<ntp-server.example.net>.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow chrony 사용자가 파일을 읽을 수 있도록 개인 키와 인증서 파일에 대한 권한을 설정합니다. 예를 들면
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
# 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>.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ntsdumpdir /var/lib/chrony설정이 있는지 확인합니다. firewalld에서 필요한 포트를 엽니다.
firewall-cmd --permannent --add-port={323/udp,4460/tcp} firewall-cmd --reload# firewall-cmd --permannent --add-port={323/udp,4460/tcp} # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow chronyd서비스를 다시 시작하십시오.systemctl restart chronyd
# systemctl restart chronydCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클라이언트 시스템에서 테스트를 수행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템 클록 잘못된메시지는 NTP 서버가 NTS-KE 연결을 수락하고 NTS 보호 NTP 메시지로 응답하고 있음을 나타냅니다.서버에서 관찰된 NTS-KE 연결 및 인증된 NTP 패킷을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NTS-KE 연결 값이 0이 아닌 NTP패킷필드인 경우 클라이언트가 NTS-KE 포트에 연결하고 인증된 NTP 요청을 보낼 수 있었습니다.