Apt-get ile https nasıl kullanılır?


51

Does apt-gethttps veya şifreleme kullanılan hertürlü? Kullanması için onu yapılandırmanın bir yolu var mı?


3
InRelease imzasını çevreleyen bugs.launchpad.net/ubuntu/+source/apt/+bug/1647467 ... gibi güvenlik açıkları nedeniyle, HTTPS cihazını yine de yapılandırmak iyi bir fikir olabilir.
Royce Williams

whydoesaptnotusehttps.com bu soruyu tam ve kapsamlı olarak cevaplayan bir web sayfasıdır.
m.raynal

1
Bunun faydalı olmasının daha sıradan bir nedeni var. Sık sık bazı deb indirmeleri engelleme eğiliminde olan ve muhtemelen bazı aptal kötü amaçlı yazılım engelleyicilerini tetikleyen bozuk bir "şeffaf" proxy sunucusuyla sık sık Internet bağlantım vardır. Ama https üzerinden, proxy neyi indirdiğimi bilmiyor ve bu yüzden müdahale etmiyor.
Nate Eldredge

Yanıtlar:


53

apt-get(ve aynı APT kütüphanelerinin önü olan diğer paket manipülasyon komutları) HTTP, HTTPS ve FTP (ve monte edilmiş dosya sistemlerini) kullanabilir. Eğer belirtirseniz https://URL'leri /etc/apt/sources.listve /etc/apt/sources.list.d/*ardından APT HTTPS kullanır.

APT paketlerin imzasını doğrular. Dolayısıyla, veri kimlik doğrulaması sağlayan bir taşıma şekline sahip olmanıza gerek yoktur. Bir saldırgan indirdiğiniz dosyaları değiştirirse, bu fark edilir. İmza doğrulaması kullanmak, HTTPS bağlantısı kullanmaktan daha iyidir, çünkü yalnızca aktarılan bir saldırıyı değil, indirdiğiniz sunucudaki bir saldırıyı algılar.

Daha doğrusu, bir paket için (basitleştirilmiş) veri akışı aşağıdaki gibidir:

  1. Paket bir inşaat makinesinde üretilir.
  2. Paket inşaat makinesinde imzalanmıştır.
  3. İmzalı paket bir indirme aynasına kopyalanır.
  4. Paketi indirin.

HTTPS, 4. adımın doğru şekilde yapılmasını sağlar. Paket imzaları, 2 ile 4 arasındaki adımların doğru yapılmasını sağlar.

Aslında, HTTPS'nin 4. adım için küçük bir faydası vardır: paket imzaları yalnızca paketin orijinal olmasını sağlar. 4. adımdaki bir saldırgan meşru bir sunucuyu taklit edebilir ve paketin eski sürümlerini sunabilir. Örneğin, saldırgan makinenizde, saldırı için olmasa yatacağınız bir güvenlik açığından yararlanmanız umuduyla, güvenlik güncelleştirmeleri indirmenizi engelleyebilir. Bu çok gerçekçi bir senaryo değil, çünkü aktif bir saldırgan gerektiriyor (bu yüzden İnternet bağlantınızı kontrol eden biri olmalı), fakat prensip olarak olabilirdi.

HTTPS’nin diğer bir yararı, Ubuntu paketlerini ağ bağlantınızı kuran bir kişiden indirdiğiniz gerçeğini gizlemeye çalışıyorsanız olacaktır. O zaman bile, gizlice dinleyen kişi hangi konağa bağlandığınızı görebiliyordu; Bir Ubuntu aynasına bağlanır ve yüzlerce megabayt indirirseniz, Ubuntu paketlerini indirdiğiniz açıktır. Gizli dinleyici, çoğunlukla hangi paketlerden dosya boyutundan indirdiğinizi de bulabilir. Bu nedenle, HTTPS yalnızca benzer boyuttaki diğer dosyaları da sunan bir sunucudan indirme yapıyorsanız yararlı olacaktır - üçüncü taraf paketler dışında hiçbir şey görmüyorum ve yalnızca çok olağan dışı durumlarda.

Yinelemek gerekirse, gerçek sunucuya bağlı olduğunuzu bildiğiniz HTTPS'nin olağan yararı, Ubuntu paketlerini indirirken işe yaramaz. Paketlerdeki imza doğrulaması, HTTPS'nin sağlayabileceğinden daha güçlü bir garanti veriyor.


11
Daha az güvenli olması değil, korumaya çalıştığınız şeyle daha az alakalı olması. APT ile, işleminizin içeriğini şifrelemek o kadar önemli değildir, çünkü indirdiğiniz şey çok tartışılmazdır: bu sadece birçok kişinin indirdiği Ubuntu paketleriyle aynıdır. Ancak önemli olan, aldığınız dosyaların tahrif edilmemesini sağlamaktır.
thomasrutter,

3
Birkaç hafta önce kaynakları https olarak değiştirmeye çalıştım ve işe yaramadı, apt-get updatebağlantılara erişmeye çalışırken hata bildirdi. Ppas ile: aynı. Deneyen var mı?
Strapakowsky

