Secure Shell (SSH)

Vikipedi, özgür ansiklopedi
Gezinti kısmına atla Arama kısmına atla

Güvenli Kabuk (SSH), ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür.[1] En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

SSH, bir SSH istemcisini bir SSH sunucusuna bağlayarak istemci-sunucu mimarisi çerçevesinde güvenli olmayan bir ağ üzerinde güvenli kanal sağlar.[2] Yaygın uygulamalar arasında uzaktan komut satırı girişi ve uzaktan komut çalıştırma bulunur, ama herhangi bir ağ hizmeti de SSH ile güvenceye alınabilir. Protokol belirtimi SSH-1 ve SSH-2 olarak adlandırılan iki ana sürüm arasında ayrım yapar.

Protokolün en görünür uygulaması, Unıx benzeri işletim sistemlerinde kabuk hesaplarına erişim içindir, ancak Windows'ta da sınırlı bir kullanım alanı görür. 2015 yılında Microsoft, gelecekteki bir sürümde SSH'ye yerel destek vereceğini duyurdu.[3]

SSH, Telnet ve güvenli olmayan uzak kabuk protokolleri olan Berkeley rlogin, rsh ve rexec gibi protokollerin yerini almak için tasarlanmıştır. Bu protokoller, özellikle parolaları, düz metin olarak göndererek, paket analizine karşı savunmasız bırakıyor.[4] SSH tarafından kullanılan şifreleme, Internet gibi güvenli olmayan bir ağ üzerinden verilerin gizliliğini ve bütünlüğünü sağlamaya yöneliktir, ancak Edward Snowden tarafından sızdırılan dosyalar, Ulusal Güvenlik Ajansı'nın bazen SSH şifresini çözerek SSH oturumlarının içeriğini okuyabildiğini gösterir.[5]

6 Temmuz 2017'de, hükümet şeffaflık organizasyonu WikiLeaks ABD Merkezi İstihbarat Teşkilatının,  SSH kullanıcıları tarafından güvenli olmayan sistemler üzerinde başlatılan SSH bağlantılarını yakalamak için Microsoft Windows veya GNU/Linux işletim sistemlerini çalıştıran bilgisayarlara kurulabilecek araçlar geliştirdiğini doğruladı.[6]

Tanımı[değiştir | kaynağı değiştir]

SSH, uzak bilgisayarın kimliğini doğrulamak ve gerektiğinde kullanıcının kimliğini doğrulamasına izin vermek için açık anahtarlı şifreleme kullanır. SSH'yi kullanmanın birkaç yolu vardır; bir tanesi, bir ağ bağlantısını basitçe şifrelemek için otomatik olarak oluşturulan özel-genel anahtar çiftlerini kullanmak ve sonra oturum açmak için parola kimlik doğrulaması kullanmaktır. 

Bir diğeri, kimlik doğrulama işlemini gerçekleştirmek için, kullanıcı veya programların bir parola belirtmek zorunda kalmadan oturum açmasına izin veren, el ile oluşturulmuş bir ortak-özel anahtar çifti kullanmaktır. Bu senaryoda, herkes farklı bir anahtar (açık ve gizli) çifti oluşturabilir. Açık anahtar, eşleşen gizli anahtarın sahibine erişmesi gereken tüm bilgisayarlara yerleştirilir (sahip gizli anahtarını saklı tutar). Kimlik doğrulama özel anahtara dayalıyken, kimlik doğrulama sırasında anahtarın kendisi ağ üzerinden aktarılmaz. SSH, yalnızca ortak anahtarı sunan kişinin eşleşen özel anahtara sahip olup olmadığını doğrular. SSH'nin tüm sürümlerinde, bilinmeyen açık anahtarların doğrulanması önemlidir, yani açık anahtarları geçerli olarak kabul etmeden önce kimlikle ilişkilendirmek gerekir. Bir saldırganın açık anahtarını doğrulama olmadan kabul etmek, yetkisiz bir saldırganı geçerli bir kullanıcı olarak yetkilendirir.

Anahtar yönetimi[değiştir | kaynağı değiştir]

Unix benzeri sistemlerde, yetkilendirilmiş açık anahtarların listesi genellikle  ~/.ssh/authorized_keys dosyasında, uzaktan oturum açmasına izin verilen kullanıcının giriş dizininde saklanır.[7] Bu dosya, sahibi ve tüm yetkili kullanıcıdan başka bir şey tarafından yazılabilir değil ise sadece SSH tarafından değiştirilebilir. Uzak uçta açık anahtar varsa ve yerel uçta eşleşen gizli anahtar varsa, parolayı yazmanız artık gerekmemektedir (Message-Passing Interface (MPI) yığını gibi bazı yazılımların düzgün çalışması için bu parolasız erişim gerekebilir). Ancak, ek güvenlik için gizli anahtarın kendisi bir şifre ile kilitlenebilir.

