Network Time Protocol 소프트웨어 패키지 의 새로운 보안 취약점에 따라 Apple 은 Mountain Lion 및 최신 버전의 OS X에 대한 소프트웨어 업데이트를 제공 했습니다.
평소와 같이 OS X의 이전 버전은 하드웨어 업데이트가 필요하지 않기 때문에 하드웨어가 최신 버전을 지원하지 않기 때문에 보안 업데이트가 적용되지 않습니다.
내 질문은 :
-
ntpd가 실행되지 않도록 소프트웨어 환경 설정에서 “날짜 및 시간 자동 설정”을 비활성화합니까?
-
OS X Snow Leopard 또는 Lion에서 안전을 위해 ntdp 바이너리를 삭제 한 경우 어떻게됩니까?
의심 할 여지 없이이 지침 을 사용 하여 완전히 비활성화 / 삭제하지 않고 ntpd의 범위를 제한 할 수 있지만이 경우 잘못된 것으로 인해 ntpd가 노출 될 위험이 있습니다.
답변
ntpd가 실행되지 않도록 소프트웨어 환경 설정에서 “날짜 및 시간 자동 설정”을 비활성화합니까?
예 .
여기에 이것을 확신하는 방법이 있습니다. Terminal
또는 xterm
창을 엽니 다 .
다음 명령을 실행하십시오.
ps ax | grep ntp
당신은이 통지 것을 ntpd
실행중인 프로세스를.
열고 System Preferences
끄기Set date and time automatically:
실행중인 프로세스 ps
가없는 위 의 명령을 확인하십시오 ntpd
.
ntpd
바이너리를
제거하지 마십시오 . 이것은 필요하지 않으며 Apple의 수정 사항을 활용할 기회를 박탈합니다. :).
의심 스럽지만이 지침을 사용하여 범위를 제한 할 수 있습니다
없음 .
이 영수증은 당신을 달리게 ntpd
하여 공격에 노출 될 것입니다.
답변
ntpd를 비활성화하는 대신 ntp 버전 4.2.8의 소스를 다운로드하여 직접 컴파일해야합니다. Lion / SnowLeo 용 Xcode 만 있으면됩니다. 10.6.x 및 10.7.x에서 잘 작동합니다.
CVE가 공개되고 소스 코드가 릴리스 된 직후 10.10 설치를 업데이트했으며 Apple이 업데이트를 릴리스하기를 기다리지 않았습니다.
ntpd를 컴파일하려면 ntp.org에서 소스를 다운로드하고 OS X / FreeBSD 용 패치 를 적용하십시오 . 이 패치를 적용한 후에는 “./configure && make”를 실행할 수 있습니다. 그런 다음 바이너리를 적절한 디렉토리 (/ usr / sbin / 및 / usr / bin /)에 복사 할 수 있습니다.
Mac OS X 10.7 (Lion)의 경우 :
mkdir ntpd-fix
cd ntpd-fix
curl http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8.tar.gz | tar zxf -
cd ntp-4.2.8/ntpd
curl http://bugs.ntp.org/attachment.cgi?id=1165 | patch -p1
cd ..
./configure && make
위의 소스에서 빌드 할 파일 및 폴더 목록은 다음과 같습니다. 컴파일 후이 모든 파일은 다양한 하위 폴더에 있습니다.
/usr/bin/sntp
/usr/bin/ntp-keygen
/usr/bin/ntpq
/usr/sbin/ntpdc
/usr/sbin/ntpdate
/usr/sbin/ntpd
다음과 같은 것을 사용하여 이전 이름을 바꿉니다.
sudo mv /usr/sbin/ntpd /usr/sbin/ntpd.old
그런 다음 새 파일을 옮기십시오. 파일을 제자리로 이동 한 후 파일을 숨기십시오.
sudo chown root:wheel /usr/sbin/ntpd
참고 : sudo make install
Makefile을 믿지 않았기 때문에 사용 하지 않았습니다 (Apple이 원래 파일을 배치 한 폴더와 동일한 폴더에 파일을 저장하고 이전과 동일한 위치에 있는지 확인하고 싶지는 않았습니다. 그들). 6 파일을 수동으로 이동하는 것은 큰 문제가 아닙니다. 나머지 파일 (man 페이지, html 페이지 등은 동일하므로 파일을 이동할 필요가 없습니다.)
답변
-
위반 문서를 자세히 조사하지 않았습니다. 일반적으로 ntp는 서버에 주기적으로 쿼리하여 수정을받습니다. 로컬 클럭의 드리프트가 설정되면 이러한 쿼리는 자주 발생하지 않습니다.
-
대부분의 방화벽은 외부의 요청 패킷을 무시하도록 구성되어 있습니다. Ntp 나는 명목상 상태가없는 UDP를 사용한다고 생각합니다. 일반적으로 방화벽은 UDP 패킷이 종료 된 후 짧은 시간 동안 UDP 패킷이 다시 들어 오도록합니다. 리턴 패킷은 올바른 IP에서 가져와야하며 올바른 포트가 있어야합니다. 블랙 햇은 DNS 서버를 파괴하거나 NTP 서버를 파괴해야합니다.
그렇다면 사람이 pool.ntp.org를 그의 ntp 서버로 지정하지 않았다고 가정 할 때이 위협이 실제로 어떻게 작용하는지 설명 할 수 있습니까?
이 방법 :
- 위의 소스에서 빌드하십시오.
- Mac 포트를 사용하십시오. 초기 빌드에는 상당한 시간과 상당한 공간이 필요하지만 설치는 상당히 고통스럽지 않습니다. 자세한 정보 https://www.macports.org/
이 방법으로 Fink 또는 Homebrew를 사용할 수도 있지만 MacPorts는 Apple OS에 덜 의존적 인 것 같습니다. 따라서 오래된 시스템의 경우 장기적으로 고통이 덜할 것으로 생각됩니다.
- 취약하지 않은 머신을 로컬 ntp 서버로 구성하십시오. 취약한 시스템을 ntp 서버로 지정하십시오. 방화벽에서 ntpserver 시스템을 제외한 모든 시스템의 ntp에 대한 아웃 바운드 및 인바운드를 모두 차단하십시오. 지역 학교 네트워크를 운영 할 때 ntp를 포함하여 많은 네트워크 서비스를 실행하는 하나의 컴퓨터 (freebsd)가있었습니다. 그런 다음 64 초마다 단일 ntp 패킷을 브로드 캐스트합니다.