8
Depo (güncelleme sunucusu) bunun çalışması için https / SSL'yi desteklemelidir . Ana archive.ubuntu.com değil . Bir sunucunun URL’ye https: // ekleyerek ve bir dizin listesi alıp almadığınızı kontrol ederek tarayıcınızı kontrol edebilirsiniz.
ish

7
"4. adımdaki bir saldırgan meşru bir sunucuyu taklit edebilir ve paketin eski sürümlerini sunabilir." Aslında, paket bilgisine son kullanma tarihi vererek buna karşı koruyoruz. APT bu tarihten sonra aynanızın bayat olduğu konusunda uyarır.
tumbleweed

4
Listeyi oluşturan bir komut dosyasıyla birlikte HTTPS'yi destekleyen 15 aynanın listesi: pastebin.com/QY2TQ1dq
Shnatsel

13

APT ile, tipik olarak daha önemli olan, bağlantınızın şifrelenmiş olmaması değil, aldığınız dosyaların tahrif edilmemiş olmasıdır.

APT, bunu sağlamak için yerleşik imza doğrulamasına sahiptir.

Şifreleme, gizli dinleyicilerin ne indirdiğinizi görmesini engeller, ancak gerçekte ne indirdiğinizi (ve talep ediyorsanız) tartışmasızdır: binlerce diğer Ubuntu kullanıcısı indirdiği ve dosyalar da hiçbir şey içermeyen ile aynı olacaktır. t Birçok sunucuda serbestçe kullanılabilir. Yine de, özellikle hangi paketleri indirdiğinizle ilgili gizliliğe ihtiyacınız varsa, HTTPS kullanılabilir (kaynaklar listenizde belirtin).

APT'ye yerleşik olan imza doğrulaması, aldığınız dosyaların tahrif edilmediğinden emin olmanızı sağlar. Dosyaların nereden geldiği önemli değildir ve sunucu yükünü azaltmak veya hızlandırmak için siz ve sunucu arasında proxy'lerin olması veya proxy'lerin tersine çevrilmesi bile mümkündür. İmza doğrulaması, yalnızca orijinal dosya ve Ubuntu'nun özel anahtarının bir kopyasıyla şifreli olarak oluşturulabilecek imzayla eşleşen, değiştirilmemiş dosyayı almanızı sağlar.

HTTPS'ye geçerseniz, erişimi hızlandırmak veya artık yükü azaltmak için proxy sunucularından yararlanamayacaksınız. Ayrıca, APT'nin imza doğrulamasının zaten vermediği tahrifatsızlık konusunda daha fazla güvence sağlamıyordu. Bununla birlikte, gizli dinleyicilerin (İSS'niz gibi) hangi paketleri indirdiğinizi göremeyeceği (gizli kalması muhtemel olmayan ve Gilles'un dosya boyutundan tahmin edebileceğini belirttiği gibi) anlamına gelir.


3
HTTPS fazla gizlilik göstermez, çünkü dosyaların boyutu görülebilir. Aslında HTTPS'ye küçük bir yararı vardır; bu, ağ bağlantınızı denetleyen bir saldırganın eski verilerde sessizce kaymamasını sağlamasıdır. Biraz uzaklaştı.
Gilles 'SO- kötülük olmayı bırak'

6
Güzel nokta. "Eski veriler" derken, Ubuntu aynasının bir versiyonunu biraz daha eski sürümlerden oluşan, ama yine de Ubuntu'nun o sırada imzaladıklarından değiştirmeden değiştiren, ortada bir adam kastettiğinizi varsayıyorum.
thomasrutter

5
Evet, bu o. Biraz şakacı olduğumu söylemekte tereddüt etmeyin - bunun Bilgi Güvenliği değil Ubuntu'ya sorun olduğunu aklımda tutmam gerekiyor .
Gilles 'SO- kötülük olmayı'

Apt'de büyük bir delik var gibi gözüküyor - siz apt updateve siz ortada besleyen bir erkeğe sahte indeksler verdiğinizde, apt, ortadaki erkeğin size verdiği her şeyi alır ve / var / lib / apt / listeleri içine yazar. Bu sadece ortada kötü bir adamla değil, otel WiFi'sindeyseniz ve bir giriş sayfasına yönlendirildiğiniz gibi, eğer apt updategiriş yapmadan önce koşarsanız, / var / lib / apt / listeniz bozulur. Otel ana sayfasını HTML ile. SAHTE! Yine de, temel TLS sertifika kontrolü bunu derhal dışlar.
Marius

@Marius, listeleri ve paketleri içeren doğrulama nedeniyle bu mümkün olmamalıdır. Bunu standart bir Apt kurulumuyla yeniden oluşturduysanız, bunu bakıcıya bildirmelisiniz.
thomasrutter

1

Yeni APT sürümlerinde yerleşik TLS desteği vardır, bu nedenle paket havuzu ayna URL'lerinizi https-prefixed'ler ile değiştirmeniz yeterlidir . Debian için şöyle görünebilir:

deb https://deb.debian.org/debian/ stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb https://deb.debian.org/debian/ stretch-updates main

