Belge

Linux paket yönetiminde süresi dolmuş GPG anahtarlarıyla ilgilenme

Bu kılavuzda GPG anahtarlarının önemini, Linux paket yönetim sistemlerinde süresi dolmuş anahtarların nasıl belirleneceğini ve güvenli ve sorunsuz bir yazılım deposu deneyimi sağlamak için sisteminizin anahtar halkasını güncelleme ve bakımını yapma yöntemlerini tartışacağız.

En sadık hayranlar bile, Linux’ta, süresi dolmuş GPG anahtarlarıyla uğraşmak gibi bazı yönlerin biraz sıkıcı olabileceğini kabul etmelidir. Sistemlerimizin güvenliğini sağlamak için hayati bir bileşen olsa da, bazen üretkenliğimizi azaltabilir.

Bu yazıda, Linux paket yönetiminde süresi dolmuş GPG anahtarlarını yönetme sürecinde size yol göstereceğim, GPG anahtarlarının önemini, nasıl sona erebileceklerini ve bunları güncellemek veya değiştirmek için gereken adımları keşfedeceğiz. Yol boyunca, Linux paket yönetiminin bu yönünü daha iyi anlamanıza ve yönlendirmenize yardımcı olacak bazı temel alt konuların yanı sıra bazı kişisel görüşleri ve tercihleri ​​de paylaşacağız. Başlayalım!

GPG anahtarları neden önemlidir?

GPG (GNU Privacy Guard) anahtarları, Linux paket yönetim sistemlerindeki paketlerin bütünlüğünün ve orijinalliğinin sağlanmasında hayati bir rol oynar. Kurduğumuz paketlerin güvenilir kaynaklardan geldiğini ve kurcalanmadığını doğrulamamıza izin veriyorlar. Özellikle günümüzde artan sayıda siber tehdit göz önüne alındığında, bunun güvenli bir sistemi sürdürmede ne kadar önemli olduğunu ne kadar vurgulasak azdır.

GPG anahtarlarının süresi nasıl dolabilir?

GPG anahtarlarının, genellikle anahtarı oluşturan kişi tarafından belirlenen, önceden tanımlanmış bir son kullanma tarihi vardır. Son kullanma tarihi, güvenliği ihlal edilmiş anahtarların uzun süreli istismarını önlemek için alınan bir güvenlik önlemidir. Ancak bu, kullanıcılar olarak, paket kurulumları ve güncellemeleri sırasında sorun yaşamamak için anahtarlarımızı güncellemeye devam etmemiz gerektiği anlamına gelir.

GPG anahtar güncellemelerini anlama: Otomatik ve manuel

Diğer Linux kullanıcılarından sık sık duyduğum bir soru, GPG anahtarlarının manuel olarak güncellenmesinin gerekip gerekmediği veya bunun sistem güncellemeleri tarafından halledilip halledilmediğidir. Cevap, duruma bağlı.

Çoğu durumda, resmi depolar için GPG anahtarları, sistem güncellemeleri aracılığıyla otomatik olarak güncellenir. Linux dağıtımınız yeni bir sürüm yayınladığında veya bir güvenlik güncellemesi yayınladığında, genellikle resmi depoları için güncellenmiş GPG anahtarlarını içerir. Resmi depoları kullanırken süresi dolmuş anahtarlar hakkında endişelenmenize gerek kalmayacağından bu, çoğu kullanıcı için sorunsuz bir deneyim sağlar.

Ancak, üçüncü taraf havuzları veya özel olarak eklenen havuzlar için GPG anahtarı güncellemeleri otomatik olarak işlenmeyebilir. Bu durumlarda, süreleri dolduğunda anahtarları manuel olarak güncellemeniz gerekir. Bu, özellikle daha küçük projelerden gelen yazılımlar veya otomatik anahtar güncellemelerini uygulayacak kaynaklara sahip olmayan bireysel geliştiriciler için geçerlidir.

