ปิดใช้งาน NTP บน OS X Lion หรือเก่ากว่า


9

ตามช่องโหว่ความปลอดภัยใหม่ในแพ็คเกจซอฟต์แวร์ Network Time Protocolแล้ว Apple ได้จัดให้มีการอัปเดตซอฟต์แวร์สำหรับ Mountain Lion และ OS X เวอร์ชั่นใหม่กว่า

ตามปกติ OS X เวอร์ชั่นเก่าที่อาจติดอยู่ (เนื่องจากฮาร์ดแวร์ไม่รองรับเวอร์ชั่นใหม่กว่าเพราะต้องการ Rosetta, …) จะไม่ครอบคลุมในการปรับปรุงความปลอดภัย

คำถามของฉันคือ:

  • การปิดใช้งาน“ กำหนดวันที่และเวลาอัตโนมัติ” ในการตั้งค่าซอฟต์แวร์เพียงพอที่จะทำให้แน่ใจว่า ntpd ไม่ทำงาน

  • สิ่งที่อาจแตกถ้า ntdp ไบนารีถูกลบเพียงเพื่อความปลอดภัยใน OS X Snow Leopard หรือ Lion

ด้วยความสงสัยฉันอาจใช้คำแนะนำเหล่านี้เพื่อ จำกัด ขอบเขตของ ntpd โดยไม่ปิดการใช้งาน / ลบอย่างสมบูรณ์ แต่ในกรณีนี้ยังมีความเสี่ยงที่จะทำให้มันผิดและทำให้ ntpd ถูกเปิดเผย


โปรดรายงานว่าการขาดการแก้ไขด้านความปลอดภัยของเวอร์ชันที่ลูกค้ายังคงใช้กับ Apple อยู่ →การapple.com/feedback/macosx.html พวกเขายังไม่มีsecurityรายการข้อเสนอแนะ :(.
dan

1
@danielAzuelos ฉันไปไกลถึงการเขียนโพสต์บล็อก: blog.frama-c.com/index.php?post/2013/01/01/..
Pascal Cuoq

1
@PascalCuoq offtopic: คุณอาจชุบชีวิต iMac ด้วยการแปลงมันเป็นแฮ็คฝนด้วย NUC) - google.com.ua/…คิดว่าฉันไม่รู้ว่า 17 "คุ้มค่ากับปัญหา แต่ 20" ไม่แน่นอน
iskra

คำตอบ:


7

การปิดใช้งาน“ กำหนดวันที่และเวลาอัตโนมัติ” ในการตั้งค่าซอฟต์แวร์เพียงพอที่จะทำให้แน่ใจว่า ntpd ไม่ทำงาน

ใช่แล้ว

นี่คือวิธีที่จะประกันตัวคุณเองจากสิ่งนี้ เปิดTerminalหรือxtermหน้าต่าง

รันคำสั่งต่อไปนี้:

ps ax | grep ntp

และแจ้งให้ทราบว่าคุณมีntpdกระบวนการทำงาน

เปิดSystem PreferencesและปิดSet date and time automatically:

ตรวจสอบกับpsคำสั่งด้านบนว่าคุณไม่ได้ntpdทำงาน ใด ๆ


อย่าลบntpdไบนารีนี่ไม่จำเป็นและจะกีดกันโอกาสที่จะใช้ประโยชน์จากการแก้ไขจาก Apple :)


ด้วยความสงสัยฉันอาจใช้คำแนะนำเหล่านี้เพื่อ จำกัด ขอบเขต

ไม่

สูตรนี้จะทำให้คุณวิ่งntpdและถูกโจมตี


1
ด้วยเหตุผลบางอย่างการยกเลิกการเลือก "ตั้งค่าวันที่และเวลาโดยอัตโนมัติ" ไม่ได้ฆ่ากระบวนการ ntpd สำหรับฉัน ฉันต้องเรียกใช้:sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
user12719

2
คำสั่งที่คุณใช้นั้นเป็นสิ่งที่ GUI System Preferencesทำ เมื่อใช้มันคุณควรตรวจสอบกับผิดสิ่งที่อาจจะเกิดภายในของคุณtail -f /var/log/system.log System Preferencesในการตรวจสอบปัญหานี้ฉันแนะนำให้คุณถามคำถามอื่น
แดน

8

แทนที่จะปิดใช้งาน ntpd คุณควรดาวน์โหลดซอร์สสำหรับเวอร์ชัน 4.2.8 ของ ntp และคอมไพล์ด้วยตัวคุณเอง สิ่งที่คุณต้องมีคือ Xcode สำหรับ Lion / SnowLeo มันควรจะทำงานบน 10.6.x และ 10.7.x ได้ดี

ฉันได้อัปเดตการติดตั้ง 10.10 ทันทีหลังจาก CVE เผยแพร่สู่สาธารณะและซอร์สโค้ดวางจำหน่ายและฉันไม่ได้รอให้ 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