Bu, APT'nin paketlerin tahrif edilmediğinden emin olmak için kendi imza protokolünü içermesine rağmen yararlıdır, çünkü APT'de hatalar olabilir (olduğu gibi: CVE-2016-1252 , CVE-2019-3462 ). HTTP / TLS protokolleri ve şifreleri yoğun incelemeye tabidir; bu nedenle, bu güvenlik katmanını eklerseniz, ciddi bir sıfır günlük güvenlik açığı çok daha düşüktür.


Hata! Bu sitenin sadece Ubuntu Ask olduğunu anladım. :) Ubuntu için benzer bir CDN çözümü bulamadım.
Leif Arne Storset

0

Sanırım bu soru meslekten olmayanlara verilen talimatlarla bir cevap kullanabilir, yani…

APT hala varsayılan olarak Ubuntu 19.10 (Eoan) (hala geliştirilme aşamasında olan) günlük derlemelerinde HTTPS kullanmıyor. Bunu /etc/apt/sources.list dosyasını inceleyerek ve tüm kaynak URL’lerin "http:" URL şemasını kullandığını belirterek doğrulayabilirsiniz.

HTTPS kullanacak şekilde yapılandırmak için aşağıdaki yönergeleri takip edebilirsiniz:

İlk olarak , HTTPS'yi destekleyen güvenilir bir resmi Ubuntu arşiv aynası bulun:

  1. Ubuntu web sayfası için Resmi Arşiv Aynalarına gidin .
  2. Bu web sayfasındaki tabloda, güvenilir olduğunu düşündüğünüz web sitelerinde barındırılan (A) aynaları tanımlayın, (B) "http:" aynasına sahip ve isteğe bağlı olarak (C) coğrafi yakınlığınıza, sunucu hızınıza ve güncellemenize uygun tazelik tercihleri.
  3. Bu web sayfasındaki tabloda, aynanın "http:" versiyonunu ziyaret etmek için (2) adımında tanımlanan bir aynanın "http" bağlantısını tıklayın.
  4. Tarayıcı adres çubuğunda, web sayfasının URL'sindeki "http:" adresini "https:" olarak el ile değiştirin.
  5. Çözülüp çözülmediğini görmek için tekrar aynaya gidin ("https:" URL'si aracılığıyla).

Örneğin, Wikimedia Vakfı'nın güvenilir olduğunu düşünüyorum, bu yüzden http://mirrors.wikimedia.org/ubuntu/ mirror URL adresini ziyaret ettim ve ardından https://mirrors.wikimedia.org/ubuntu/ olarak değiştirerek başarıyla çözdüm.

Firefox'u (67.0.4) kullanıyorsanız ve "Tüm Siteleri Şifrele Uygun" özelliği etkinleştirilmiş (araç çubuğu düğme paneli aracılığıyla) HTTPS Everywhere (2019.6.27) uzantısını etkinleştirdiyseniz, (4) ve (5) numaralı adımları atlayabilirsiniz. çünkü uzantı, URL'yi HTTPS kullanacak şekilde otomatik olarak değiştirecek ve URL'nin "https:" sürümünün çözülüp çözülmeyeceğini hemen hemen belirlemesine izin verecek.

İkincisi , APT kaynakları listenizi güncelleyin:

  1. sudo cp /etc/apt/sources.list /etc/apt/sources.list.backupGüncelleme kaynakları listenizi yedeklemek için komutu yürütün .
  2. Buradaki https://mirrors.wikimedia.org olarak gösterilen ayna taban URL'sini , komutta tercih sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.listettiğiniz aynanın ayna taban URL'si ile değiştirin ve ardından komutu çalıştırın.

Üçüncüsü , Ubuntu arşivinin dışından yazılım yükledikten sonra /etc/apt/sources.list.d/ dizininin içeriğini "http:" kaynaklarının "https:" olarak değiştirilebileceğini incelemelisiniz.

Örneğin, Microsoft'un Visual Studio Kod paketi, bir "http:" URL'sini belirten bu dizine bir vscode.list dosyası ekler. URL şemasını "http:" den "https:" ye değiştirmek, HTTPS üzerinden güncellemelere izin verir.

Herhangi bir kaynak dosyayı değiştirmeden önce yedeklemeyi düşünün.

Son olarak , güncellemelerin doğru çalışmasını sağlamak için bir güncelleme yapın:

  1. Komutu yürütün sudo apt-get update.
  2. Bu beklendiği gibi çalışmazsa, sudo cp /etc/apt/sources.list.backup /etc/apt/sources.listkomutu yürüterek yaptığınız yedek kaynak listesi dosyalarını geri yükleyin .

APT'ye HTTPS desteği eklemek için apt-transport-https paketi bulunduğunu da belirtmekte fayda var . Bununla birlikte, bu paket https://launchpad.net/ubuntu/eoan/+package/apt-transport-https web sayfasına göre görünüşte gereksizdir ve komutun yürütülmesinden sonra gösterilen bilgilere göre APT 1.5'ten beri gerekli değildir apt-cache show apt-transport-https.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.