ตัวอย่างเช่นพวกเขาตรวจสอบลายเซ็นดิจิทัล (เช่น apt-get และ Windows Update) หรือต้องใช้ SSL หรือไม่ ถ้าไม่ฉันกังวลเล็กน้อยว่าแพคเกจที่ดาวน์โหลดมาอาจถูกโทรจัน ..
ตัวอย่างเช่นพวกเขาตรวจสอบลายเซ็นดิจิทัล (เช่น apt-get และ Windows Update) หรือต้องใช้ SSL หรือไม่ ถ้าไม่ฉันกังวลเล็กน้อยว่าแพคเกจที่ดาวน์โหลดมาอาจถูกโทรจัน ..
คำตอบ:
จุดเล็ก ๆ ได้รับการปรับปรุง :
การตรวจสอบใบรับรอง SSL
เริ่มต้นด้วย v1.3, pip แสดงการตรวจสอบใบรับรอง SSL มากกว่า https เพื่อป้องกันการโจมตีแบบคนกลางตรงกลางกับการดาวน์โหลด PyPI
เวอร์ชัน 8.0 ยังมีฟังก์ชันการทำงานเพื่อ ตรวจสอบกับแฮชท้องถิ่น .
แพ็คเกจ Python ทั้งหมดไม่ได้ถูกโฮสต์ไว้ใน pypi.python.org แต่ easy_install จะค้นหาหน้า PyPi สำหรับลิงค์ดาวน์โหลด แพ็คเกจทั่วไปจำนวนมากเช่น PIL และ lxml ใช้เซิร์ฟเวอร์การแจกจ่ายของตนเอง ตัวอย่าง: http://pypi.python.org/pypi/PIL/
pypi.python.org นั้นดูเหมือนจะไม่ให้การสนับสนุน HTTPS ทุกชนิด
หากคุณต้องการมอบสภาพแวดล้อม easy_install / pip ที่ปลอดภัยฉันขอแนะนำให้คุณทำมิเรอร์แพ็คเกจที่จำเป็นไปยังเซิร์ฟเวอร์ที่คุณดูแลรักษา HTTPS ด้วยตัวคุณเองแล้ว จำกัด การดาวน์โหลดไปยังเซิร์ฟเวอร์นี้โดยใช้ --allow-hosts
ตัวเลือก:
http://packages.python.org/distribute/easy_install.html#restricting-downloads-with-allow-hosts
หากมีข้อมูล MD5 ควรถูกเพิ่มเข้าไปใน URL ที่ดาวน์โหลดโดยการเพิ่มตัวระบุส่วนของรูปแบบ # md5 = ... โดยที่ ... เป็น MD5 hex ที่เป็นอักขระ 32 ตัว EasyInstall จะตรวจสอบว่าการแยกย่อย MD5 ของไฟล์ที่ดาวน์โหลดมานั้นตรงกับค่าที่กำหนดหรือไม่
http://packages.python.org/distribute/easy_install.html
ดูเหมือนว่า easy_install จะทำการตรวจสอบความถูกต้อง แต่ดูเหมือนว่า เท่านั้น ตรวจสอบว่าที่เก็บแพ็กเกจระบุรหัส MD5 หรือไม่
แผนการในอนาคต ส่วนของหน้าเดียวกันนี้เพิ่มเติมไฮไลต์นี้:
แผนการในอนาคต:
- การตรวจสอบลายเซ็น? SSL? ความสามารถในการระงับการค้นหา PyPI หรือไม่