SSH Nedir?
24.09.2020 4:14 2450 Görüntüleme

SSH Nedir?

SSH, iki bilgisayarın, İnternet gibi potansiyel olarak güvenli olmayan bir ağ içinde güvenli ve doğrudan bir bağlantı kurmasını sağlar. Bu, üçüncü tarafların veri akışına erişememesi ve hassas verilerin yanlış ellere geçmesi için gereklidir. Secure Shell’den önce bile, iki bilgisayar arasında doğrudan bağlantı kurma seçenekleri vardı, ancak Telnet, Remote Shell veya rlogin gibi ilgili uygulamalar sürekli olarak güvensizdi. SSH, iki bilgisayar arasındaki bağlantıyı şifreler ve ikinci bir bilgisayarın bir bilgisayardan çalıştırılmasını sağlar.

SSH yalnızca şifreli bir bağlantı sağlamakla kalmaz, aynı zamanda bu amaç için tasarlanan bilgisayarlar arasında yalnızca bağlantıların kurulmasını (yani ortadaki adam saldırısı mümkün değildir) ve ilgili verilerin alıcılar manipüle edilebilir. Uzak bilgisayara başlangıçta her zaman komut satırı üzerinden erişilirdi. Uzak cihaza komut göndermek için kullanılırlar. Bununla birlikte, bu arada, kendi bilgisayarınızda bir grafik kullanıcı ara yüzünü (sunucularda her zaman mevcut olmayan) yansıtmak ve böylece diğer bilgisayarı kontrol etmek için Sanal Ağ Hesaplamasını (VNC) kullanmak da mümkündür.

SSH’nin Birçok Farklı Kullanımı Vardır:

  • Yerel olarak erişilemeyen sunucuların yönetimi
  • Güvenli dosya aktarımı
  • Güvenli yedekleme oluşturma
  • Uçtan uca şifrelemeli iki bilgisayar arasında bağlantı
  • Diğer bilgisayarlardan uzaktan bakım
  • SSH’nin gelişimi diğer protokolleri de etkiledi. Örneğin, dosyaları bir sunucuya yüklemenin ve ardından tekrar indirmenin mümkün olduğu güvenli olmayan FTP protokolü, SSH Dosya Aktarım Protokolü (SFTP) olarak daha da geliştirilmiştir.

SSH’nin bir avantajı, protokolün tüm yaygın işletim sistemlerinde çalışmasıdır. Başlangıçta bir Unix uygulaması olduğundan, tüm Linux dağıtımlarında ve macOS’ta da varsayılan olarak uygulanır. Ancak SSH, uygun bir program yüklemeniz koşuluyla Windows altında da kullanılabilir.

SSH Nasıl Çalışır?

Secure Shell birkaç şifreleme ve kimlik doğrulama tekniği kullanır. Bir yandan bu, veri akışlarının okunamamasını veya değiştirilememesini sağlar. Öte yandan, yalnızca yetkili katılımcılar birbiriyle iletişime geçebilir.

Doğrulama

İlk adımda, SSH sunucusu ve istemci birbirinin kimliğini doğrular. Sunucu, istemciye gerçekten doğru sunucu olduğunu doğrulamak için bir sertifika gönderir. Yalnızca ilk temasta üçüncü bir tarafın iki katılımcı arasında geçiş yapma ve bağlantıyı kesme riski vardır. Sertifikanın kendisi de şifrelendiğinden, kimliğine bürünemez. İstemci doğru sertifikanın ne olduğunu öğrendikten sonra, hiç kimse ilgili sunucuyla bağlantı kuruyormuş gibi yapamaz.

Bununla birlikte, sunucu kimlik doğrulamasından sonra istemcinin de kendisini sunucuya erişim yetkisine sahip olarak tanıtması gerekir. Bunun için bir parola kullanılabilir. Bu veya şifrelenmiş karma değeri sunucuda saklanır. Bu aynı zamanda, kullanıcıların aynı oturum sırasında farklı bir sunucuda her oturum açtıklarında parolayı girmeleri gerektiği anlamına gelir. Bu nedenle, istemci tarafı kimlik doğrulamasının anahtar çifti ortak anahtarı ve özel anahtarı kullanması için alternatif bir seçenek vardır.

Özel anahtarı kendi bilgisayarınız için ayrı ayrı oluşturursunuz ve tipik bir paroladan daha uzun olması gereken bir parola ile güvenceye alırsınız. Özel anahtar yalnızca kendi bilgisayarınızda saklanır ve her zaman gizli kalır. Bir SSH bağlantısı kurmak istiyorsanız, önce parolayı girersiniz ve bu, özel anahtara erişimi açar.

Sunucuda (istemcinin kendisinde olduğu gibi) de genel anahtarlar vardır. Sunucu, genel anahtarıyla kriptografik bir sorun oluşturur ve bunu istemciye gönderir. Bu da sorunun şifresini kendi özel anahtarıyla çözer, çözümü geri gönderir ve böylece sunucuyu yasal bir bağlantı kurabileceği konusunda bilgilendirir.

Bir oturum sırasında, herhangi bir sayıda sunucuya bağlanmak için parolayı yalnızca bir kez girmeniz gerekir. Oturumun sonunda, kullanıcılar yerel bilgisayarlarında oturumlarını kapatarak yerel makineye fiziksel erişimi olan hiçbir üçüncü tarafın sunucuya bağlanamamasını sağlar.