Üçüncü taraf depoları için GPG önemli güncellemelerini takip etmenin Linux kullanmanın gerekli bir parçasıdır. Bazen biraz rahatsız edici olabilse de, sisteminizin güvenliğini sağlamak için çok önemlidir.

Genel olarak, resmi havuzlar için GPG anahtarları genellikle sistem güncellemeleri aracılığıyla otomatik olarak güncellenirken, üçüncü taraf depo anahtarları manuel müdahale gerektirebilir. Kullanmakta olduğunuz depoların ve bunlarla ilişkili GPG anahtarlarının farkında olmak her zaman iyi bir fikirdir, böylece gerektiğinde harekete geçebilirsiniz.

Linux sisteminizde süresi dolmuş GPG anahtarlarını belirleme

Linux sisteminizde süresi dolmuş GPG anahtarlarını nasıl kontrol edeceğinizi bilmek, güvenli ve sorunsuz bir paket yönetimi deneyimi sağlamak için çok önemlidir. Bu bölümde, olası sorunlardan bir adım önde olmanıza yardımcı olabilecek Ubuntu ve diğer Debian tabanlı sistemlerdeki yazılım depolarıyla ilgili süresi dolmuş GPG anahtarlarını tespit etme sürecinde size yol göstereceğim.

Tüm GPG anahtarlarını listeleme: Sisteminiz tarafından kullanılmakta olan tüm GPG anahtarlarını görmek için aşağıdaki komutu çalıştırın:

sudo apt-key list

Bu komut, anahtar kimliği, parmak izi ve son kullanma tarihi gibi ilişkili bilgileriyle birlikte tüm GPG anahtarlarının bir listesini görüntüler.

Süresi dolmuş anahtarları kontrol edin: Çıktıyı incelerken son kullanma tarihlerine çok dikkat edin. Süresi dolmuş anahtarlar, son kullanma tarihinin yanında “süresi doldu” metniyle işaretlenecektir.
Örneğin:

pub rsa4096 2016-04-12 [SC] [expired: 2021-04-11]
1234 5678 90AB CDEF 0123 4567 89AB CDEF
uid [ expired] Sample Repository <[email protected]>

Sistemimizdeki aşağıdaki örnekte, şu an itibariyle süresi dolmuş GPG anahtarı yok.

displaying gpg keys in pop! os

Süresi dolmuş anahtarları not alın: Süresi dolmuş herhangi bir GPG anahtarı bulursanız. GPG anahtar kimlikleri, kısa veya uzun anahtar kimlikleri olmalarına bağlı olarak 8 veya 16 karakter uzunluğunda olabilir. Kısa anahtar kimlikleri, anahtarın parmak izinin en önemsiz 8 karakteridir, uzun anahtar kimlikleri ise en önemsiz 16 karakterden oluşur.

Sisteminizde süresi dolmuş GPG anahtarlarını düzenli olarak kontrol etmek, sağlıklı bir paket yönetim ortamı sağlamak için iyi bir uygulamadır. Süresi dolmuş anahtarları proaktif bir şekilde tanımlayarak ve ele alarak, paket kurulumları ve güncellemeleriyle ilgili sorunlardan kaçınabilirsiniz. Bir Linux kullanıcısı olarak, bunu sistemimi güvenli ve güncel tutmama yardımcı olan değerli bir alışkanlık olarak gördüm.

Artık GPG anahtarları hakkında her şeyin farkında olduğunuza göre, size süresi dolmuş anahtarları manuel olarak nasıl güncelleyeceğinizi gösterelim.

Süresi dolmuş GPG anahtarları güncelleme

Süresi dolmuş bir anahtarı güncellerken, anahtarı anahtar sunucusunda benzersiz şekilde tanımladığı sürece kısa veya uzun anahtar kimliğini kullanabilirsiniz. Ancak, kısa anahtar kimliklerinin çarpışma riski daha yüksek olduğundan, daha iyi güvenlik için uzun anahtar kimliğinin kullanılması önerilir.