Gizli anahtar standart yerlerde de aranabilir ve tam yolu bir komut satırı ayarı olarak belirlenebilir (ssh için -i seçeneği). Ssh-keygen yardımcı programı, her zaman çiftler halinde açık ve gizli anahtarlar üretir.

SSH, ayrıca otomatik olarak oluşturulan anahtarlar tarafından şifrelenen parola tabanlı kimlik doğrulamayı da destekler. Bu durumda, saldırgan meşru sunucu tarafını taklit edebilir, parola isteyebilir ve parolayı elde edebilir (man-in-the-middle saldırısı). Ancak, bu durum sadece, iki tarafın daha önce hiç birbirlerinin kimliklerini doğrulamadığında SSH'nin daha önce kullanılan sunucu tarafının anahtarını hatırladığı için mümkündür. SSH istemcisi, önceden bilinmeyen yeni bir sunucunun anahtarını kabul etmeden önce bir uyarı verir. Parola kimlik doğrulaması kapatılabilir.

Kullanımı[değiştir | kaynağı değiştir]

 SSH genellikle uzak makineye giriş yapmak ve komutları çalıştırmak için kullanılır, ayrıca tünel açma, TCP portlarını ve X11 bağlantılarını iletmeyi de destekler; SSH dosya transferi (SFTP) veya güvenli kopyalama (SCP) protokolleri kullanarak dosyaları aktarabilir.[2] SSH istemci-sunucu modelini kullanır.

SSH sunucularına bağlanmak için atanmış standart TCP port numarası 22 dir.[8]

SSH istemci programı, genellikle uzak bağlantıları kabul eden SSH arka plan uygulamasına bağlantı kurmak için kullanılır. Her ikisi de MacOS, Linux'un çoğu dağıtımı, OpenBSD, FreeBSD, NetBSD, Solaris ve OpenVMS gibi çoğu modern işletim sistemlerinde yaygın olarak bulunur. Özellikle, Windows varsayılan olarak SSH içermeyen birkaç modern masaüstü / sunucu işletim sistemlerinden biridir. Sahipli, ücretsiz ve açık kaynaklı (örneğin PuTTY,[9] ve Cygwin'in bir parçası olan OpenSSH sürümü[10]) çeşitli karmaşıklıkta ve bütünlükte sürümleri mevcuttur. Yerli Linux dosya yöneticileri (örneğin Konqueror) sürükle-bırak özelliğine sahip bölmeli bir grafik arayüzü sağlamak için FISH protokolünü kullanabilir. Açık kaynak kodlu bir Windows programı WinSCP[11] arka plan olarak PuTTY kullanarak benzer dosya yönetimi (senkronizasyon, kopyalama, uzaktan silme) özelliği sağlar. Hem WinSCP[12] hem de PuTTY[13], istemci makineye kurulum gerektirmeksizin, doğrudan bir USB sürücüsünden çalışacak şekilde paketlenmiştir. Windows'ta bir SSH sunucusu çalıştırabilmek için genellikle kurulum yapmak gerekir (örneğin Cygwin[14] üzerinden). Windows 10 sürüm 1709'da, OpenSSH'nin resmi bir Win32 bağlantı noktası bulunur.

SSH, bulut bilişimde bağlantı sorunlarını çözmek, bulut tabanlı sanal bir makineyi doğrudan internette göstermenin güvenlik sorunlarından kaçınmak için önemlidir. Bir SSH tüneli, bir güvenlik duvarından sanal bir makineye Internet üzerinden güvenli bir yol sağlayabilir.[15]

Tarihçesi ve gelişimi[değiştir | kaynağı değiştir]

Sürüm 1.x[değiştir | kaynağı değiştir]

1995 yılında Finlandiya Helsinki Teknoloji Üniversitesi'nden araştırmacı Tatu Ylönen, kampüs ağında bir parola koklama saldırısı nedeniyle protokölün (şimdiki adı SSH-1) ilk versiyonunu tasarladı.[16] SSH'nin amacı, güçlü kimlik doğrulaması sağlamayan ve gizliliği garanti etmeyen, rloginTELNET, ftp[17] ve rsh protokollerinin yerini almaktı. Ylönen, uygulamasını Temmuz 1995'te ücretsiz olarak yayınladı ve araç hızla popülerlik kazandı. 1995'in sonuna doğru SSH kullanıcı tabanı elli ülkede 20.000 kullanıcıya ulaştı.

