apt-transport-https - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

apt-transport-https - การขนส่ง APT สำหรับการดาวน์โหลดผ่านโปรโตคอล HTTP Secure (HTTPS)

คำอธิบาย

การขนส่ง APT นี้อนุญาตให้ใช้ที่เก็บที่เข้าถึงผ่านโปรโตคอล HTTP Secure (HTTPS) หรือที่เรียกว่า HTTP ผ่าน TLS มีให้ใช้งานตามค่าเริ่มต้นตั้งแต่ apt 1.5 และมีให้ใช้งานก่อนหน้านั้นในแพ็คเกจ apt-transport-https โปรดทราบว่าการขนส่งจะไม่ถูกเรียกโดยตรงจากผู้ใช้ แต่ใช้โดยเครื่องมือ APT ตามการกำหนดค่าของผู้ใช้

HTTP เป็นโปรโตคอลการขนส่งที่ไม่ได้เข้ารหัส (เปรียบเทียบกับ apt-transport-http(1)) ซึ่งตามที่ระบุโดย S ต่อท้าย ถูกห่อหุ้มด้วยชั้นเข้ารหัสที่เรียกว่า Transport Layer Security (TLS) เพื่อให้การเข้ารหัสแบบ end-to-end ผู้โจมตีที่มีความสามารถเพียงพอยังสามารถสังเกตคู่ค้าด้านการสื่อสารได้ และการวิเคราะห์เชิงลึกของการสื่อสารที่เข้ารหัสอาจยังคงเปิดเผยรายละเอียดที่สำคัญ ภาพรวมเกี่ยวกับวิธีการขนส่งทางเลือกที่มีให้ใน sources.list(5)

ตัวเลือก

โปรโตคอล HTTPS ใช้โปรโตคอล HTTP ดังนั้นตัวเลือกทั้งหมดที่รองรับโดย apt-transport-http(1) จึงใช้งานได้ผ่าน Acquire::https และจะมีค่าเริ่มต้นเป็นค่าเดียวกับที่ระบุสำหรับ Acquire:: http. manpage นี้จะบันทึกเฉพาะตัวเลือก เฉพาะ https เท่านั้น

ข้อมูลประจำตัวของเซิร์ฟเวอร์

ตามค่าเริ่มต้น ใบรับรองทั้งหมดที่เชื่อถือได้โดยระบบ (ดูแพ็คเกจใบรับรอง ca) ใช้สำหรับการตรวจสอบใบรับรองเซิร์ฟเวอร์ ผู้ออกใบรับรองทางเลือก (CA) สามารถกำหนดค่าได้ด้วยตัวเลือก Acquire::https::CAInfo และตัวเลือกเฉพาะโฮสต์ของโปรแกรม Acquire::https::CAInfo::โฮสต์ ตัวเลือก CAInfo ระบุไฟล์ที่ประกอบด้วยใบรับรอง CA (ในรูปแบบ PEM) ที่เชื่อมเข้าด้วยกันเพื่อสร้างห่วงโซ่ที่ APT ควรใช้เพื่อตรวจสอบเส้นทางจากใบรับรองหลักที่ลงนามด้วยตนเอง หากเซิร์ฟเวอร์ระยะไกลจัดเตรียมเชนทั้งหมดระหว่างการแลกเปลี่ยน ไฟล์จะต้องมีใบรับรองหลักเท่านั้น มิฉะนั้นจะต้องใช้โซ่ทั้งหมด หากคุณต้องการสนับสนุนหลายหน่วยงาน วิธีเดียวคือเชื่อมโยงทุกอย่างเข้าด้วยกัน

รายการเพิกถอนใบรับรองที่กำหนดเอง (CRL) สามารถกำหนดค่าได้ด้วยตัวเลือก Acquire::https::CRLFile และ Acquire::https::CRLFile::โฮสต์ เช่นเดียวกับตัวเลือกก่อนหน้า จำเป็นต้องระบุไฟล์ในรูปแบบ PEM

ปิดใช้งานการรักษาความปลอดภัย