Süresi dolan anahtarı long key ID kullanarak güncellemek için KEY_ID yerine long key ID bilgisini yazın:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys LONG_KEY_ID

Gördüğünüz gibi bir Ubuntu keyserver kullanıyoruz. Bu aklınıza bir soru getirebilir. Ubuntu anahtar sunucusunu Ubuntu olmayan Linux dağıtımım için kullanabilir miyiz, örneğin Pop!_OS?

Cevap evet; Pop!_OS için süresi dolan GPG anahtarlarını güncellemek için Ubuntu anahtar sunucusunu kullanabilirsiniz. Pop!_OS Ubuntu tabanlıdır ve Ubuntu’nun birçok deposunu ve paket yönetim altyapısını paylaşır. Ubuntu keyserver, Pop!_OS dahil olmak üzere Ubuntu ve türevleri için GPG anahtarlarını barındırır.

Ancak, süresi dolan anahtar belirli bir üçüncü taraf deposuyla veya Ubuntu veya Pop!_OS ile ilişkili olmayan özel eklenmiş bir depoyla ilgiliyse, farklı bir anahtar sunucusu kullanmanız veya güncellenmiş anahtarı doğrudan deponun bakımcılarından almanız gerekebileceğini unutmayın.

İtiraf etmeliyim ki, anahtar sunucularının biraz güvenilmez olabildiğini sık sık gördüm, bu nedenle farklı bir anahtar sunucusu denemeniz veya komutu birkaç kez yeniden denemeniz gerekebilir.

Güncellenmiş anahtarı doğrulayın: Güncellenmiş anahtarı başarıyla içe aktardıktan sonra, aşağıdaki komut ile doğrulayabilirsiniz:

sudo apt-key list

Her şeyin yolunda olduğundan emin olmak için anahtar bilgileri iki kez kontrol etmek için her zaman bir dakikanızı ayırın.

Paket bilgilerinizi güncelleyin: Güncellenmiş anahtar yerindeyken, artık paket bilgilerinizi çalıştırarak güncelleyebilirsiniz:

sudo apt update

Güncelleme işlemi sonunda herhangi bir GPG anahtarı hatası olmadan tamamlandığından emin oluyoruz.

Ek ipuçları

GPG anahtarlarınızı yedekleyin: GPG anahtarlarınızı kaybetmek oldukça sorunlu olabileceğinden, anahtarlarınızın bir yedeğini oluşturmanızı şiddetle tavsiye ederiz. Anahtarlarınızı bir dosyaya aktarmak için aşağıdaki komutu kullanın:

sudo apt-key exportall > ~/gpg-keys-backup.asc

Anahtar son kullanma tarihlerini kontrol edin: Sudo apt-key list kullanarak GPG anahtarlarınızın son kullanma tarihlerini ara sıra kontrol etmek iyi bir uygulamadır. Bu şekilde, olası sorunları paket yönetiminizi bozmadan önce tahmin edebilir ve ele alabilirsiniz.

Linux paket yönetim sistemleri geliştikçe, GPG anahtarlarının yönetilme biçiminde bazı değişiklikler yapılmıştır. Bu değişiklikleri anlamak, sisteminizin anahtarlığını daha etkili bir şekilde yönetmenize yardımcı olabilir.

gpg –list-keys ve kullanımdan kaldırılan apt-key list arasındaki farkları anlama

Kullanımdan kaldırılan apt-key list komutu

apt-key list, özellikle Ubuntu, Debian ve diğer Debian tabanlı sistemlerdeki yazılım depolarıyla ilgili GPG anahtarlarını yönetmek için kullanılan eski bir komuttur. Bu komutu çalıştırmak, paket güncellemeleri ve yüklemeleri sırasında depolardaki paketlerin kimliğini doğrulamak ve doğrulamak için kullanılan apt anahtarlığında saklanan GPG anahtarlarını görüntüler.

Bununla birlikte, Ubuntu 20.04 ve Debian 11’den bu yana, apt-key komutu, depo imzalama anahtarlarını aşağıdaki konumlarda bulunan ayrı dosyalarda saklamak lehine kullanımdan kaldırılmıştır

