NTP

NTP 포트 안내: UDP 123에서 시간 동기화

NTP가 시스템을 동기화 상태로 유지하는 방법, UDP 123에 도달할 수 있는 시기, 클럭 드리프트를 테스트하는 방법 및 NTP 증폭 남용을 방지하는 방법을 이해합니다.

기본 포트
123
프로토콜
UDP
주요 용도
네트워크 시간 동기화

NTP 포트란 무엇입니까?

NTP(Network Time Protocol)는 서버, 워크스테이션, 네트워크 장치, 데이터베이스, 로그 및 분산 시스템 전반에 걸쳐 시계를 동기화합니다. 표준 NTP는 클라이언트가 시간 서버에 정확한 시간을 요청하고 로컬 시계를 점진적으로 조정하는 UDP 포트 123을 사용합니다.

  • 포트 123은 기본 NTP 포트입니다.

    대부분의 운영 체제, 라우터, 하이퍼바이저 및 타임 어플라이언스는 NTP 클라이언트와 서버 통신에 UDP 123을 사용합니다.

  • 정확한 시간으로 보안 및 운영 지원

    인증, 인증서, 로그, 데이터베이스, 사고 타임라인 및 분산 시스템은 모두 시계가 동의할 만큼 가까워지는 것에 달려 있습니다.

NTP 작동 방식

NTP 클라이언트는 주기적으로 UDP 123을 통해 하나 이상의 시간 서버에 요청을 보냅니다. 서버는 클라이언트가 오프셋, 지연 및 지터를 추정할 수 있는 타임스탬프를 반환한 다음 클라이언트는 드리프트가 너무 크지 않는 한 방해가 되는 점프를 만들지 않고 로컬 시계를 조정합니다.

NTP 배포는 계층별로 배열되는 경우가 많습니다. Stratum 0은 GPS 또는 원자 소스와 같은 기준 시계입니다. Stratum 1 서버는 해당 참조에 직접 연결되고 하위 Stratum 서버는 시간을 네트워크에 더 분산시킵니다. 대부분의 조직은 신뢰할 수 있는 업스트림 소스를 사용하고 자체 시스템에 내부 NTP를 제공해야 합니다.

NTP 클라이언트와 NTP 서버

NTP 클라이언트는 구성된 시간 소스를 향해 UDP 123에 대한 아웃바운드 액세스가 필요합니다. NTP 서버에는 서비스를 제공할 클라이언트로부터의 인바운드 UDP 123이 필요합니다. 이는 서로 다른 방화벽 질문이며 이를 혼합하는 것은 시간 동기화가 중단되는 일반적인 원인입니다.

워크스테이션과 애플리케이션 서버는 일반적으로 클라이언트 역할만 합니다. 도메인 컨트롤러, 네트워크 시간 어플라이언스, 모니터링 인프라 및 내부 시간 허브는 나머지 집합에 대한 서버 역할을 할 수 있습니다.

포트 123을 열어야 하는 경우

신뢰할 수 있는 외부 또는 내부 시간 소스와 동기화해야 하는 시스템의 아웃바운드 UDP 123을 허용합니다. 알려진 클라이언트에 의도적으로 NTP를 제공하는 서버에서만 인바운드 UDP 123을 허용합니다.

용량, 속도 제한, 모니터링 및 남용 제어 기능을 갖춘 공개 시간 서비스로 의도적으로 운영되지 않는 한 NTP 서버를 인터넷에 광범위하게 노출하지 마십시오. 잘못 구성된 공용 NTP는 반사 및 증폭 공격에 악용될 수 있습니다.

NTP를 열기 전

UDP 123을 허용하기 전에 어떤 시스템이 클라이언트인지, 어떤 시스템이 서버인지, 어떤 업스트림 시간 소스를 신뢰할 수 있는지 결정하세요. 환경에서 chrony, systemd-timesyncd, ntpd, Windows 시간 서비스, 도메인 계층 또는 전용 어플라이언스를 사용하는지 확인하세요.

포트 검사기가 연결 가능성을 높이는 데 도움이 될 수 있지만 시간 동기화도 프로토콜 및 클럭 수준에서 확인해야 합니다. chronyc, ntpq, w32tm, timedatectl 또는 모니터링 데이터를 사용하여 오프셋, 계층, 소스 선택 및 드리프트를 확인합니다.

Windows, Linux 및 네트워크 장치에서 NTP를 구성하는 방법

Windows 도메인에서 Windows 시간 서비스는 일반적으로 신뢰할 수 있는 업스트림 원본에 대해 구성된 PDC 에뮬레이터를 사용하여 도메인 계층 구조를 통해 도메인 구성원을 동기화합니다. 독립 실행형 Windows 서버는 시간을 제공할 때 UDP 123에 대한 w32tm 및 방화벽 규칙으로 구성될 수 있습니다.