ในระหว่างการตรวจสอบความถูกต้องของเซิร์ฟเวอร์ หากการตรวจสอบใบรับรองล้มเหลวด้วยเหตุผลบางประการ (หมดอายุ ถูกเพิกถอน อยู่ระหว่างกลาง ฯลฯ) การเชื่อมต่อจะล้มเหลว นี่คือสิ่งที่คุณต้องการอย่างชัดเจนในทุกกรณี และค่าดีฟอลต์ (จริง) ของตัวเลือก Acquire::https::Verify-Peer หากคุณทราบ แน่ชัด ว่าคุณกำลังทำอะไรอยู่ การตั้งค่าตัวเลือกนี้เป็น "เท็จ" จะช่วยให้คุณสามารถข้ามการตรวจสอบใบรับรองเพียร์และทำให้การแลกเปลี่ยนสำเร็จ ขอย้ำอีกครั้งว่าตัวเลือกนี้มีไว้เพื่อวัตถุประสงค์ในการตรวจแก้จุดบกพร่องหรือทดสอบเท่านั้น เนื่องจากจะลบการรักษาความปลอดภัยทั้งหมดที่ได้รับจากการใช้ HTTPS

ในทำนองเดียวกัน ตัวเลือก Acquire::https::Verify-Host และตัวแปรเฉพาะโฮสต์สามารถใช้เพื่อปิดใช้งานคุณลักษณะความปลอดภัยได้: ใบรับรองที่เซิร์ฟเวอร์ให้มารวมถึงข้อมูลประจำตัวของเซิร์ฟเวอร์ซึ่งควรตรงกับชื่อ DNS ที่ใช้ในการเข้าถึง ตามค่าเริ่มต้น ตามที่ร้องขอโดย RFC 2818 ชื่อของมิเรอร์จะถูกตรวจสอบเทียบกับข้อมูลประจำตัวที่พบในใบรับรอง ลักษณะการทำงานเริ่มต้นนี้ปลอดภัยและไม่ควรเปลี่ยนแปลง แต่ถ้าคุณทราบว่าเซิร์ฟเวอร์ที่คุณใช้มีชื่อ DNS ซึ่งไม่ตรงกับข้อมูลประจำตัวในใบรับรอง คุณสามารถตั้งค่าตัวเลือกเป็น "เท็จ" ซึ่งจะป้องกันการเปรียบเทียบ จากการถูกกระทำ

การรับรองความถูกต้องไคลเอนต์

นอกจากจะรองรับการตรวจสอบสิทธิ์ด้วยรหัสผ่านแล้ว (ดู apt_auth.conf(5)) HTTPS ยังรองรับการตรวจสอบสิทธิ์ตามใบรับรองไคลเอ็นต์ผ่าน Acquire::https::SSLCert และ Acquire::https::SSLKey ควรตั้งค่าเหล่านี้ตามลำดับเป็นชื่อไฟล์ของใบรับรองไคลเอ็นต์ X.509 และคีย์ส่วนตัวที่เกี่ยวข้อง (ไม่ได้เข้ารหัส) ทั้งในรูปแบบ PEM ในทางปฏิบัติ ขอแนะนำให้ใช้ตัวแปรเฉพาะโฮสต์ของทั้งสองตัวเลือก

ตัวอย่าง

Acquire::https {
	Proxy::example.org "DIRECT";
	Proxy "socks5h://apt:pass@127.0.0.1:9050";
	Proxy-Auto-Detect "/usr/local/bin/apt-https-proxy-auto-detect";
	No-Cache "true";
	Max-Age "3600";
	No-Store "true";
	Timeout "10";
	Dl-Limit "42";
	Pipeline-Depth "0";
	AllowRedirect "false";
	User-Agent "My APT-HTTPS";
	SendAccept "false";

	CAInfo "/path/to/ca/certs.pem";
	CRLFile "/path/to/all/crl.pem";
	Verify-Peer "true";
	Verify-Host::broken.example.org "false";
	SSLCert::example.org "/path/to/client/cert.pem";
	SSLKey::example.org "/path/to/client/key.pem"
};

ดูสิ่งนี้ด้วย

apt-transport-http(1) apt.conf(5) apt_auth.conf(5) sources.list(5)

ข้อบกพร่อง

หน้าข้อผิดพลาด APT[1] หากคุณต้องการรายงานข้อบกพร่องใน APT โปรดดู /usr/share/doc/debian/bug-reporting.txt หรือคำสั่ง reportbug(1)

ผู้เขียน

ทีม APT

หมายเหตุ

1. หน้าบั๊ก APT: http://bugs.debian.org/src:apt