Security Practice Archive

보안 점검과 설정을
기록합니다.

시스템, 클라우드 등 다양한 환경에서 확인한 점검 기준과 설정 과정, 검증 결과를 정리합니다.

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

카테고리를 선택해 관련 글을 모아볼 수 있습니다.

약 1분

[인프라진단] #U-65 NTP 및 시각 동기화 설정

반응형

1. 항목 설명

서버 시간이 다르면 인증 토큰, 인증서, 분산 처리와 사고 로그의 시간 관계를 신뢰하기 어렵습니다. 승인된 기준시와 지속적으로 동기화해야 합니다.

판단 기준: NTP 클라이언트가 승인된 기준시를 선택해 정상 동기화하고 있으면 양호입니다.

2026 가이드 근거

U-65 2026 가이드 근거. 출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-65, pp.164-165. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.
U-65 2026 가이드 근거 2. 출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-65, pp.164-165. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.

2. 점검 목적

시스템 간 일관된 시간을 유지해 인증과 장애·침해사고 분석의 신뢰성을 확보하는 것이 목적입니다.

3. 실습 환경

  • 원본 최초진단 환경: Ubuntu 24.04.4 LTS
  • 원본 이행진단 환경: Ubuntu 24.04.4 LTS
  • 설정 화면 확인 환경: Ubuntu Server 24.04.4 LTS, Linux 6.8.0-138-generic
  • 가상화 환경: VMware Workstation
  • 호스트 이름: u-lab
  • 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
  • 원본 진단 실행 ID: 20260903-094131
  • 원본 진단 수집일: 2026-09-03
  • 증적 화면 캡처일: 2026-09-09
  • 화면 수집 방식: VMware Ubuntu VM 콘솔 직접 캡처

최초진단과 이행진단 이미지는 2026-09-03에 실제 수집한 원본 결과를 VM 콘솔에서 열어 캡처했습니다. 원본 수집일과 화면 캡처일은 서로 다르며, 과거 결과를 오늘의 재진단 결과로 표시하지 않았습니다. 취약 상태 구성과 조치에는 격리된 관리 연결을 보조적으로 사용했습니다.

설정 확인 이미지는 캡처일의 VM에서 명령을 실행한 화면입니다. 실습 종료 후 서비스를 중지하거나 임시 설정을 제거한 항목은 당시 이행진단과 현재 상태가 다를 수 있습니다.

4. 취약 상태 구성

Chrony를 중지·비활성화하고 승인된 기준시 설정을 제거했습니다. 커널의 이전 동기화 플래그는 yes로 남았지만 활성 소스가 없어 지속 동기화의 근거가 되지 않습니다.

이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.

구성 방법

sudo systemctl disable --now chrony
# 승인된 server/pool 지시문 제거

구성 후 다음 명령으로 실제 상태를 확인했습니다.

systemctl is-active chrony; systemctl is-enabled chrony; chronyc -n sources; chronyc -n tracking

5. 최초진단 결과

  • 원본 진단 판정: 취약
  • 원본 진단 판정 근거: Chrony가 inactive/disabled이고 승인 소스와 선택 소스가 없었습니다. kernel_sync_flag=yes는 이전 상태의 잔존값으로 판정 근거에서 제외했습니다.

U-65 최초진단 현황 증적

6. 조치 방법

인터넷 없는 실습을 위해 같은 VM 안의 별도 Linux 네트워크 네임스페이스에 모의 NTP 서버 10.65.0.2:8123을 구성하고 Chrony가 실제 선택하도록 했습니다. 이 서버는 동일 VM의 시계를 응답하므로 독립 기준시가 아니며, 응답의 Stratum 2도 실습 서버가 지정한 값입니다. 통신·선택 동작 실습에는 사용할 수 있지만 표준시 정확도의 근거가 되지 않으므로 운영에서는 조직이 승인한 독립 NTP 서버로 교체해야 합니다.

# /etc/chrony/chrony.conf에 넣는 오프라인 모의 기준시 설정
server 10.65.0.2 port 8123 iburst minpoll 4 maxpoll 6
makestep 1.0 3
rtcsync

설정 파일을 저장한 후 아래 명령을 실행합니다. 위 server 지시문은 셸 명령이 아닙니다.

sudo systemctl enable --now chrony
chronyc waitsync

Linux 설정 확인 위치: chrony 서비스, 승인 server 지시문, sources와 tracking

현재 화면은 Chrony 설정과 모의 기준시 선택 상태를 보여 줍니다. 같은 VM의 시계를 사용하는 모의 NTP 서버이므로 통신·설정 동작만 검증하며, 독립적인 표준시 정확도나 운영 기준시의 신뢰성까지 검증한 결과는 아닙니다.

U-65 Linux 설정 확인 화면 증적

7. 이행진단 결과

  • 원본 진단 판정: 실습 범위 양호 / 운영 기준시 적합성 별도 확인
  • 원본 진단 판정 근거: 원본 수집기는 모의 소스가 ^*로 선택되고 Stratum 3, Leap status Normal, ntp_synchronized=yes임을 확인하여 GOOD로 기록했습니다. 이 결과는 모의 소스와의 동작 검증에 한정하며 독립 표준시 정확도나 운영 가이드 충족의 최종 판정으로 사용하지 않습니다.

U-65 이행진단 현황 증적

8. 실무 주의사항

서비스가 active라는 사실만으로 동기화됐다고 판정하면 안 됩니다. 선택 소스 ^*, 도달성, 오차와 Leap 상태를 함께 봐야 합니다.

컨설턴트 조언

  • 가상화 환경은 호스트 시간 동기화와 NTP가 충돌할 수 있으므로 시간 제공 주체를 하나로 정하고 모니터링 임계값을 둡니다.
  • 인터넷 공개 서버 대신 조직이 승인한 내부 기준시와 이중화된 상위 소스를 사용합니다.
  • 시간을 크게 변경하면 인증·DB·클러스터에 영향을 줄 수 있으므로 오차와 단계 조정 정책을 검토합니다.
  • 서비스 활성화만 보지 말고 선택된 소스, Stratum, Leap 상태와 지속적인 도달성을 확인합니다.

9. 마무리

이번 실습에서는 실제 최초·이행진단 기록과 VM 콘솔 캡처를 비교했습니다. 운영 환경에서도 변경 후 기능 시험과 정기 재점검을 함께 수행해야 합니다.

반응형