0Pricing
Cryptology Academy · Ders

SSH: Uzak Erişimi Güvenceye Alma

SSH el sıkışmasını, ana bilgisayar anahtarı kimlik doğrulamasını ve SSH'nin uzak oturumları nasıl koruduğunu adım adım inceleyin.

SSH: Uzak Erişimi Güvenceye Alma, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

SSH-1 ve SSH-2: Kullanımdan Kaldırılma Süreci

Özgün Güvenli Kabuk protokolü olan SSH-1, etkin bir saldırganın şifrelenmiş bir oturuma fark edilmeden keyfi veriler eklemesine olanak veren temel bir tasarım kusuru içeriyordu. RFC 4251-4254 olarak 2006'da yayımlanan SSH-2, ayrı taşıma, kimlik doğrulama ve bağlantı katmanı protokolleriyle ve HMAC kullanarak daha güçlü bütünlük denetimiyle bu zayıflıkları gideren kapsamlı bir protokol yeniden tasarımıydı. SSH-1 kullanımdan kaldırılmıştır ve hiçbir modern sunucu bunu etkinleştirmemelidir.

SSH Taşıma Katmanı: Şifreleme ve Bütünlük

SSH taşıma katmanı protokolü, ilk anahtar değişimini gerçekleştirir ve şifrelenmiş, bütünlüğü korunan bir kanal oluşturur. Anahtar değişimi (genellikle ECDH), sunucu kimlik doğrulaması (genellikle Ed25519 veya RSA), simetrik şifreleme (genellikle AES-256-CTR veya ChaCha20-Poly1305) ve MAC (genellikle HMAC-SHA2-256) için algoritmalar üzerinde anlaşır. Bundan sonraki her paket, üzerinde anlaşılan algoritmalar kullanılarak hem şifrelenir hem de bütünlük açısından denetlenir.

SSH Kullanıcı Kimlik Doğrulama Katmanı

Taşıma katmanı güvenli hale getirildikten sonra kullanıcı kimlik doğrulama katmanı, kullanıcının sunucuya kimliğini nasıl kanıtlayacağını belirler. Yaygın üç yöntem parola (kullanıcı, taşıma katmanı üzerinden şifrelenmiş olarak gönderilen bir parola yazar), açık anahtar (kullanıcı, sunucuda yetkilendirilmiş bir açık anahtara karşılık gelen özel anahtara sahip olduğunu kanıtlar) ve GSSAPI'dir (kurumsal ortamlar için Kerberos tek oturum açma entegrasyonu).

SSH Bağlantı Katmanı: Çoklanmış Kanallar

SSH bağlantı katmanı, tek bir şifrelenmiş taşıma bağlantısı üzerinden birden çok mantıksal kanalı çoklar. Tipik bir SSH oturumunda etkileşimli kabuk için bir kanal bulunur. Ek kanallar, aynı kimlik doğrulaması yapılmış ve şifrelenmiş bağlantıyı paylaşarak bağlantı noktası yönlendirmeyi, X11 yönlendirmesini ve SFTP dosya aktarımını destekler. Kanal istekleri, istemcinin sözde terminal istemesine, ortam değişkenlerini ayarlamasına veya belirli bir komutu çalıştırmasına olanak tanır.

Sunucu Anahtarı Doğrulaması ve TOFU

Bir SSH sunucusuna ilk kez bağlanırken istemci, sunucunun sunucu anahtarını alır ve buna güvenip güvenmeyeceğine karar vermelidir. Varsayılan politika İlk Kullanımda Güven'dir (TOFU): kullanıcıdan anahtar parmak izini (genellikle SHA256:... gibi bir özet olarak gösterilir) doğrulaması istenir ve kullanıcı kabul ederse anahtar known_hosts dosyasına kaydedilir. Sonraki bağlantılarda kaydedilen anahtar, sunucunun sunduğu anahtarla karşılaştırılır ve uyuşmazlık, ortadaki adam saldırıları olasılığına karşı sert bir uyarıyı tetikler.

known_hosts ve Anahtar Parmak İzleri

~/.ssh/known_hosts konumunda saklanan known_hosts dosyası, ana bilgisayar adına ve IP adresine göre dizinlenmiş bir sunucu anahtarları veritabanı tutar. Her kayıt, bir sunucunun adresini açık anahtarıyla ilişkilendirir. Bir sunucunun anahtarı, sunucu yeniden kurulmuş olabilir veya bir saldırgan sunucunun kimliğine bürünüyor olabilir, değişirse SSH bağlantıyı reddeder ve bir uyarı görüntüler. Yöneticiler, büyük ölçekte TOFU güven kararlarından kaçınmak için sertifika tabanlı sunucu kimlik doğrulamasını kullanır.

Parolasız Oturum Açma için authorized_keys

Açık anahtar kimlik doğrulaması, kullanıcının açık anahtarını sunucudaki ~/.ssh/authorized_keys dosyasında saklar. Kullanıcı bağlandığında sunucu, açık anahtarla şifrelenmiş bir doğrulama isteği gönderir; yalnızca eşleşen özel anahtara sahip olan kişi doğru yanıtı verebilir ve özel anahtarı veya parolayı göndermeden kimliğini kanıtlayabilir. Özel anahtarlar ağ üzerinden hiçbir zaman gönderilmediği ve kimlik avıyla ele geçirilemediği için bu yöntem parolalardan daha güvenlidir.