จากนั้นย้ายไฟล์ใหม่เข้ามาตรวจสอบให้แน่ใจว่าได้ chown ไฟล์หลังจากที่ย้ายไฟล์เหล่านั้นเข้าที่:

sudo chown root:wheel /usr/sbin/ntpd

หมายเหตุ : ฉันไม่ได้ใช้ sudo make installเพราะฉันไม่เชื่อถือ Makefile (ฉันไม่แน่ใจว่าจะวางไฟล์ไว้ในโฟลเดอร์เดียวกับที่ Apple วางไว้ในตอนแรกและต้องการให้แน่ใจว่าพวกเขายังอยู่ในตำแหน่งเดิม คน) การย้ายไฟล์ 6 ไฟล์ด้วยตนเองไม่ใช่ปัญหาใหญ่ ส่วนที่เหลือของไฟล์ (man page, html pages, ฯลฯ จะเหมือนกันดังนั้นคุณไม่ต้องกังวลกับการย้ายไฟล์เหล่านั้น)


โปรดเพิ่มไฟล์ที่จะต้องคัดลอกและที่
klanomath

@klanomath ฉันเพิ่งแก้ไขความคิดเห็นด้วยข้อมูลเพิ่มเติม แจ้งให้เราทราบหากคุณพบปัญหาใด ๆ
MelB

ฉันเพิ่มส่วนที่เหลือและ 10 คะแนน ;-)
klanomath

แล้ว ntpsnmpd ล่ะ?
klanomath

1
สำหรับผู้ที่ไม่ต้องการที่จะทำคู่มือเปลี่ยนก็ควรพอเพียงที่จะทำงานเป็นขั้นตอนเริ่มต้นและแล้วตามด้วย./configure --prefix='/usr' make ; sudo make install
Trane Francks

1
  1. ฉันไม่ได้ขุดลงในเอกสารของการละเมิดโดยละเอียด โดยปกติแล้ว ntp จะทำการสอบถามเป็นระยะไปยังเซิร์ฟเวอร์เพื่อรับการแก้ไข เมื่อมีการสร้างนาฬิกาท้องถิ่นแล้วการค้นหาเหล่านี้จะไม่เกิดขึ้นบ่อยครั้ง

  2. ไฟร์วอลล์ส่วนใหญ่ได้รับการกำหนดค่าให้ละเว้นการร้องขอแพ็กเก็ตจากภายนอก Ntp ฉันคิดว่าใช้ UDP ที่ไร้สัญชาติในนาม โดยทั่วไปแล้วไฟร์วอลล์จะปล่อยให้แพ็กเก็ต UDP ย้อนกลับไปเป็นหน้าต่างเล็ก ๆ ของเวลาหลังจากแพ็กเก็ต UDP ดับลง แพ็กเก็ตคืนต้องมาจาก IP ที่ถูกต้องและมีพอร์ตที่ถูกต้อง หมวกสีดำจะต้องทำลายเซิร์ฟเวอร์ DNS ของคุณหรือทำลายเซิร์ฟเวอร์ NTP ของคุณ

ดังนั้นบางคนจะอธิบายว่าภัยคุกคามนี้เกิดขึ้นจริงได้อย่างไรสมมติว่าบุคคลนั้นไม่ได้ระบุ pool.ntp.org เป็นเซิร์ฟเวอร์ ntp ของเขา?


วิธีรอบนี้:

  1. สร้างจากแหล่งที่มา - ด้านบน
  2. ใช้พอร์ต mac สิ่งนี้ทำให้การติดตั้งไม่ยุ่งยากพอสมควรแม้ว่าการสร้างครั้งแรกจะใช้เวลานานและใช้พื้นที่ว่างพอสมควร ข้อมูลเพิ่มเติมhttps://www.macports.org/

คุณสามารถใช้ Fink หรือ Homebrew ด้วยวิธีนี้ได้ แต่ดูเหมือนว่า MacPorts จะขึ้นกับ Apple OS น้อยกว่าดังนั้นในระยะยาวสำหรับระบบเก่าฉันสงสัยว่าจะมีอาการปวดน้อยลง

  1. กำหนดค่าเครื่องที่ไม่เสี่ยงต่อการเป็นเซิร์ฟเวอร์ท้องถิ่น ชี้เครื่องที่มีช่องโหว่ไปยังเซิร์ฟเวอร์ ntp ที่ไฟร์วอลล์ของคุณบล็อกทั้งขาออกและขาเข้าสำหรับ ntp สำหรับทั้งหมดยกเว้นเครื่อง ntpserver เมื่อฉันใช้เครือข่ายโรงเรียนในท้องถิ่นฉันมีเครื่องหนึ่งเครื่อง (freebsd) ที่ใช้บริการเครือข่ายมากมายรวมถึง ntp จากนั้นจะออกอากาศแพ็คเก็ต ntp เดียวทุกๆ 64 วินาที
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.