Aralık 1995'te Ylönen, SSH'ı pazarlamak ve geliştirmek için SSH Communications Security şirketini kurdu. SSH yazılımının orijinal sürümü, GNU libgmp gibi çeşitli ücretsiz yazılımlar kullandı, fakat daha sonra SSH Communications Security tarafından yayınlanan sürümlerle birlikte patentli bir yazılım halini aldı.

2000 yılına kadar kullanıcı sayısının 2 milyona ulaştığı tahmin edilmektedir.[18]

Sürüm 2.x[değiştir | kaynağı değiştir]

"Secsh" SSH protokolünün 2. versiyonundan sorumlu olan İnternet Mühendisliği Görev Gücü (IETF) adlı çalışma grubunun resmi adıydı.[19] 2006 yılında, protokolün revize edilmiş versiyonu olan SSH-2, standart olarak kabul edildi. Bu versiyon SSH-1 ile uyumlu değildi. SSH-2'de SSH-1'e göre hem güvenlik ham de yeni özellik iyileştirmeleri mevcuttur. Daha iyi güvenlik, örneğin, Diffie–Hellman anahtar değişimi ve mesaj doğrulama kodları üzerinden güçlü bütünlük denetimi ile sağlanır.  SSH-2'nin yeni özellikleri arasında, tek bir SSH bağlantısı üzerinden herhangi bir sayıda kabuk oturumunu çalıştırma yeteneğini sayılabilir.[20] SSH-2'nin üstünlüğü ve popülerliği nedeniyle, Lsh[21] ve Dropbear[22] gibi uygulamalar sadece SSH-2'ye destek vermektedirler.

1.99 sürüm[değiştir | kaynağı değiştir]

Ocak 2006'da, 2.1 sürümü oluşturulduktan sonra, RFC 4253, hem 2.0 hem de daha önceki versiyonları destekleyen SSH sunucularının versiyon 1.99 olarak adlandırılması gerektiğini belirtmiştir.[23] Bu gerçek bir sürüm değildir, fakat geriye dönük uyumluluk tanımlayan bir yöntemdir.

OpenSSH ve OSSH[değiştir | kaynağı değiştir]

1999 yılında, ücretsiz bir yazılım sürümü sunmak isteyen geliştiriciler, açık kaynak lisansı ile yayınlanmış en son sürüm olan 1.2.12 sürümüne geri döndüler. Björn Grönvall'ın OSSH'si daha sonra bu kod tabanından geliştirildi. Kısa bir süre sonra, OpenBSD geliştiricileri Grönvall'ın kodunu çatalladılar ve OpenBSD'nin 2.6 sürümü ile birlikte gelen OpenSSH'yi yaratarak kapsamlı bir çalışma yaptılar. Bu versiyondan, OpenSSH'yi diğer işletim sistemlerine bağlamak için bir "taşınabilirlik" dalı oluşturuldu.[24]

2005 itibarıyla, OpenSSH, çok sayıda işletim sisteminde varsayılan olarak gelen en popüler SSH uygulamasıydı. OSSH bu arada demode oldu.[25] 7.6 sürümüyle birlikte SSH-1 desteğini çeken OpenSSH, SSH-2 protokolünü geliştirmeye ve desteklemeye devam ediyor.

Kullanım Alanları[değiştir | kaynağı değiştir]

SSH üzerinden bir X11 uygulama tünellenmesi örneği: kullanıcı 'josh', xeyes çalıştırmak için yerel makine 'foofighter' dan uzak makine 'tengwar' a SSH ile bağlanır.
Windows'da çalışan PuTTY kullanılarak OpenWrt'ye oturum açmak.

