GCP - Add Custom SSH Metadata
GCP - Özel SSH Meta Verisi Ekleme
Meta verisinin değiştirilmesi
Bir örneğin meta verilerinin değiştirilmesi, bir saldırganın gerekli izinlere sahip olması durumunda önemli güvenlik risklerine yol açabilir.
Özel Meta Verilerine SSH Anahtarlarının Eklenmesi
GCP'de, Linux sistemleri genellikle Google Compute Engine için Python Linux Konuk Ortamı tarafından betikler çalıştırır. Bunun önemli bir bileşeni, yetkilendirilmiş SSH genel anahtarlarının güncellemelerini düzenli olarak kontrol etmek için örnek meta veri uç noktasını denetleyen hesaplar daemonu'udur.
Bu nedenle, bir saldırgan özel meta verileri değiştirebilirse, daemon yeni bir genel anahtar bulacak ve bu anahtar yerel sisteme entegre edilecektir. Anahtar, mevcut bir kullanıcının ~/.ssh/authorized_keys
dosyasına veya anahtarın biçimine bağlı olarak sudo ayrıcalıklarına sahip yeni bir kullanıcı oluşturulmasına eklenecektir. Ve saldırgan, ana bilgisayarı ele geçirebilecektir.
Varolan ayrıcalıklı kullanıcıya SSH anahtarı eklemek
Örnekteki Varolan SSH Anahtarlarını İnceleyin:
Örneği ve meta verilerini açıklayan komutu çalıştırarak mevcut SSH anahtarlarını bulun. İlgili bölüm çıktıda
metadata
altında olacak, özelliklessh-keys
anahtarı.
SSH anahtarlarının biçimine dikkat edin: kullanıcı adı, iki nokta üst üste ile ayrılan anahtarın önünde yer alır.
SSH Anahtar Meta Verisi İçin Bir Metin Dosyası Hazırlayın:
Kullanıcı adlarının ve bunlara karşılık gelen SSH anahtarlarının ayrıntılarını
meta.txt
adlı bir metin dosyasına kaydedin. Bu, yeni anahtarları eklerken mevcut anahtarları korumak için önemlidir.
Hedef Kullanıcı İçin Yeni Bir SSH Anahtarı Oluşturun (bu örnekte
alice
):
Yeni bir SSH anahtarı oluşturmak için
ssh-keygen
komutunu kullanın ve yorum alanının (-C
) hedef kullanıcı adıyla eşleştiğinden emin olun.
Yeni genel anahtarı, örneğin meta verilerinde bulunan formata benzeyerek
meta.txt
'ye ekleyin.
Örneğin SSH Anahtar Meta Verisini Güncelleyin:
Güncellenmiş SSH anahtar meta verisini
gcloud compute instances add-metadata
komutunu kullanarak örneğe uygulayın.
Yeni SSH Anahtarı Kullanarak Örneğe Erişin:
Yeni anahtar kullanarak SSH ile örneğe bağlanın ve hedef kullanıcının bağlamında kabuğa erişin (bu örnekte
alice
).
Yeni bir ayrıcalıklı kullanıcı oluşturun ve bir SSH anahtarı ekleyin
Eğer ilginç bir kullanıcı bulunamazsa, sudo
ayrıcalıklarına sahip yeni bir kullanıcı oluşturmak mümkündür:
Proje düzeyinde SSH anahtarları
Bir bulut ortamında proje düzeyinde SSH erişimini genişletmek için SSH anahtarlarını proje düzeyine uygulamak mümkündür. Bu yaklaşım, proje genelinde SSH erişimine izin veren herhangi bir örneğe SSH erişimine olanak tanır. İşte özetlenmiş bir rehber:
Proje Düzeyinde SSH Anahtarları Uygulama:
gcloud compute project-info add-metadata
komutunu kullanarakmeta.txt
dosyasındaki SSH anahtarlarını projenin meta verilerine ekleyin. Bu işlem, SSH anahtarlarının projedeki tüm örneklerde tanınmasını sağlar, ancak bir örnekte "Proje genelinde SSH anahtarlarını engelle" seçeneği etkinleştirilmişse bu durum geçerli olmaz.
Proje Genelinde Anahtarları Kullanarak Örneklerde SSH Yapma:
Proje genelinde SSH anahtarları kullanıldığında, projenin herhangi bir örneğine SSH yapabilirsiniz. Proje genelinde anahtarları engellemeyen örnekler, SSH anahtarını kabul ederek erişim sağlar.
Bir örneğe doğrudan SSH yapmanın bir yolu,
gcloud compute ssh [ÖRNEK]
komutunu kullanmaktır. Bu komut, mevcut kullanıcı adınızı ve projenin düzeyinde ayarlanan SSH anahtarlarını kullanarak erişim denemesi yapar.
Referanslar
Last updated