SSH Anahtar Algoritmaları

Yaygın olarak kullanılan üç SSH anahtar algoritması ailesi vardır. 3072 veya 4096 bitlik RSA anahtarları tüm sunucularla uyumludur. NIST P-256 eğrisini kullanan ECDSA, eşdeğer güvenlik düzeyinde RSA'dan daha hızlıdır; ancak P-256'nın güvenlik parametreleri incelemelere konu olmuştur. Edwards eğrisi Sayısal İmza Algoritmasına dayanan Ed25519, günümüzde önerilen seçenektir: hızlıdır, 256 bitlik küçük anahtarlara ve güçlü güvenlik özelliklerine sahiptir ve özel durum parametreleriyle ilgili kaygılar taşımaz.

SSH Tarihi: 22. Bağlantı Noktası ve Tatu Ylönen

Helsinki Teknoloji Üniversitesinde Finlandiyalı bir araştırmacı olan Tatu Ylönen, üniversitesinin ağındaki bir parola dinleme saldırısının yüzlerce kimlik bilgisini açığa çıkarmasının ardından 1995'te SSH'yi geliştirdi. 22. bağlantı noktasını telnet (23) ile ftp (21) arasında olduğu için seçti. SSH, bu iki güvensiz protokolün de yerini aldı. Ylönen, SSH Communications Security şirketini kurdu ve daha sonra SSH-2'yi IETF aracılığıyla açık bir standart olarak yayımladı. En yaygın kullanılan özgür uygulama olan OpenSSH, 1999'da OpenBSD projesi tarafından oluşturuldu.

SSH Aracısı ve Anahtar Yönlendirme Güvenliği

SSH aracısı, şifresi çözülmüş özel anahtarları bellekte tutan bir arka plan işlemidir ve parola ifadesini yeniden girmeden birden çok sunucuda tek oturum açmaya olanak tanır. Aracı yönlendirme (-A bayrağı), aracı bağlantısını uzak sunuculara yönlendirerek bu özelliği genişletir ve iç sunuculara tek atlamalı erişim sağlar. Ancak aracı yönlendirme bir güvenlik riskidir: ele geçirilmiş bir uzak sunucu, diğer sunucularda sizin kimliğinizle kimlik doğrulaması yapmak için yönlendirilmiş aracıyı kullanabilir. Aracı yönlendirme yerine ProxyJump kullanın.

SSH Güvenliğini Sıkılaştırma İçin En İyi Uygulamalar

Güvenli SSH yapılandırması, root ile oturum açmayı devre dışı bırakmayı (PermitRootLogin no), yalnızca açık anahtar kullanımını tercih ederek parola kimlik doğrulamasını devre dışı bırakmayı (PasswordAuthentication no), Ed25519 sunucu anahtarlarını kullanmayı, yalnızca SSH-2 protokolünü etkinleştirmeyi, boşta kalan oturumlar için zaman aşımı yapılandırmayı, AllowUsers veya AllowGroups ile izin verilen kullanıcıları kısıtlamayı ve otomatik tarama gürültüsünü azaltmak için bir gizleme önlemi olarak varsayılan bağlantı noktasını değiştirmeyi içerir. Fail2ban veya benzeri araçlar, tekrarlanan başarısız denemelerde IP adreslerini engeller.

SSH Kimlik Doğrulama Yöntemleri

SSH açık anahtar kimlik doğrulaması neden parola kimlik doğrulamasından daha güvenli kabul edilir?

SSH: Temel Çıkarımlar

SSH-2, kusurlu SSH-1'in yerini ayrı taşıma, kimlik doğrulama ve bağlantı katmanlarıyla aldı. Taşıma katmanı şifreleme ve bütünlük üzerinde anlaşır. Kullanıcı kimlik doğrulaması parolaları, açık anahtarları ve GSSAPI'yi destekler. Sunucu anahtarı doğrulamasında TOFU ve known_hosts kullanılır. Ed25519 önerilen anahtar algoritmasıdır. Aracı yönlendirme bir güvenlik riskidir; bunun yerine ProxyJump kullanın. Güvenliği sıkılaştırma, root ile oturum açmayı ve parola kimlik doğrulamasını devre dışı bırakmayı içerir.

Sıkça Sorulan Sorular

“SSH: Uzak Erişimi Güvenceye Alma” dersi ücretsiz mi?

Evet — “SSH: Uzak Erişimi Güvenceye Alma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“SSH: Uzak Erişimi Güvenceye Alma” dersinde ne öğreneceğim?

SSH el sıkışmasını, ana bilgisayar anahtarı kimlik doğrulamasını ve SSH'nin uzak oturumları nasıl koruduğunu adım adım inceleyin. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“SSH: Uzak Erişimi Güvenceye Alma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Güvenli Bir Protokolü Güvenli Kılan Nedir
  2. SSH: Uzak Erişimi Güvenceye Alma
  3. SFTP ve SCP: Güvenli Dosya Aktarımı
  4. DNSSEC: DNS Yanıtlarını Doğrulama
← Cryptology Academy Sayfasına Dön