SSH, çoğu Unix varyantı (Linux, Apple'ın macOS ve Solaris dahil BSD'leri) ve Microsoft Windows gibi pek çok platformda kullanılabilen bir protokoldür. Aşağıdaki uygulamalardan bazıları yalnızca belirli SSH istemcileri veya sunucuları ile kullanılabilen ya da uyumlu olan özellikler gerektirebilir. Örneğin, VPN yazmak için SSH protokolü kullanmak mümkündür, ama sadece OpenSSH sunucu ve istemci uygulamasıyla.

  • Uzak bilgisayardaki bir kabukta oturum açmak için (Telnet ve rlogin yerine)
  • Uzak bilgisayarda tek bir komut yürütmek için (rsh yerine)
  • Uzak bir sunucuya otomatik (parolasız) oturum açmak için (örneğin, OpenSSH[26] kullanarak)
  • Güvenli dosya aktarımı
  • rsync ile kombine olarak, dosyaları verimli bir şekilde yedeklemek, kopyalamak ve yansıtmak 
  • Bir portu yönlendirmek veya tünellemek için (Paketleri farklı ağlar arasında yönlendiren veya iki yayın alanını tek bir ağa bağlayan bir VPN ile karıştırılmamalıdır).  
  • Tam teşekküllü şifreli bir VPN olarak kullanmak için. Bu özelliği sadece OpenSSH sunucu ve istemci destekler.
  •  Uzak bir ana bilgisayardan X iletmek için (birden çok ara ana bilgisayar aracılığıyla)
  • Web'i SOCKS protokolünü destekleyen SSH istemcileriyle şifrelenmiş bir proxy bağlantısı aracılığıyla taramak için.
  • SSHFS kullanarak uzak bir sunucudaki bir dizini yerel bir bilgisayarda dosya sistemi olarak güvenli bir şekilde kullanabilmek için.
  • Yukarıda açıklanan mekanizmalardan bir veya daha fazlası aracılığıyla sunucuların otomatik olarak uzaktan izlenmesi ve yönetimi için.
  • SSH'yi destekleyen bir mobil veya gömülü cihaz üzerinde geliştirme yapabilmek için.

Dosya aktarım protokolleri[değiştir | kaynağı değiştir]

Secure Shell protokolleri birçok dosya aktarım mekanizmasında kullanılır.

Mimarisi[değiştir | kaynağı değiştir]

SSH-2 binary paket şeması.

