화살표
보안패치보안관련 정보를 수집하여 고객님께 알려드리고 있습니다.
번호 제목 등록일
214 윤초(Leap Second) 관련 버그 내용 및 대응 방안 안내
2015-06-26
최근 윤초(Leap Second) 관련 버그 문의가 증가하여 LINUX RadHat에 대한 윤초 관련 버그 내용 및 대응 방안에 대해 아래와 같이 안내 드립니다.

1) 윤초(Leap Second)란?
평균 태양시에 맞추기 위해 가끔식 UTC(세계 협정시)의 1초를 수정하는 것입니다.
가장 최근의 윤초는 2012년6월30일 23시 59분 60초에 있었는데 전세계적인 컴퓨터 시스템 고장의 원인이 되었습니다.
금번 윤초 수정은 2015년 6월30일 23시59분60초에 있습니다.


2) 예상되는 영향
• 어플리케이션 속도 저하
• 어플리케이션 충돌 및 시동실패
• Kernel Deadlock
• 윤초 loop 현상
• CPU 사용 증가
3) 윤초 대응방법
• 커널 버전 확인
:각 RHEL 버전별 다음의 커널 버전 이상으로 업데이트를 권고드립니다.
(이전 커널에 시스템 행 버그가 있음)
- RHEL4 : kernel-2.6.9-89.EL 또는 이후
- RHEL5 : kernel-2.6.18-164.el5 또는 이후
- RHEL6 : kernel-2.6.32-358.el6 또는 이후
- RHEL7 : 기본 커널 대응
• NTP 또는 PTP를 사용해 시간 동기화하는 환경
:tzdata 업데이트 (optional)
주의) 단 패키지 업데이트만, /etc/localtime 링크는 절대로 변경하지 않음

1-1) Leap Second 시간 즉시 적용 가능한 경우
- 위에 설명된 커널 버전이 최신인지 확인
- 특별한 작업 불필요
- 개별 3rd-party 솔루션이 Leap Second 예외에 대응할 수 있는지 확인

1-2) Leap Second 적용하지 않고 천천히 1초를 동기화 해야 하는 경우
- 이전 버전의 커널을 사용하고 업데이트가 불가능 한 경우 또는 Leap Second을 즉시
적용하지 않고 천천히 동기화 하고자 하는 경우
- ntptime 초기화 후 slew mode로 재시작 (다음과 같이 -x 옵션 추가)
주의) Slew mode의 경우 시간 Jump가 없는 대신 시간 GAP이 발생한 경우 동기화에 더 오랜
시간이 소요

# service ntpd stop
# ntptime -s 0 -f 0
# cat /etc/sysconfig/ntpd
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g -x"
# service ntpd start

주의) RHEL6의 경우 ntp 패키지를 반드시 ntp-4.2.6p5-3.el6_6 또는 이후 버전으로
업데이트
• 별도의 자체 NTP 서버를 운영해 동기화 하고 있는 환경
- NTP 서버가 공식 상위 Stratum NTP 서버와의 동기화(권장) 되었는지 점검
- 만약 외부와 동기화 되지 않은 자체 RHEL기반 NTP 서버의 경우 Leap Second 인지 불가능,
2015년 7월 1일 09시 00분(KST 기준) 이후 외부와의 시차 1초 발생
- 자체 NTP 서버측 : 필요시 수동으로 NTP 서버 시간 조정으로 동기화
- NTP 클라이언트측 : 1) 대응 방안 적용
• NTP 또는 PTP를 사용하지 않는 경우
1-1) Leap Second 인지가 꼭 필요한 경우
- 가능하면 6월 이전에 일정을 잡고 tzdata 패키지 업데이트
- https://rhn.redhat.com/errata/RHEA-2015-0141.html

- Timezone 파일 변경
# cp /usr/share/zoneinfo/right/Aisa/Seoul /etc/localtime
- 재부팅으로 시스템에 POSIX Time 적용
주의) 향후 NTP 동기화시 Timezone 원복 필요

1-2) Leap Second 인지 없이 향후 수동 조정 가능한 경우
- tzdata 업데이트는 선택
- 향후 수동 시간 조정
주의) 단 패키지 업데이트시 /etc/localtime 링크는 절대로 변경하지 않음

[Summary]
1. 커널 버전 확인 후 업데이트 (공통사항)
2. NTP서버 구축 환경에 맞게 조치
1) NTP 또는 PTP를 사용해 시간 동기화하는 환경
- tzdata 패키지 업데이트 or slew mode에 -x 옵션 추가 (선택)

2) 별도의 자체 NTP 서버를 운영해 동기화 하고 있는 환경
- 자체 NTP 서버가 윤초 이슈를 해결한 서버일 경우 클라이언트도 동일하게 적용됨
(NTP 서버가 리눅스 서버일경우 '1)' 안을 적용)

3) NTP 또는 PTP를 사용하지 않는 경우
- tzdata 업데이트