SSH (Secure Socket Shell) Nedir ve Nasıl Çalışır?

Bilgisayarların internet üzerinden birbirleriyle nasıl güvenli bir şekilde haberleştiğini hiç merak ettiniz mi? Secure Socket Shell (SSH) herhangi bir bilgisayar ve sunucu arasında güvenli bir şekilde veri aktarımı yapmanızı sağlayan bir ağ protokolüdür. Secure Socket Shell (SSH)’in tarihi, 1995 yılına kadar uzanır, ancak başlangıcından bu yana çeşitli gelişmelerden geçmiştir, ancak yine de Bilgi Teknolojileri Uzmanlarının en önemli kavramlarından biri olmaya devam etmektedir.

SSH Nedir?
SSH ‘ın anlamı çok karmaşıktır ve gerçekte çoğu insanın kafasını karıştırmaktadır. İyi haber şu ki, bunu tam olarak anlamanıza gerek yoktur. Bilgi Teknolojileri uzmanı değilseniz sadece temel bilgileri bilmeniz yeterlidir. Tanım olarak SSH, kullanıcıların SSH Anahtarlarını kimlik bilgisi gibi kullanarak bir bilgisayara veya başka bir cihaza uzaktan erişim elde etmelerini sağlayan bir ağ protokolüdür. Çoğu durumda, SSH yalnızca yüksek düzeyde hassas verileri şifrelemeye ihtiyaç duyan cihazlar için uygulanır.

SSH ‘ın en yaygın kullanım alanları şunlardır:

  • Bakım İşlemlerini Gerçekleştirecek veya Destek Sağlayacak Uzaktan Erişim Cihazları
  • Bir Cihazdan Diğerine Dosya Aktarımı
  • Komutları Uzaktan Yürütmek
  • Bir Ofisteki Cihazları Güncelleme

SSH ‘ın sunduğu bir çok güvenlik avantajı nedeniyle, daha sonraları uzaktan erişim için standart haline geldi. Nasıl çalıştığına bir göz atalım.

SSH Nasıl Çalışır?
Bu, daha gelişmiş ağlarda oldukça karmaşık hale gelebilir, bu yüzden basit anlatım ile tutmakta fayda vardır. Diyelim ki bilgisayarınızdan bir dosyayı depolamak için bir sunucuya aktarmak istiyorsunuz. Oldukça standart bir şey. SSH kullanmadıysanız, o dosya veri aktarımı sırasında nereye bakacağını bilen herkes tarafından okunabilir.  Tahmin edebileceğiniz gibi, hassas veriler için bu bir problem teşkil eder. İşte burada SSH devreye girmektedir. Bu verilere erişmek ve onu okumak için sadece kullanıcı ile sunucunun bildiği SSH Anahtarlarına ihtiyacınız olacaktır. Bu nedenle, biri dosyayı aktarırken okumaya çalışırsa bile, şifrelemesinden dolayı dosyayı okuyamayacaktır.

SSH Protokolünün Katmanları Nelerdir?
Biraz daha derine inersek, bu protokolün karşılıklı çalışmalarını incelersek, üç farklı kısmı olduğunu fark edeceksiniz. Bunlar katman olarak bilinmektedir ve  bu katmanlar şunlardan oluşur:

  1. Transport Katmanı
  2. User Authentication Katmanı
  3. Connection Katmanı

Şimdi bu katmanları daha yakından inceleyelim

1.Transport Katmanı
Adından da anlaşılacağı gibi, bu katman, cihazlar arasındaki anahtar alışverişini kontrol eder. Ayrıca, etkileşim süresi boyunca bu cihazlar arasında meydana gelen şifreleme ve sıkıştırmayı da yönetmektedir. Bu katman içinde yalnızca düz metin taşınmaktadır.

2.User Authentication Katmanı
Bu katman, süreç boyunca kimlik doğrulamanın kontrolünde olduğu için protokolün çekirdeğidir diyebiliriz. Kullanılan dört ana kimlik doğrulama yöntemi vardır. Bunlar aşağıdaki gibidir:

1.Parola: Parolalar en çok aşina olduğumuz yöntemdir. Kullanıcı bir şifre girer ve doğruysa erişim elde eder. Kullanıcılar için basit ve kolay olsa da, daha güvenli seçenekler mevcuttur.

2.Genel/Özel Anahtar: Görünüşte bunlar parolalara benzer, ancak bir kuruluşun Bilgi Teknolojileri ekibi tarafından sıkı bir şekilde yönetilir. Açık anahtarlar çiftler halinde oluşturulur, diğeri özel anahtar olarak bilinir. Genel anahtar, ihtiyacı olan herkesle paylaşılırken, özel anahtar yalnızca birkaç kişi tarafından bilinir.

3.Keyboard Interactive: En basit tabiriyle, bu, sunucunun bir soru soracağı İki Faktörlü Doğrulama (2FA) ile karşılaştırılabilir. Cevap doğruysa, kullanıcının bağlantıya erişmek için kullanabileceği tek seferlik bir şifre sağlayacaktır.

4.GSSAPI: Genel Güvenlik Hizmeti Uygulama Programlama Arayüzü (GSAAPI), Microsoft Windows tarafından kullanılan Kerberos güvenlik sistemine erişmek için kullanabileceğiniz ortak bir arayüzdür. Kimlik Doğrulama Katmanı, kullanıcının etkileşimde bulunacağı ve parolalarını girip giremeyeceği katmandır.

3.Connection Katmanı
Son olarak, bu katman cihazlarınızı kanalları kullanarak birbirine bağlamakla ilgilidir. Bir bağlantının birden fazla iletişim kanalı olabilir ve bu kanallar tek yönlü olmayabilir. Aynı anda hem veri gönderip, veri alabilirler. Ayrıca bağlantı (terminal) penceresinin görünümü gibi diğer bazı küçük şeyleri de kontrol eder.

Farklı SSH Şifreleme Türleri
SSH şifrelidir, ancak bunu başarmanın birden çok yolu vardır. Her yöntemin kendi avantajları ve dezavantajları vardır, bu nedenle farklı durumlarda farklı yöntemler kullanılır. En yaygın üç şifreleme yöntemine bir göz atalım.

1.Simetrik Şifreleme
Basitçe söylemek gerekirse, simetrik şifreleme, şifrelemek ve şifresini çözmek için kullanılabilecek yalnızca bir şifreleme anahtarının olduğu zamanda kullanılır. Veya başka bir deyişle, anahtara erişimi olan herkes bu yöntemi kullanan herhangi bir veriyi şifreleyebilir veya şifresini çözebilir.  Bu yöntem, yalnızca verileri değil, tüm süreci şifrelemek için de kullanılabilir. Anahtar, oldukça karmaşık olan, anahtar değişim algoritması olarak bilinen bir işlemle oluşturulur. Esasen, her iki taraf da biraz bilgi sağlar ve anahtar oluşturulur. Genel olarak, bu tür şifreleme oldukça popülerdir ve verilerden girilen şifrelere kadar her şeyi şifreler.

2.Asimetrik Şifreleme
Kullanıcı Doğrulama katmanına geri dönersek, özel ve genel anahtarlardan bahsedilmişti. Bu kimlik doğrulama yöntemini kullanacak olsaydınız, bu iki anahtarı kullanmak zorundasınız. En basit haliyle, asimetrik şifreleme, simetrik şifreleme içind e gerçekleşir (çünkü her şeyi şifreler) ve iki cihaz, simetrik şifreleme için sır görevi gören ortak anahtarı kullanır. Bu şifrelemeyi kullanmanın birden çok yolu olduğundan, bu yalnızca bir olasılıktır.

3.Hashing
Hashing, son iki şifreleme yönteminden farklıdır. Bu yöntemde, benzersiz bir karma dizisi oluşturmak için bir karma algoritması kullanılır. Makine daha sonra bu hash dizesini, onu açmak için gereken hash değeriyle birlikte gönderir. Verileri alan makine algoritmayı tanır ve verileri açmak için değeri uygulayabilir. Değerler eşleşmiyorsa, veriler bozulmuştur veya okunamaz.

About The Author

Reply