Şifreleme

Karşılıklı kimlik doğrulamadan sonra, iki iletişim katılımcısı şifreli bir bağlantı kurar. Bu amaçla, oturum bittikten sonra tekrar sona eren oturum için bir anahtar oluşturulur. Bu, yalnızca anahtar değişimi için kullanılan genel/özel anahtar çiftleriyle karıştırılmamalıdır. Simetrik şifreleme için kullanılan anahtar yalnızca bu tek oturum için geçerlidir. Hem istemci hem de sunucu aynı anahtara sahiptir, bu nedenle değiş tokuş edilen tüm mesajlar şifrelenebilir ve şifresi çözülebilir. İstemci ve sunucu anahtarı aynı anda, ancak birbirinden bağımsız olarak oluşturur. Sözde anahtar değişim algoritması ile her iki taraf da anahtarı oluşturmak için belirli genel ve gizli bilgileri kullanır.

Başka bir şifreleme biçimi, karma oluşturma yoluyla SSH’de gerçekleşir. Karma, iletilen verilerin imzası biçimidir. Bir algoritma kullanılarak, benzersiz olan verilerden bir karma oluşturulur. Veriler işlenirse, Hash değeri de otomatik olarak değişir. Bu, alıcının işlem sırasında verilerin üçüncü şahıslar tarafından değiştirilip değiştirilmediğini görmesini sağlar. Karma değerler, basitçe simüle edilemeyecek şekilde tasarlanmıştır. İdeal olarak, aynı Hash ile iki farklı aktarım oluşturmak asla mümkün değildir. Buna çarpışma güvenliği denir.

SSH Bağlantı Noktaları

TCP bağlantı noktaları, sunucuların ve istemcilerin iletişime izin vermek için açtıkları uç noktalardır. Bir bağlantı noktasında olduğu gibi iletişim ortakları bunu veri paketlerini almak ve göndermek için kullanır. TCP’nin 16 bitlik bir adres alanı vardır ve bu nedenle 65535 bağlantı noktası kullanılabilir. Internet Assigned Numbers Authority SSH bağlantı dahil: (IANA), ancak, kalıcı belirli uygulamalar için bazı portları (tam olarak 1024) tahsis etmiştir. Varsayılan olarak, tüm SSH bağlantıları 22 numaralı bağlantı noktası üzerinden çalışır.

Not

SSH bağlantılarının üzerinde çalıştığı bağlantı noktası iyi bilindiğinden ve görünüşe göre hassas veriler bu bağlantı üzerinden iletildiğinden, SSH bağlantı noktası siber suçlular için tercih edilen bir hedeftir. Bu nedenle, bazı kullanıcılar SSH bağlantı noktasının yerini değiştirmenin mantıklı olduğunu düşünüyor. Ancak bu yalnızca kısa vadeli koruma sağlar. Bağlantı noktası tarayıcısı ile bilgisayarın kullandığı herhangi bir bağlantı noktasını bulmak mümkündür.

SSH ile port yönlendirme de mümkündür: Burada, bir istemcinin veya sunucunun SSH portu, İnternet üzerinden güvenli bir bağlantı oluşturmak için yerel bir ağdaki başka bir katılımcı tarafından kullanılır. Bunu yapmak için, katılımcılar bir tünel oluşturur: Veriler, 22 numaralı bağlantı noktası aracılığıyla alınır ve ardından yerel ağdaki istemciye iletilir.

SSH İstemcileri

SSH istemcisi genellikle sunucuyla bağlantı kurmak istediğiniz kendi bilgisayarınızdır. Bunu yapmak için, bir SSH bağlantısı kuran ayrı yazılımlar (işletim sistemine bağlı olarak) kurabilir veya kurmanız gerekir. Bu programlara genellikle SSH istemcileri de denir. Ücretli Tectia SSH, SSH Communication Security’nin kendisinden gelir ve ayrıca sunucu yazılımı içerir. Böyle açık kaynak yazılım olarak çok sayıda ücretsiz alternatifleri de vardır Macun Windows ve Linux veya için LSH Unix dayanmaktadır tüm işletim sistemleri üzerinde çalışır.

İpucu

Bazı programlar, kullanıcılara SSH'nin yapılandırılmasını ve kullanımını basitleştiren bir grafik kullanıcı arabirimi sunar. Prensip olarak Secure Shell, komut satırı aracılığıyla macOS ve diğer Unix benzeri işletim sistemleri altında, daha fazla kurulum gerekmeden bile çalıştırılabilir.

SSH Sunucusu

SSH sunucusu, istemcinin muadilidir. Terim burada yazılım için de kullanılmaktadır. İstemciler için yazılımların çoğu sunucularda da çalışır. Ayrıca SSH sunucuları için özel olarak tasarlanmış bir yazılım da bulunmaktadır. SSH’yi başlangıçta sunucularda başlatmak yaygın bir uygulamadır. Bu, sunucuya herhangi bir zamanda SSH aracılığıyla dışarıdan erişilebileceğini garanti eder. Bu arada, SSH sunucusunun aslında uzaktaki bir veri merkezinde bulunan daha dar anlamda bir sunucu olması gerekli değildir. Kullanıcılar, örneğin port yönlendirmenin avantajlarından yararlanmak için evde kendi PC’lerine de bir SSH sunucusu kurabilirler.