Linux에서는 최신 배포판에서 chrony가 일반적이며 ntpd 및 systemd-timesyncd도 나타납니다. 신뢰할 수 있는 풀 또는 내부 서버를 구성하고, 호스트가 시간을 제공하는 경우에만 UDP 123을 허용하고, 오프셋 및 소스 상태를 모니터링합니다.

네트워크 장치에서 가능한 경우 내부 NTP 소스의 포인트 스위치, 라우터, 방화벽 및 어플라이언스. 정확한 장치 시간은 로그, 인증서, VPN 및 사고 조사를 훨씬 더 안정적으로 만듭니다.

  • 클라이언트 경로: 시스템에는 신뢰할 수 있는 시간 소스에 대한 아웃바운드 UDP 123이 필요합니다.
  • 서버 경로: 시간 서버에는 의도된 클라이언트 네트워크에서만 인바운드 UDP 123이 필요합니다.
  • 소스 정책: 감사되지 않은 무작위 서버 대신 신뢰할 수 있는 업스트림, 내부 시간 허브 또는 어플라이언스를 사용합니다.
  • 상태 점검: 함대 전반에 걸쳐 오프셋, 계층, 지터, 도달 가능성 및 소스 변경 사항을 모니터링합니다.

NTP 포트 123을 테스트하는 방법

먼저 클라이언트와 원하는 시간 서버 간에 UDP 123에 연결할 수 있는지 확인합니다. 그런 다음 플랫폼에 따라 chronyc 추적, chronyc 소스, ntpq -p, timedatectl timesync-status 또는 w32tm /query /status를 사용하여 실제 동기화를 확인합니다.

NTP 서버를 운영하는 경우 알려진 클라이언트 네트워크에서 테스트하고 승인되지 않은 네트워크에서 쿼리할 수 없는지 확인하십시오. 인터넷 연결 서비스의 경우 연결 가능성만으로는 구성이 안전한 것으로 입증되지 않으므로 요청 볼륨과 응답 패턴을 관찰하세요.

NTP용 테스트 포트 123

일반적인 NTP 문제 해결 사례

NTP가 동기화되지 않으면 클라이언트가 UDP 123에서 차단되거나, 잘못된 서버를 사용하거나, 높은 오프셋으로 인해 소스를 거부하거나, 시간 서버 호스트 이름을 확인할 수 없을 수 있습니다. 호스트 시간, 게스트 도구 및 NTP가 서로 싸우는 경우 가상 머신이 표류할 수도 있습니다.

서버에 연결할 수 있지만 클라이언트가 여전히 표류하는 경우 계층, 도약 상태, 소스 선택, 방화벽 상태, NAT 동작 및 여러 시간 시스템이 동시에 구성되어 있는지 여부를 검사합니다. Windows 도메인의 경우 모든 호스트를 개별적으로 변경하기 전에 도메인 시간 계층 구조를 확인하십시오.

NTP 보안 체크리스트

NTP 서버에 쿼리할 수 있는 사람을 제한하고, 더 이상 사용되지 않는 고증폭 명령을 비활성화하고, NTP 소프트웨어 패치를 유지하고, 비정상적인 트래픽 급증을 모니터링합니다. 모든 호스트가 임의의 공용 서버에 쿼리하도록 하는 것보다 내부 시간 분배를 선호합니다.

중요한 환경의 경우 신뢰할 수 있는 여러 시간 소스를 사용하고, 과도한 오프셋에 대해 경고하고, 신뢰할 수 있는 시간 경로를 문서화하고, 사고 대응 확인에 시간 동기화를 포함합니다. 시간이 좋지 않으면 인증서, 인증, 로그 상관 관계 및 예약된 작업이 중단될 수 있습니다.

자주 묻는 질문

NTP는 어떤 포트를 사용합니까?

NTP는 기본적으로 UDP 포트 123을 사용합니다. 클라이언트는 UDP 123의 서버에 시간 요청을 보내고, 서버는 클라이언트에 시간을 제공할 때 UDP 123을 수신합니다.

NTP는 TCP인가요, UDP인가요?

표준 NTP는 TCP가 아닌 UDP를 사용합니다. NTP를 테스트하는 경우 방화벽과 진단 도구가 UDP 123을 설명하는지 확인하세요.

포트 123을 인터넷에 개방해야 합니까?

속도 제한, 모니터링 및 충분한 용량을 갖춘 공용 NTP 서비스를 의도적으로 실행하는 경우에만 해당됩니다. 대부분의 조직은 인바운드 UDP 123을 신뢰할 수 있는 내부 클라이언트로 제한해야 합니다.

포트 123에 연결할 수 있는데 왜 시간이 계속 맞지 않나요?

연결 가능성은 NTP의 일부일 뿐입니다. 선택한 소스, 오프셋, 계층, 지터, DNS, 방화벽 방향, 가상 머신 시간 설정 및 다른 시간 서비스가 시계를 재정의하는지 여부를 확인하세요.