Yeni gpg -list-keys komutu

gpg –list-keys komutu, bir kullanıcının GPG anahtarlığındaki tüm genel GPG anahtarlarını listelemek için kullanılır. Sadece paket yönetimi için değil, çeşitli uygulamalar için anahtarları görüntülemek için kullanılabilen genel amaçlı bir komuttur. Çıktı, anahtar kimliklerini, parmak izlerini ve ilişkili kullanıcı kimliklerini (adlar ve e-posta adresleri) içerir. Özel anahtarları listelemek için gpg –list-secret-keys komutunu kullanabilirsiniz.

Bu komut, bireysel kullanıcı anahtarlıklarına odaklandığı ve anahtar yönetimine daha çok yönlü bir yaklaşım sunduğu için GPG anahtarlarını yönetmenin önerilen yolu haline gelmiştir. Ancak bunu söyledikten sonra, bu yeni bir sistem olduğundan, gpg –list-keys komutunun sisteminizde hiçbir şey göstermemesi mümkündür.

Eğer gpg –list-keys herhangi bir çıktı göstermiyor ancak apt-key list anahtarların bir listesini gösteriyorsa, sisteminizdeki GPG anahtarları genel amaçlar ve paket yönetimi için farklı şekilde yönetiliyor demektir.

gpg –list-keys kullandığınızda, e-posta şifreleme, dosya imzalama veya güvenlik için GPG kullanan diğer uygulamalar gibi genel kullanım için tasarlanmış olan kullanıcınızın GPG anahtarlığındaki genel anahtarları listeler.

Öte yandan, apt-key list Ubuntu, Debian ve diğer Debian tabanlı sistemlerdeki yazılım depoları ile ilgili GPG anahtarlarını görüntüler. Bu anahtarlar apt anahtarlığında saklanır ve paket güncellemeleri ve yüklemeleri sırasında depolardaki paketlerin kimliğini doğrulamak ve doğrulamak için kullanılır.

Özetle, iki komut farklı anahtarlıklardan anahtarları listeler:

  • gpg –list-keys, kullanıcınızın genel amaçlar için kullanılan GPG anahtarlığındaki anahtarları listeler.
  • apt-key list, özellikle paket yönetimi için kullanılan apt anahtarlığındaki anahtarları listeler.

Eğer apt-key list çıktısında anahtarlar görüyor ancak gpg –list-keys çıktısında göremiyorsanız, sisteminizde paket yönetimi ile ilgili GPG anahtarları var ancak kullanıcı anahtarlığınızda genel amaçlı GPG anahtarları yok demektir.

Ubuntu 20.04 ve Debian 11’den bu yana apt-key komutu kullanımdan kaldırılmıştır. Daha yeni sistemlerde, depo imzalama anahtarları aşağıdaki konumlarda bulunan ayrı dosyalarda saklanır

sudo find /etc/apt/trusted.gpg.d/ -type f -name "*.gpg" -exec gpg --no-default-keyring --keyring {} --list-keys \;

finding gpg keys in newer linux distros

Bu komut, /etc/apt/trusted.gpg.d/ dizinindeki tüm .gpg dosyalarını bulmak için find kullanır ve ardından -exec işaretini kullanarak her dosyayı gpg –list-keys komutuna iletir. gpg komutu, içinde depolanan anahtarları görüntüleyerek her dosya için yürütülür.

Sonuç olarak

Süresi dolmuş GPG anahtarlarıyla uğraşmak, Linux paket yönetiminin ayrılmaz bir parçasıdır. Biraz can sıkıcı olabilse de, güvenli bir sistemi sürdürmek için gereklidir. Bu makalede belirtilen adımları izleyerek ve bazı en iyi uygulamaları benimseyerek, süresi dolmuş GPG anahtarlarının iş akışınız üzerindeki etkisini en aza indirebilirsiniz.

Yazının orijinalini buradan okuyabilirsiniz.