SSH-2 protokolü iyi ayrılmış katmanlara sahip bir iç mimariye (tanımlanan RFC 4251'de tanımlanmıştır) sahiptir:

  • Taşıma katmanı (RFC 4253). Bu katman, ilk anahtar değişiminin yanı sıra sunucu kimlik doğrulamasını halleder ve şifreleme, sıkıştırma ve bütünlük doğrulaması yapar. Üst katmana, her biri 32.768 bayta kadar olan düz metin paketlerini göndermek ve almak için bir arayüz (daha fazlasına izin verilebilir) sunar. Aktarım katmanı ayrıca, genellikle 1 GB'lik veri aktarıldıktan sonra veya 1 saat geçtikten sonra, hangisi daha önce gerçekleşirse, anahtar yeniden değişimini düzenler.
  • Kullanıcı kimlik doğrulama katmanı ([rfc:4252 RFC 1310]). Bu katman, istemci kimlik doğrulamasını halleder ve bir dizi kimlik doğrulama yöntemi sunar. Kimlik doğrulaması istemci-güdümlüdür: bir parola sorulduğunda istek, sunucudan değil, SSH istemcisinden istenmiştir. Sunucu, yalnızca istemcinin kimlik doğrulama isteklerine cevap verir. Yaygın olarak kullanılan kullanıcı kimlik doğrulama yöntemleri şunlardır:
    • parola: parola değiştirilmesine de izin veren, doğrudan parola kimlik doğrulaması yapan yöntem. Tüm programlar bu yöntemi uygulamaz.
    • açık anahtar: genellikle en az DSA veya RSA anahtar çiftlerini, diğer uygulamalarıyla birlikte ayrıca X.509 sertifikaları destekleyen, açık anahtar tabanlı kimlik doğrulama için bir yöntem.
    • klavye-etkileşimli (RFC 4256): sunucunun bilgi girmek için bir veya daha fazla istek gönderdiği çok yönlü bir yöntemdir ve istemci bunları görüntüler ve kullanıcı tarafından girilen yanıtları geri gönderir. S/Key ve SecurID gibi tek kullanımlık şifre kimlik doğrulaması sağlamak için kullanılır. PAM, etkin bir şekilde parola doğrulaması sağlamak için temel ana bilgisayar kimlik doğrulama sağlayıcısı olduğunda bazı OpenSSH yapılandırmaları tarafından kullanılır, bazen yalnızca düz parola kimlik doğrulama yöntemini destekleyen bir istemciyle oturum açılamamasına neden olur.
    • SSH oturumlarına tek oturum açma yeteneği sağlayan Kerberos 5 veya NTLM gibi harici mekanizmaları kullanarak SSH kimlik doğrulaması gerçekleştirmek için genişletilebilir bir şema sağlayan GSSAPI kimlik doğrulama yöntemleri. Bu yöntemler genellikle OpenSSH'nin çalışan bir GSSAPI uygulamasına sahip olmasına rağmen, kuruluşlarda kullanılmak üzere ticari SSH uygulamaları tarafından uygulanır.
  • Bağlantı katmanı (RFC 4254). Bu katman, hangi SSH hizmetlerinin sağlandığı bilgisine göre kanal kavramı, kanal talepleri ve global talepleri tanımlar. Tek bir SSH bağlantısı, her biri her iki yönde de veri aktarımı yapan, aynı anda birden çok kanala ev sahipliği yapabilir. Kanal istekleri, terminal penceresindeki boyut değişikliği veya sunucu tarafındaki işlemin çıkış kodu gibi bant dışı kanala özgü verileri aktarmak için kullanılır. SSH istemcisi, bir genel istek kullanarak yönlendirilecek bir sunucu portu ister. Standart kanal türleri şunları içerir:
    • terminal kabukları için kabuk, SFTP ve exec istekleri (SCP transferleri dahil)
    • istemciden sunucuya aktarılan bağlantılar için direkt-tcpip
    • sunucudan istemciye aktarılan bağlantılar için yönlendirilmiş-tcpip
  • SSHFP DNS kaydı ([rfc:4255 RFC] 4255) ana makinenin kimliğini doğrulamaya yardımcı olmak için açık ana bilgisayar anahtar parmak izlerini sağlar.

Bu açık mimari, SSH'nin güvenli bir kabuğun ötesinde çeşitli amaçlarla kullanılmasına izin veren önemli bir esneklik sağlar. Taşıma katmanının işlevselliği tek başına Taşıma Katmanı Güvenliği (TLS) ile karşılaştırılabilir; kullanıcı kimlik doğrulama katmanı özel kimlik doğrulama yöntemleri ile büyük ölçüde genişletilebilir; ve BEEP'te olan ve TLS'de geçerli olmayan bir özellik olarak bağlantı katmanı, birçok ikincil oturumu tek bir SSH bağlantısına çoğaltabilir.

Geliştirmeler[değiştir | kaynağı değiştir]

Bunlar SSH ürünlerinin performans geliştirmeleri için tasarlanmıştır:

  • SCTP üzerinden SSH: bağlantı yönelimli taşıma katmanı protokolü olarak TCP yerine SCTP desteği.[27]
  • ECDSA: İmza için RSA veya DSA yerine elliptic curve DSA desteği.[28]
  • ECDH: Anahtar değişimi için düz Diffie–Hellman yerine elliptic curve Diffie–Hellman desteği.
  • UMAC: MAC/bütünlük kontrolü için HMAC yerine UMAC desteği.[29]

Güvenlik açıkları[değiştir | kaynağı değiştir]

SSH-1[değiştir | kaynağı değiştir]

1998'de, SSH 1.5 sürümünde, protokolün bu sürümünde kullanılan CRC-32'den kaynaklı yetersiz veri bütünlüğü koruması nedeniyle, şifrelenmiş bir SSH akışına yetkisiz olarak içerik sokulmasına izin veren bir güvenlik açığı tarif edilmiştir.[30][31] Çoğu uygulamada SSH Compensation Attack Detector[32] olarak bilinen bir düzeltme tanıtıldı. Bu güncellenmiş uygulamaların birçoğu, saldırganın root izni ile herhangi kodu çalıştırabilmesine izin veren yeni bir tamsayı taşması zaafiyeti[33] içeriyordu.

Ocak 2001'de, saldırganların IDEA şifreli bir oturumun son bloğunu değiştirmesine izin veren bir güvenlik açığı keşfedildi.[34] Aynı ay, kötü amaçlı bir sunucunun bir istemci kimlik doğrulamasını başka bir sunucuya iletmesine izin veren başka bir güvenlik açığı keşfedildi..[35]

SSH-1, onu savunmasız hale getiren içsel tasarım kusurlarına sahip olduğundan, genel olarak geçersiz sayılır. SSH-1'e geri dönüş açıkça devre dışı bırakılmalıdır. Çoğu modern sunucu ve istemci SSH-2'yi desteklemektedir.

CBC düz metin kurtarma[değiştir | kaynağı değiştir]

Kasım 2008'de, tüm SSH sürümleri için, standart varsayılan şifreleme modu olan CBC kullanılarak şifrelenmiş bir şifreli metin bloğunun 32 bitlik düz metninin kurtarılmasına izin veren teorik bir güvenlik açığı keşfedilmiştir.[36] En basit çözüm, SSH'a saldırıya karşı direnç kazandırdığından CBC modu yerine CTR modu kullanmaktır.

Açıklanmamış güvenlik açıkları[değiştir | kaynağı değiştir]

28 Aralık 2014'te Der Spiegel, Ulusal Güvenlik Ajansı'nın SSH trafiğinin bazılarının şifresini çözebileceğini söyleyen muhbir Edward Snowden'in sızdırdığı gizli bilgileri yayınladı. Böyle bir süreçle ilgili teknik detaylar açıklanmadı.

ABD Hükümeti'nin SSH protokollerini heklediği doğrulandı[değiştir | kaynağı değiştir]

 6 Temmuz 2017'de, hükümet şeffaflığı aktivist örgütü WikiLeaks, CIA'nin Bilgi İşlem Merkezi'nin hem Windows hem de Linux işletim sistemlerinde SSH protokolünü kullanan “güvenli” iletişimlere nasıl girdiğini açıklayan ABD Merkezi İstihbarat Kurumu belgelerini yayınladı. WikiLeaks, CIA'nin BothanSpy ve Gyrfalcon programlarının (SSH kimlik bilgilerini engellemek ve genişletmek için tasarlanmış, ancak farklı saldırı sistemlerine sahip farklı işletim sistemlerinde çalışacan) resmi kullanım kılavuzlarını da ekledi.

BothanSpy, Microsoft Windows platformunda SSH istemci programı Xshell'i hedefleyen ve tüm etkin SSH oturumları için kullanıcı kimlik bilgilerini çalan bir implanttır. Bu kimlik bilgileri, parola  tabanlı kimlik doğrulaması yapılmış ise  kullanıcı adı ve parola, açık anahtar kimlik doğrulaması kullanılıyor ise dosya adı ve gizli SSH anahtarıdır. BothanSpy çalınan kimlik bilgilerini CIA tarafından kontrol edilen bir sunucuya gönderebilir (böylece implant, hedef sistemdeki diske asla dokunmaz) ya da başka yollarla daha sonra exfiltrasyon için şifreli bir dosyaya kaydedebilir. BothanSpy, hedef makinede bir Shellterm 3.x uzantısı olarak kurulmuştur.

Gyrfalcon, Linux platformlarında OpenSSH istemcisini hedefleyen bir implanttır (centos, debian, rhel, suse, ubuntu). İmplant sadece aktif SSH oturumlarının kullanıcı bilgilerini çalmakla kalmaz, aynı zamanda tam veya kısmi OpenSSH oturum trafiğini de toplayabilir. Toplanan tüm bilgiler, daha sonra exfiltrasyon için şifrelenmiş bir dosyada saklanır. Hedef makinede CIA tarafından geliştirilen bir kök kiti (JQC/KitV) kullanılarak kurulur ve yapılandırılır.[37]

Standartlar belgeler[değiştir | kaynağı değiştir]

 IETF "secsh" çalışma grubu tarafından sunulan aşağıdaki RFC yayınları, önerilen internet standardı olarak SSH-2'yi belgelemişlerdir.

  • RFC 4250, The Secure Shell (SSH) Protokole Atanan Numaralar
  • RFC 4251, The Secure Shell (SSH) Protokol Mimarisi
  • RFC 4252, The Secure Shell (SSH) Kimlik Doğrulama Protokolü
  • RFC 4253, The Secure Shell (SSH) Taşıma Katmanı Protokolü
  • RFC 4254, The Secure Shell (SSH) Bağlantı Protokolü
  • RFC 4255, SSH anahtar parmak izlerini güvenli bir şekilde yayınlamak için DNS kullanımı
  • RFC 4256, SSH için genel mesaj değişimi kimlik doğrulaması
  • RFC 4335, The Secure Shell (SSH) Oturumu Kanal Arızası Uzantısı
  • RFC 4344, The Secure Shell (SSH) Taşıma Katmanı Şifreleme Yöntemleri
  • RFC 4345, Secure Shell (SSH) Aktarım Katmanı Protokolü için Geliştirilmiş Arcfour Modları

Daha sonra aşağıdaki yayınlar tarafından değiştirildi ve genişletildi

  • RFC 4419, Secure Shell (SSH) Taşıma Katmanı Protokolü için Diffie-Hellman Grup Değişimi (Mart 2006)
  • RFC 4432, Secure Shell (SSH) Taşıma Katmanı Protokolü için RSA Anahtar Değişimi (Mart 2006)
  • RFC 4462, Secure Shell (SSH) Protocol için GSS-API (Mayıs 2006)
  • RFC 4716, The Secure Shell (SSH) Açık Anahtar Dosya Formatı (Kasım 2006)
  • RFC 4819: Secure Shell Açık Anahtar Alt sistemleri (Mat 2007)
  • RFC 5647: Secure Shell (SSH) Taşıma Katmanı Protokolü için AES Galois Counter Modu (Ağustos 2009)
  • RFC 5656, Secure Shell (SSH) Taşıma Katmanı Protokolünde Eliptik Eğri Algoritma Entegrasyonu (Aralık 2009)
  • RFC 6187: Secure Shell Kimlik Kontrolü için X.509v3 Sertifikaları kullanımı (Mart 2011)
  • RFC 6239: Secure Shell (SSH) için Suite B Kriptografik Serileri (Mayıs 2011)
  • RFC 6594: SSHFP Kaynak Kayıtlarında SHA-256 Algoritmasıyla RSA, Digital Signature Algorithm (DSA), ve Elliptic Curve DSA (ECDSA) Kullanımı
  • RFC 6668, Secure Shell (SSH) Taşıma Katmanı Protokolü için SHA-2 Veri Bütünlük Doğrulaması (Temmuz 2012)
  • RFC 7479: Ed25519 SSHFP Kaynak Kayıtları

Buna ek olarak, OpenSSH projesi birkaç sağlayıcı protokolü spesifikasyonları / uzantıları içerir:

Ayrıca Bkz.[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ Network Working Group of the IETF, January 2006, RFC 4251, The Secure Shell (SSH) Protocol Architecture
  2. ^ a b Network Working Group of the IETF, January 2006, RFC 4252, The Secure Shell (SSH) Authentication Protocol
  3. ^ Peter Bright (June 2, 2015). "Microsoft bringing SSH to Windows and PowerShell". Ars Technica. June 9, 2017 tarihinde kaynağından Arşivlendi. 
  4. ^ "SSH Hardens the Secure Shell". Serverwatch.com. 2008-12-23 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  5. ^ "Prying Eyes: Inside the NSA's War on Internet Security". Spiegel Online. December 28, 2014. January 24, 2015 tarihinde kaynağından Arşivlendi. 
  6. ^ "BothanSpy". wikileaks.org. 2017-07-06. 2017-09-21 tarihinde kaynağından Arşivlendi. Erişim tarihi: 2017-09-25. 
  7. ^ "How To Set Up Authorized Keys". 2011-05-10 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  8. ^ "Service Name and Transport Protocol Port Number Registry". iana.org. 2001-06-04 tarihinde kaynağından Arşivlendi. 
  9. ^ "Download PuTTY - a free SSH and telnet client for Windows". Putty.org. 2014-05-27 tarihinde kaynağından Arşivlendi. Erişim tarihi: 2014-04-28. 
  10. ^ "Cygwin Package List". Erişim tarihi: January 5, 2016. 
  11. ^ "WinSCP home page". 2014-02-17 tarihinde kaynağından Arşivlendi. 
  12. ^ "WinSCP page for PortableApps.com". 2014-02-16 tarihinde kaynağından Arşivlendi. 
  13. ^ "PuTTY page for PortableApps.com". 2014-02-16 tarihinde kaynağından Arşivlendi. 
  14. ^ "Installing Cygwin and Starting the SSH Daemon". 2014-02-22 tarihinde kaynağından Arşivlendi. Erişim tarihi: 2014-02-17. 
  15. ^ Amies, A; Wu, C F; Wang, G C; Criveti, M (2012). "Networking on the cloud". IBM developerWorks. 2013-06-14 tarihinde kaynağından Arşivlendi. 
  16. ^ Tatu Ylönen. "The new skeleton key: changing the locks in your network environment". 2017-08-20 tarihinde kaynağından Arşivlendi. 
  17. ^ Tatu Ylönen. "SSH Port". 2017-08-03 tarihinde kaynağından Arşivlendi. 
  18. ^ Nicholas Rosasco and David Larochelle. "How and Why More Secure Technologies Succeed in Legacy Markets: Lessons from the Success of SSH" (PDF). Quoting Barrett and Silverman, SSH, the Secure Shell: The Definitive Guide, O'Reilly & Associates (2001). Dept. of Computer Science, Univ. of Virginia. 2006-06-25 tarihinde kaynağından Arşivlendi (PDF). Erişim tarihi: 2006-05-19. 
  19. ^ "Secsh Protocol Documents". VanDyke Software, Inc. 2010-01-13 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  20. ^ "SSH Frequently Asked Questions". 2004-10-10 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  21. ^ "A GNU implementation of the Secure Shell protocols". 2012-02-04 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  22. ^ "Dropbear SSH". 2011-10-14 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  23. ^ "RFC 4253". Section 5. Compatibility With Old SSH Versions. 2010-07-04 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım), IETF
  24. ^ "OpenSSH: Project History and Credits". openssh.com. 2004-12-22. 2013-12-24 tarihinde kaynağından Arşivlendi. Erişim tarihi: 2014-04-27. 
  25. ^ "OSSH Information for VU#419241". 2007-09-27 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  26. ^ Sobell, Mark (2012). A Practical Guide to Linux Commands, Editors, and Shell Programming (3rd Edition). Upper Saddle River, NJ: Prentice Hall. ss. 702–704. ISBN 978-0133085044. 
  27. ^ Seggelmann, R.; Tuxen, M.; Rathgeb, E.P. (18–20 July 2012). "SSH over SCTP — Optimizing a multi-channel protocol by adapting it to SCTP". Communication Systems, Networks & Digital Signal Processing (CSNDSP), 2012 8th International Symposium on, s. 1–6. doi:10.1109/CSNDSP.2012.6292659. ISBN 978-1-4577-1473-3. 
  28. ^ Stebila, D.; Green J. (December 2009). "RFC5656 - Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer". 19 July 2012 tarihinde kaynağından Arşivlendi. Erişim tarihi: 12 November 2012. 
  29. ^ Miller, D.; Valchev, P. (September 3, 2007). "The use of UMAC in the SSH Transport Layer Protocol / draft-miller-secsh-umac-00.txt". 19 August 2014 tarihinde kaynağından Arşivlendi. Erişim tarihi: 12 November 2012. 
  30. ^ "SSH Insertion Attack". Core Security Technologies. 2011-07-08 tarihinde kaynağından Arşivlendi. 
  31. ^ "Vulnerability Note VU#13877 - Weak CRC allows packet injection into SSH sessions encrypted with block ciphers". US CERT. 2010-07-10 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  32. ^ "SSH CRC-32 Compensation Attack Detector Vulnerability". SecurityFocus. 2008-07-25 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  33. ^ "Vulnerability Note VU#945216 - SSH CRC32 attack detection code contains remote integer overflow". US CERT. 2005-10-13 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  34. ^ "Vulnerability Note VU#315308 - Weak CRC allows last block of IDEA-encrypted SSH packet to be changed without notice". US CERT. 2010-07-11 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  35. ^ "Vulnerability Note VU#684820 - SSH-1 allows client authentication to be forwarded by a malicious server to another server". US CERT. 2009-09-01 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  36. ^ "Vulnerability Note VU#958563 - SSH CBC vulnerability". US CERT. 2011-06-22 tarihinde kaynağından Arşivlendi.  Birden fazla |arşivurl= ve |archive-url= kullanıldı (yardım); Birden fazla |arşivtarihi= ve |archive-date= kullanıldı (yardım)
  37. ^ "BothanSpy". www.wikileaks.org. 2017-07-06. 2017-07-08 tarihinde kaynağından Arşivlendi. Erişim tarihi: 2017-07-09. 

Daha Fazlası İçin Bkz.[değiştir | kaynağı değiştir]

  • Daniel J. Barrett, Richard E. Silverman, and Robert G. Byrnes, SSH: The Secure Shell (The Definitive Guide), O'Reilly 2005 (2nd edition). ISBN 0-596-00895-3
  • Michael Stahnke, Pro OpenSSH, Apress 2005 ISBN 1-59059-476-2
  • Tatu Ylönen (12 July 1995). "Announcement: Ssh (Secure Shell) Remote Login Program". comp.security.unix.  Birden fazla |author= ve |last= kullanıldı (yardım) Original announcement of Ssh
  • Himanshu Dwivedi; Implementing SSH, Wiley 2003. ISBN 978-0-471-45880-7
  • This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.Şablon:FOLDOC

Dış bağlantılar[değiştir | kaynağı değiştir]