SSH anahtarları, sunucular ve bilgisayarlar arasındaki veri aktarımları sırasında BT sistemlerinin korunmasına yardımcı olur ve kuruluşlar tarafından sistemlerle güvenli bir şekilde iletişim kurmak ve sistemleri yönetmek için kullanılır. Ancak çoğu şirket SSH anahtarlarını yanlış yöneterek siber güvenliklerini riske atmaktadır. Bu makalede SSH protokolünün önemini, tarihçesini, faydalarını, nasıl çalıştığını ve çok daha fazlasını ele alıyoruz.
SSH anahtarları, kuruluşların güvenli bir şekilde iletişim kurması ve sistemleri yönetmesi için son derece önemli bir önlemdir. Ancak bu prosedürün gerekli güvenlik seviyesini sağlayabilmesi için iyi uygulamaların benimsenmesi şarttır.
Başlangıç olarak, ihlal edilen SSH kimlik bilgileriyle ilgili iki haberi burada bulabilirsiniz:
İlk vaka 2019’da gerçekleşiyor ancak 2020’de tespit ediliyor ve web sitesi barındırma şirketi GoDaddy’yi içeriyor. Alan adı kayıt kuruluşu, o dönemde yaklaşık 28.000 kullanıcının SSH kimlik bilgilerini etkileyen bir ihlalin hedefi haline geldiğini duyurdu. Kötü niyetli bir aktör, güvenlik sistemlerini atlamış ve sunucularında barındırılan SSH giriş verilerine erişmiş olabilir.
Neyse ki büyük bir sorun yaşanmadı ve kullanıcılar bilgilendirildi. Ancak şirket, açığa çıkan kullanıcı adlarını ve parolaları sıfırlayarak yetkisiz tarafı engellemek zorunda kaldı.
İkinci vaka 2021 yılında GitHub’ın Axosoft adlı geliştiriciden Git GUI istemcisi GitKraken’in zayıf anahtarlar üreten bir bağımlılığının güvenlik açığı konusunda bir uyarı almasıydı. Bu nedenle GitHub.com’da kullanılan savunmasız istemci sürümleri tarafından oluşturulan tüm anahtarları iptal etti.
Ayrıca aynı güvenlik açığı bağımlılığını kullanmış olabilecek diğer istemciler tarafından oluşturulan muhtemelen zayıf diğer anahtarlar da iptal edildi. Şirketin, GitKraken’in savunmasız sürümlerinin eski sürümler tarafından oluşturulan zayıf SSH anahtarlarını eklemesini önlemek için hala önlemler alması gerekiyordu.
Bu iki vaka çalışması, büyük kuruluşların SSH protokolünü yanlış yönetebileceğini ve sistemleri için risk açığını artırabileceğini göstermektedir.
SSH Protokolü: Nedir ve neden önemlidir?
Şu anda sunucularda ve veri merkezi ortamlarında kullanılan SSH, uygulamaların kapsüllenmesini sağlayarak veri iletimine olanak tanıyan bir protokoldür.
SSH anahtarları ile sistem yöneticileri ve uygulama geliştiricileri uzak sistemlere güvenli bir şekilde etkileşimli erişime sahip olurlar. Veri tabanı güncellemeleri, yedeklemeler, otomatik sistem yönetimi ve sistem sağlığı izleme uygulamalarında yaygın olarak kullanılan bir özelliktir.
Uygulamada SSH anahtarları, veri merkezlerinde ve genel olarak işletmelerde kullanılan otomatik dijital ağların işleyişinde çok önemli bir rol oynamaktadır.
Bu çözüm, uzaktan veya bulutta farklı ortamlarda dağıtılabilen diğer sistemler, platformlar ve ağlarla şifrelenmiş bağlantıları garanti eder.
SSH anahtarları, veri aktarımlarını şifrelemek için yararlı olan izole güvenlik tekniklerinin yerini alır. Ancak bu kullanımın uygun şekilde korunması, periyodik olarak analiz edilmesi, belgelenmesi ve sistematik olarak yönetilmesi gerekir. Bu süreç ciddiye alınmazsa tüm ortamın güvenliği riske girer.
SSH’ın tarihçesi
SSH protokolünün ilk versiyonu 1990’larda Helsinki Üniversitesi’nde araştırmacı Tatu Ylonen tarafından oluşturulmuştur. O dönemde, üniversitenin ağında, ağ trafiğini yakalayıp kaydedebilen ve kötü niyetli aktörlere kullanıcı adları ve parolaları ifşa edebilen bir Sniffing Saldırısı keşfedildi.
Sonuç olarak, binlerce kimlik bilgisi ihlal edildi. Araştırmacı ağları daha güvenli hale getirmenin yollarını aramaya başladı ve SSH protokolünü geliştirdi.
Şu anda SSH anahtarları bir sistemden diğerine uzaktan giriş yapmak için kullanılmaktadır. Ayrıca şifrelemenin sağladığı güvenlik, uzaktan komutlar verme ve ağ altyapısını ve diğer hayati sistem bileşenlerini uzaktan yönetme gibi işlevleri gerçekleştirmeyi mümkün kılar. Bu nedenle bu araç uzaktan çalışma eğilimiyle karakterize edilen günümüzde çok önemlidir.
SSH anahtarlarını kullanmadan önce bazı yazılımları kurmak gerekir. Uzak sistemlerin mutlaka SSH daemon adı verilen yazılıma sahip olması gerekirken komutları vermek ve uzak sunucuları yönetmek için kullanılan sistem SSH istemcisi olarak bilinen bir yazılım gerektirir. Bu, SSH protokolünü kullanarak uygun bir iletişim kanalı oluşturmanın tek yoludur.
SSH anahtarları kimlik doğrulamasının faydaları
SSH anahtarlarının işlevi sunucu ve istemci arasındaki trafiği şifrelemektir. Pratikte bu, eğer birisi bu trafiği gözetlemeye karar verirse verilerin şifresini düzgün bir şekilde çözemeyeceği anlamına gelir.
Bu çözüm aynı zamanda kaba kuvvet saldırılarına ve uzak makinelere erişmek için kullanılan saldırı vektörlerine karşı da koruma sağlar. Açık anahtarlı şifreleme ile ağ üzerinden parola göndermeye gerek kalmaz, bu da daha fazla güvenlik sağlar.
Bu anahtarların bir diğer avantajı, bir şirketi güvenlik düzenlemelerine uyumlu hale getirme olasılığıdır ancak bunun için gerekli korumayı garanti eden belirli yönergeleri izleyerek bunları oluşturmak, saklamak, yönetmek ve kaldırmak gerekir.
Bir kuruluş tarafından herhangi bir zamanda kullanılabilecek çok sayıda SSH anahtarı vardır. Bu nedenle bunları yönetmek ve riskleri azaltmak için yazılım kullanılması önerilir.
SSH anahtar türleri nelerdir?
SSH anahtarları, doğru yönetildiği takdirde bulut ve bilgisayara bağlı diğer hizmetlere güvenlik ve maliyet tasarrufu sağlar.
Bu özellik, erişim izni verdiği ve sisteme kimin erişeceğini kontrol ettiği için parolalara benzer bir işleve sahiptir. Bu yönetimi gerçekleştirmek için kullanıcı hesapları ve parolalarda yapılması gerektiği gibi güvenlik politikalarının benimsenmesi gerekir.
Ayrıca açık anahtarlı şifreleme kullanıldığı sürece SSH anahtarlarının kontrolünün sistemlere sürekli kullanılabilirlik, gizlilik ve bütünlük sağladığını vurguluyoruz.
Bu anahtarlar işlevlerine göre sınıflandırılır: Kullanıcı, ana bilgisayar ve oturum anahtarları.
- Kullanıcı Anahtarları
Bunlar, kullanıcılara oturum açma erişimi vermek için kullanılan yetkili ve kimlik anahtarlarıdır. Kimlik doğrulama mekanizması ortak anahtarlı kimlik doğrulama olarak bilinir.
Bu kimlik anahtarları SSH istemcileri tarafından kullanıcıların SSH sunucularında oturum açarken kimlik doğrulaması yapmalarını sağlamak için kullanılır.
- Ana Bilgisayar Anahtarları
Bu tür bir anahtar, bilgisayarların kimliğini doğrulamak ve ortadaki adam saldırılarını önlemek için tasarlanmıştır. Bu kimlik doğrulama sertifika tabanlıdır ve kuruluşlar için çok yararlı olabilir.
Kimlik doğrulama anahtarları tüm bağlantıları güvence altına almalıdır ve SSH’ın özelliklerinden biri ana bilgisayara ilk kez bağlanırken anahtarı hatırlamaktır.
- Oturum Anahtarları
Oturum anahtarları bir bağlantıdaki çoğu veriyi şifreleme işlevine sahiptir. Bu anahtar, bağlantı başlatma sırasında müzakere edilir. Daha sonra simetrik bir şifreleme algoritması ve veri korumasını sağlayan bir kimlik doğrulama kodu algoritması ile kullanılır.
SSH anahtarları nasıl oluşturulur?
SSH anahtarları bir “ortak” ve bir “özel” anahtarı bir araya getiren çiftler halinde oluşturulur. Bu süreçte karmaşık algoritmalar kullanılır böylece ortak anahtar bilinse bile özel anahtarın tahrif edilmesi veya tanımlanması olası değildir.
Özel anahtarlar gizli tutulmalı ve yalnızca yetkili bir kullanıcı tarafından kullanılmalıdır, ortak anahtarlar ise başkalarıyla paylaşılabilir.
SSH anahtarları oluşturmak için parola gibi bilgilerin girilmesi gerekir. Genel olarak, ortak ve özel anahtarları oluşturmak için kısa ifadeler kullanılır.
SSH anahtar erişimi nasıl çalışır?
SSH üzerinden bir bağlantı başlatmak için, sunucunun bir ana bilgisayar anahtarıyla ve kullanıcının bir genel anahtar veya parola kimlik doğrulamasıyla kimlik doğrulamasına ek olarak protokolün, şifreleme algoritmalarının ve oturum anahtarının müzakeresi gerçekleştirilir. Bundan sonra grafikler, dosyalar ve terminal verileri dahil olmak üzere bilgi alışverişi yapılır.
Açık anahtar kimlik doğrulaması, parolalar gibi diğer kimlik doğrulama araçlarından daha fazla güvenlik sağlar. Bu tür kimlik doğrulama, insan ve makineden makineye ayrıcalıklı erişim için yaygın olarak kullanılır.
Yanlış yönetilen SSH anahtarları, kötü niyetli kişiler tarafından altyapıyı fark edilmeden istila etmek için kullanılabilir. Sadece tek bir özel anahtarın tehlikeye atılması, tanımlanması zor arka kapı yapılandırmalarına ve veri ihlallerine neden olabilir.
SSH anahtarlarının yanlış yönetilmesi, Venafi’den Paul Turner ve diğer yazarlarla birlikte hazırlanan NIST Interagency Report 7966 (NISTIR 7966) “Security of Interactive and Automated Access Management Using Secure Shell (SSH)” başlıklı raporda sınıflandırılan güvenlik açıklarına neden olmaktadır.
SSH dağıtımı, sunuculara yetkisiz erişim elde etmek için yararlanılan güvenlik açıklarına neden olabilir. Aynı durum sızdırılan, çalınan, türetilen ve sonlandırılmayan SSH kullanıcı anahtarları için de geçerlidir.
Ayrıcalıklı erişimi atlatmak için yetkili kullanıcı anahtarlarıyla yapılan arka kapılar uzun süre fark edilmeyebilir. Ayrıca kimlik anahtarlarının orijinal amaçları dışında kullanılması da mümkündür.
SSH anahtarlarını kullanan sistemlerin güvenliğinin önündeki en büyük engel, SSH yönetiminin karmaşıklığı ve kullanıcıların bilgi eksikliği nedeniyle ortaya çıkan insan hatasıdır. Genellikle kapsamlı bir eğitim gereklidir.
SSH anahtarları güvenliği
SSH protokolünün güvenliğini güçlendirmek için denetçilere, şirketlere ve devlet kuruluşlarına yönelik NIST IR 7966’daki öneriler de dahil olmak üzere bazı önlemler önerilmektedir.
SSH anahtarlarını manuel olarak döndürmek, karmaşık olmayan ortamlarda bile bir seçenek olmamalıdır. Bunun nedeni, bu uygulamanın bir açık anahtara karşılık gelen özel anahtara sahip olan kullanıcının belirlenmesine yardımcı olmamasıdır.
Siber güvenliğe yatırım yapan kuruluşlar tarafından uygulandığı şekliyle ideal olan, SSH anahtar yönetimi veya otomatik ayrıcalıklı parola yönetimini (PPM) hedefleyen ve sistemler için benzersiz anahtar çiftleri oluşturmayı sağlayan bir teknoloji kullanmaktır.
Bunun nedeni otomatik çözümlerin SSH anahtarlarının oluşturulmasını ve rotasyonunu basitleştirmesidir. Böylece dağılmalarını ortadan kaldırarak güvenlikle birlikte üretkenlik sağlarlar.
SSH anahtarlarının güvenliğini sağlamak için en iyi uygulamalar
- Tüm SSH anahtarlarını belirleyin ve aktif yönetim altına alın. Bu, SSH anahtar dağılımını ortadan kaldırmak ve riskleri değerlendirmek için ilk adımdır. Bu, hangi kullanıcıların çeşitli anahtarlara erişebileceğini ve bunların nasıl kullanılacağını belirleme zamanıdır.
- SSH anahtarlarını birden fazla kişi tarafından erişilen bir hesaba değil tek bir kullanıcıya bağlayın. Bu şekilde, daha iddialı bir denetime sahip olunabilir ve erişim kontrolü sağlanabilir.
- En az ayrıcalık ilkesini (PoLP) dikkate alarak her kullanıcının yalnızca faaliyetlerini yürütmek için ihtiyaç duyduğu sistemlere erişiminin olmasını sağlayın. Bu önlem SSH anahtarının kötüye kullanım sıklığını azaltır.
- Kullanıcıların düzenli olarak yeni anahtarlar oluşturmasını gerektiren ve aynı parolaların birden fazla hesapta kullanılmasına izin vermeyen SSH anahtar rotasyonu uygulayın. Bu, kuruluşu parolanın yeniden kullanımından yararlanan suçluların saldırılarından korumaya yardımcı olur. Ancak dikkat: Kuruluşunuzda çok sayıda SSH anahtarı varsa bu işlem otomatik bir çözümle yapılmalıdır.
- Şifrelenmiş SSH anahtarları kullanmayın: Bu tür kimlik bilgileri koda gömülebilir, kötü amaçlı yazılımlar ve siber suçluların izinsiz girişleri için tehlikeli arka kapılar oluşturabilir. Basit parolalarla ilişkilendirilen gömülü anahtarlar, bu anahtarları parola tahminine karşı savunmasız hale getirir. Bu nedenle bu anahtarlar ortadan kaldırılmalıdır.
- SSH anahtar kimlik doğrulaması veya diğer kimlik doğrulama biçimleriyle başlatılan tüm ayrıcalıklı oturumlar günlüğe kaydedilmeli ve denetlenmelidir. Ayrıcalıklı bir oturumun yönetilmesi, canlı görüntüleme ve oynatmaya olanak tanıyan tuş vuruşlarının ve ekranların yakalanmasını içerebilir. Buna ek olarak, siber güvenliği güçlendirmek için ayrıcalıklı oturumların gerçek zamanlı olarak kontrol edilmesi önerilir.
SSH anahtarları şifreleme kategorileri
SSH anahtarları aracılığıyla güvenli iletişim şifrelemeye dayanır. Bazıları gerekli güvenliği sağlayan dört şifreleme kategorisi vardır:
- DSA: Mevcut bilgisayar teknolojisi karşısında savunmasız hale geldiği için güvensiz kabul edilen bir şifrelemedir. Bu şifreleme türü Openssh 7’den beri kullanılmamaktadır.
- ED25519: Çok güçlü bir matematiksel algoritmaya sahip olduğu için günümüzde en güvenli şifreleme seçeneğidir.
- ECDSA: Şifrelemenin kullanımı ABD Devlet Teknoloji İdaresi’nin (NIST) düzenleyici olmayan devlet kurumu tarafından tavsiye edilmemektedir. Bu şifrelemenin Ulusal Güvenlik Ajansı (NSA) tarafından kurulmuş bir arka kapısı olduğu bilinmektedir.
- RSA: Şifreleme türü yaygın olarak kullanılmaktadır ve güvenliği kullanılan anahtardaki bit sayısına bağlıdır. Bugün için 3072 veya 4096 bit şifreleme en uygun olanıdır. 2048’den daha düşük şifrelemeye sahip SSH anahtarları güvensiz kabul edilir.
SSH anahtarlarının güvenliğine ilişkin veriler
Venafi tarafından yapılan bir anket, çoğu şirketin SSH protokolünü düzgün kullanmadığına işaret etti. Aşağıda, 400’den fazla siber güvenlik uzmanıyla görüşülen bu anketten elde edilen veriler yer almaktadır:
- Katılımcıların %61’i SSH’ı yönetebilecek yönetici sayısını sınırlamadıklarını ve hatta izleme yapmadıklarını belirtmiştir.
- Bu kurumların yalnızca %35’i kullanıcıların yetkili anahtarları yapılandırmasını yasaklamaktadır, bu da sistemleri izinsiz girişlere karşı savunmasız hale getirmektedir.
- Ankete katılan profesyonellerin %90’ı SSH anahtarlarının doğru bir kaydına sahip olmadıklarını yani güvenilmeyen veya hatta ihlal edilen bir anahtar olup olmadığını tespit etmenin imkânsız olduğunu söyledi.
- Bilgisayar korsanlarının erişimini engellemek için anahtarların periyodik olarak rotasyona tabi tutulması tavsiye edilmektedir. Ancak katılımcıların yalnızca %23’ü bu uygulamayı takip ettiklerini belirtmiştir. Ara sıra döndürdüklerini veya hiç döndürmediklerini söyleyenlerin sayısı ise %40’a tekabül etmektedir.
- SSH için port yönlendirme, saldırganların güvenlik duvarlarını aşmasını ve hedef ağın diğer bölümlerine ulaşmasını mümkün kılar ancak ankete katılan bilgi güvenliği uzmanlarının %51’i bunun olmasını önlemek için hiçbir şey yapmadıklarını söyledi.
- %54’ü SSH’ın kullanılabileceği yerleri sınırlamadıklarını ortaya koymuştur, bu da saldırganların ele geçirilmiş SSH anahtarlarını uzaktan kullanmasını mümkün kılmaktadır.
- Kurumların %60’ı yeni SSH anahtarlarının ağlarına girişini tespit etmeye hazır değil.
- SSH anahtarlarının süresi asla dolmaz. Sonuç olarak şirketlerin %46’sı anahtarlarını hiç rotasyona tabi tutmamıştır.
- %76’sının bulutta SSH anahtarlarını kullanan güvenlik sistemleri yok.
- Ponemon Enstitüsü’ne göre, her dört kuruluştan üçü kök düzey saldırılara karşı savunmasızdır.
- Sistem yöneticisi grupları SSH anahtarlarını paylaşır, bu nedenle tek bir kişinin hesap verebilirliğinin olmaması tüm protokolün güvenliğini tehlikeye atabilir.
- Tipik olarak sunucular, iş istasyonlarının aksine iyi korunur. Ancak özel anahtar dosyası iş istasyonlarında kalır ve ihlal edilebilir.
- Büyük devlet kurumları, çalışanlarının eylemleri, kötü niyetli aktörler ve varoluşsal virüslerle ilgili güvenlik riskleriyle karşı karşıyadır. Aynı durum neredeyse tüm Fortune 500 kuruluşları ve dünya çapında 10.000’den fazla çalışanı olan 10.000 şirketin çoğu için de geçerlidir.
- Çalıntı kimlik bilgilerinin kullanımı 2011 ve 2012’de en çok tekrarlanan üçüncü saldırı nedeni iken 2013’te birinci vektör haline gelmiştir.
SSH anahtarlarının senhasegura tarafından yönetimi
senhasegura, bu anahtarları korumak için depolama, döndürme ve erişim kontrolü yoluyla SSH anahtarlarının döngüsünü güvenli bir şekilde kontrol etmeyi mümkün kılan işlevsellik sunar.
Avantajları arasında SSH anahtarları aracılığıyla ayrıcalıklı hesaplara yetkisiz erişimin engellenmesi, kullanımlarının kontrol edilmesi, izlenmesi ve anahtarlar ile sistemler arasındaki güven ilişkilerinin yönetilmesi yer alır.
Uygulamada, çözüm SSH anahtarlarının yönetimini merkezileştirir ve çiftlerini şirketinizin güvenlik politikalarına göre otomatik olarak döndürür. Aşağıda, ana işlevlerini özetliyoruz:
- Linux sunucularının taranması ve SSH anahtarlarının tanımlanması
- Sunucular arasındaki bağlantı ilişkilerinin organizasyonu
- Manuel yayımlama ile tuşların sıfırlanması
- SSH anahtarlarının yayımlanması
- SSH anahtar eşleme raporları
- Bu anahtarların kullanımına ilişkin raporlama ve erişim günlükleri
Sonuç
Bu makaleyi okuyarak, SSH anahtarlarının yanı sıra tarihçesi ve siber güvenlik için önemi hakkında bilgi edindiniz. İçeriğimiz sizin için faydalı olduysa lütfen konuyla ilgilenebilecek diğer kişilerle de paylaşın.