Kurumsal Network Kurulumu

SSH Nedir? Şifreli Yönetim ve Anahtar Tabanlı Giriş

SSH nedir, port 22'de el sıkışma nasıl olur, ana bilgisayar anahtarı neyi kanıtlar, sürüm 1 neden kapatılmalı ve parola yerine anahtarla giriş nasıl kurulur.

İlker Pehlivan

SSH, uzaktaki bir cihazı yönetmenin bugünkü standart yoludur ve Telnet’in bıraktığı boşluğu doldurmak için değil, onun hiç taşıyamadığı güvenceleri getirmek için tasarlanmıştır. Şifreleme en görünür özelliğidir ama tek özelliği değil: bağlandığınız cihazın gerçekten o cihaz olduğunu da kanıtlar, ve parolayı hiç yazmadan giriş yapmanızı mümkün kılar.

Bu rehber protokolün mekanizmasına odaklanıyor: el sıkışmada ne oluyor, cihaz kimliğini neyle kanıtlıyor, hangi varsayılan ayar tehlikeli ve neden? Kurulum adımları burada değil; ağ cihazında SSH’ı açıp Telnet’i kapatma sırası Telnet rehberimizde, Linux sunucuda sshd_config yapılandırması ise Ubuntu Server rehberimizde duruyor.

SSH analojisi: iki telgraf operatörü arasında kapalı bakır hattın içinde ilerleyen ritmik nokta ve çizgi deseni, aradaki kulaklıklı dinleyicilere hiçbir şey ulaşmıyor
Sinyal hattın içinde kalıyor, dinleyicinin çevresi bomboş. Üstelik her operatör karşısındakini tıkırtı ritminden tanıyor: SSH'ın iki ayrı işi tek sahnede.

SSH Nedir ve Nasıl Çalışır?

SSH, açılımıyla Secure Shell, iki cihaz arasında şifreli bir yönetim kanalı kuran protokoldür. Adındaki “kabuk” kelimesi ne yaptığını da söylüyor: bir sunucunun ya da ağ cihazının komut kabuğunu kendi ekranınıza getirir. Dosya aktarımı da aynı kanaldan yürür, ve tüm bunlar olurken hattı dinleyen birine hiçbir şey verilmez.

Telgrafın ilk yıllarında operatörlerin birbirini tanımak için kullandığı bir yöntem vardı. Her operatörün tuşa basış ritmi kendine özgüydü ve buna “el” denirdi. Karşı istasyondaki kişi konuşmayı okumadan önce, ritmi duyar duymaz kimin gönderdiğini anlardı. Ritim değiştiğinde ise anlaşılırdı: tuşun başında başka biri var.

SSH iki işi birden bu şekilde yapar. Mesajı kimsenin okuyamayacağı bir hatta sokar, ve karşı tarafın gerçekten o taraf olduğunu ritminden tanır. Bu yazının tamamı o ikinci iş üzerine, çünkü birincisi herkesin anlattığı, ikincisi ise neredeyse kimsenin girmediği taraf.

Protokolün üç ayrı görevi var ve bunları ayırmak, sonraki her bölümü kolaylaştırıyor:

  1. Gizlilik. Kanal şifrelenir, hattı dinleyen bir şey okuyamaz.
  2. Sunucu kimliği. Cihaz kendini kanıtlar, siz doğru makineye bağlandığınızı bilirsiniz.
  3. Kullanıcı kimliği. Siz kendinizi kanıtlarsınız, parolayla ya da anahtarla.

Bu yazının bulduğu şey şu: SSH’ı açan kurumların çoğu birinci görevi çalışır hale getiriyor, ikinci ve üçüncüyü varsayılan haline bırakıyor. Ve varsayılan hal, göreceğiniz gibi, düşündüğünüz kadar iyi değil.

Port 22: El Sıkışma ve Anahtar Değişimi

SSH, TCP’nin 22 numaralı portunu kullanır. Bu da 0-1023 aralığındaki iyi bilinen portlardan biridir, yani tahsis edilmiş ve onlarca yıldır değişmemiştir. Pratik sonucu şu: bir tarama sonucunda ya da güvenlik duvarı kaydında karşınıza çıkan açık bir 22, neredeyse her zaman bir yönetim kapısıdır.

Bir cihazda portun açık olup olmadığını, hiçbir araç kurmadan da öğrenebilirsiniz:

Bash
timeout 3 bash -c "echo > /dev/tcp/192.168.1.2/22" && echo "acik" || echo "kapali"

Windows tarafında aynı işi PowerShell yapar:

PowerShell
Test-NetConnection 192.168.1.2 -Port 22

SSH portunu değiştirmeli misiniz

Bu, hakkında en çok kesin konuşulan ve en az ölçülen sorulardan biri. Cevabı iki parçalı, ve iki parçayı karıştırmak yanlış karara götürüyor.

Değiştirmenin gerçek faydası gürültü azaltmaktır. İnternete açık her 22 portu, sürekli olarak otomatik tarayıcıların ve deneme botlarının hedefidir. Portu taşıdığınızda bu trafiğin büyük kısmı size ulaşmaz, kayıtlarınız okunabilir hale gelir ve gerçek bir olayı fark etme şansınız artar. Bu somut bir kazançtır.

Ama bir güvenlik denetimi değildir. Sizi hedef alan biri portu saniyeler içinde bulur; port taraması zaten bunun için var. Yani “portu değiştirdim, artık güvendeyim” cümlesi yanlıştır ve tehlikelidir, çünkü asıl işi yapması gereken üç ayarı ertelemenize sebep olur: anahtar tabanlı kimlik doğrulama, kabul edilen protokol sürümünün sınırlanması, ve erişimin nereden gelebileceğinin daraltılması. Üçü de bu yazının ilerleyen bölümlerinde.

Ağ cihazlarında da bu ayar mevcut. Lab switch’inde ip ssh altındaki seçenekler arasında port duruyor, yani yönetilebilir bir switch’te de portu taşımak mümkün. Taşıyacaksanız tek bir uyarı: yeni portu, eskisini kapatmadan önce deneyin. Aksi halde kendinizi cihazın dışında bırakırsınız, ki bu tuzağı Telnet rehberimizde yaşanmış bir örnekle anlattık.

Bağlantı üç aşamada kurulur ve sırası önemli, çünkü ilk aşama şifreli değildir.

Birinci aşama, sürüm anonsu. TCP el sıkışması biter bitmez iki taraf birbirine kendini tanıtan bir satır gönderir. Bu satır düz metindir, yani hattı dinleyen biri hangi yazılımın hangi sürümünü çalıştırdığınızı görebilir. Şaşırtıcı gelir ama tasarım gereğidir: taraflar hangi kuralları konuşacaklarına karar vermeden şifreleme başlayamaz.

Lab switch’inin 22 numaralı portuna hiçbir kimlik vermeden bağlanıp ilk satırı okuduğumuzda gelen cevap şu:

Çıktı
SSH-1.99-OpenSSH_6.5

Bu satır üç şeyi birden söylüyor ve üçü de giriş yapılmadan öğrenilebiliyor. Cihaz OpenSSH kullanıyor, sürümü 6.5, ve baştaki 1.99 bir uyarı işareti. 1.99 özel bir değerdir: “hem sürüm 1 hem sürüm 2 konuşabilirim” demektir. Yalnızca sürüm 2 destekleyen bir sunucu kendini SSH-2.0- diye tanıtır. Yani bu cihaz, kimse oturum açmadan önce, kırık kabul edilen sürümü desteklediğini ağa duyuruyor. Bu noktaya aşağıda geri döneceğiz.

İkinci aşama, algoritma müzakeresi. Burada iki taraf üç ayrı konuda mutabakata varır: anahtar değişiminin hangi yöntemle yapılacağı, sunucunun kimliğini hangi imza algoritmasıyla kanıtlayacağı, ve trafiğin hangi şifreyle korunacağı.

Mutabakatın kuralı üçünde de aynıdır. Her iki taraf da desteklediği seçenekleri tercih sırasına göre sunar, ortak kümeye bakılır ve o kümedeki en güçlü seçenekte anlaşılır. Yani sonucu tek bir taraf belirlemez; zayıf olan taraf tavanı belirler.

Bu cümle bu bölümün sonunda döneceğimiz tuzağın da özeti. Taraflardan biri eskiyse ortak küme daralır: müzakere ya iki tarafın da desteklediği eski bir seçenekte anlaşır, ya da hiç anlaşamaz ve bağlantı kurulmadan düşer.

Üçüncü aşama, anahtar değişimi. Asıl marifet burada. İki taraf, hattı dinleyen biri her baytı görse bile, ortak bir gizli anahtar üzerinde anlaşır. Gizli anahtarın kendisi hiçbir zaman gönderilmez; iki taraf da onu kendi tarafında hesaplar. Bu andan itibaren trafik şifrelidir.

Sonucu Telnet karşılaştırmamızda ölçmüştük. Aynı cihaza aynı hesapla yapılan iki girişten SSH olanında, istemciden çıkan paket şöyle görünüyor:

Çıktı
03:20:45.550885 IP 192.168.1.15.46766 > 192.168.1.2.22: Flags [P.], length 44
E..`.@@.@...........................FA.....
+..>.....Jf0. I...-.).Lz1..'..@.5.,	...oa.x.&. .....

Aynı girişin Telnet ile alınmış halinde kullanıcı adı ve parola olduğu gibi okunuyordu. Karşılaştırmanın tamamı ve iki dökümde yapılan arama Telnet rehberimizde.

Sunucu Kimliği: Ana Bilgisayar Anahtarı ve Parmak İzi

Şimdi makalenin en az anlatılan ve en çok işinize yarayacak kısmına geldik.

Bir sunucuya ilk kez bağlandığınızda karşınıza şu çıkar:

Çıktı
The authenticity of host '192.168.1.30' can't be established.
ED25519 key fingerprint is SHA256:....
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Çoğu kişi buraya refleksle yes yazar ve geçer. Oysa bu soru, SSH’ın en önemli güvencesini size devrettiği andır.

Sorunun arkasındaki mekanizma şu. Her SSH sunucusunun bir ana bilgisayar anahtarı vardır: bir özel, bir açık anahtar çifti. Özel anahtar cihazdan hiç çıkmaz. Cihaz her bağlantıda o özel anahtarla bir imza atar, istemci de açık anahtarla o imzayı doğrular. Yani cihaz “ben oyum” demez, kanıtlar. Parmak izi dediğimiz şey ise o açık anahtarın kısa özetidir, insanın karşılaştırabilmesi için.

Bu anahtar kullanıcı anahtarınızla aynı şey değildir, ve bu karıştırma en yaygın olanı. Ana bilgisayar anahtarı sunucunun kimliğidir; parola yerine anahtarla giriş yapmanızı sağlayan anahtar ise sizin kimliğinizdir. İkisi ayrı bölümlerde ele alınıyor çünkü ayrı işler.

Parmak izini bağlanmadan da öğrenebilirsiniz

Bir cihazın ana bilgisayar anahtarını, oturum açmadan, ssh-keyscan ile çekebilirsiniz. Lab switch’ine sorduğumuzda dönen tek anahtar ve onun parmak izi şu:

Bash
ssh-keyscan 192.168.1.2 > anahtarlar.txt
ssh-keygen -lf anahtarlar.txt
Çıktı
1024 SHA256:9Uw/V4h+wfWpGJkdjUW86Rubnjk9818k8Uw0dBS2Kxc 192.168.1.2 (RSA)

Bu tek satır iki şey söylüyor. Birincisi ve asıl amacı: elinizde artık karşılaştırabileceğiniz bir parmak izi var. Yeni bir yöneticiye cihaz teslim ederken ya da bir cihaza ilk kez bağlanacak birine talimat verirken doğru yol budur; “çıkan soruya evet de” değil, “parmak izi şu olmalı” demek.

İkincisi ise beklemediğimiz bir bulgu. Satırın başındaki 1024 anahtarın uzunluğu ve bu bugünün ölçütlerine göre yetersiz; RSA’da alt sınır uzun süredir 2048 kabul ediliyor. Üstelik ssh-keyscan yalnızca tek bir anahtar döndürdü: cihazda ne ed25519 ne ECDSA var, sadece eski bir RSA anahtarı.

Ölçtük: anahtar makineyi tanımlar, adresi değil

Bunu lab ortamımızda kazara ölçmüş olduk. İstemcinin sakladığı ana bilgisayar anahtarı kayıtlarına baktığımızda iki çift dikkat çekti:

Çıktı
ssh-ed25519@22:192.168.1.102   →  0x3ae8fff682a604ccb9d6721d8ce9d3b43451...
ssh-ed25519@22:192.168.1.15    →  0x3ae8fff682a604ccb9d6721d8ce9d3b43451...

ssh-ed25519@22:192.168.1.107   →  0x50875a52acd5ee50f35394ce9b6138bfb06f...
ssh-ed25519@22:192.168.1.30    →  0x50875a52acd5ee50f35394ce9b6138bfb06f...

Dört ayrı adres, ama anahtarlar ikişer ikişer birebir aynı. Sebebi kayıtlarımızda duruyor: iki lab sunucusu da bir tarihte DHCP adresinden statik adrese taşındı. Makineler aynı kaldı, adresleri değişti, anahtarları değişmedi.

Buradan iki pratik kural çıkıyor ve ikisi de sahada işinize yarar:

  • Yeni bir adreste tanıdık bir parmak izi görüyorsanız, makine aynı makinedir. Adres değişmiş, cihaz değişmemiştir.
  • Bilinen bir adreste parmak izi değişmişse, iki ihtimal vardır: cihaz yeniden kurulmuş ya da anahtarı yenilenmiştir, veya bağlandığınız şey o cihaz değildir. İstemcinin o noktada verdiği sert uyarı tam da bunun içindir ve geçiştirilmemelidir.
Ana bilgisayar anahtarının neyi tanımladığını gösteren iki durum. Solda aynı makineye iki farklı adresten bakılmıştır: 192.168.1.102 ve 192.168.1.15 adreslerinin ikisinde de parmak izi aynıdır, çünkü makine taşınmış ama anahtarı değişmemiştir. Sağda ise adres aynı kalmış, o adreste tanınan anahtar değişmiştir; bu ya cihazın yeniden kurulduğu ya da bağlanılan şeyin o cihaz olmadığı anlamına gelir ve istemcinin sert uyarısı tam olarak bunun içindir. Kayıt adrese göre tutulduğu için, aynı makineye yeni adresinden bağlanırken soru yeniden sorulur. Adres değişti, anahtar değişmedi Adres aynı, anahtar değişti 192.168.1.102 192.168.1.15 192.168.1.30 5087...b06f başka bir anahtar 3ae8...3451 ikisinde de aynı parmak izi dün kayıtlı olan bugün gelen Makine aynı makine. Adres değişmiş, cihaz değişmemiş. Ya cihaz yeniden kuruldu, ya bağlandığınız şey o cihaz değil. Yine de istemci yeni adreste soruyu tekrar sorar. Anahtar makineyi tanımlar, adresi değil. Kayıt ise adrese göre tutulur. İki kural da aynı anda doğru: birincisi tanıdık parmak izini açıklar, ikincisi sorunun neden yeniden sorulduğunu. Ana bilgisayar anahtarının neyi tanımladığını gösteren iki durum. Üstte aynı makineye iki farklı adresten bakılmıştır: 192.168.1.102 ve 192.168.1.15 adreslerinin ikisinde de parmak izi aynıdır, çünkü makine taşınmış ama anahtarı değişmemiştir. Altta ise adres aynı kalmış, o adreste tanınan anahtar değişmiştir; bu ya cihazın yeniden kurulduğu ya da bağlanılan şeyin o cihaz olmadığı anlamına gelir ve istemcinin sert uyarısı tam olarak bunun içindir. Kayıt adrese göre tutulduğu için, aynı makineye yeni adresinden bağlanırken soru yeniden sorulur. Adres değişti, anahtar değişmedi 192.168.1.102 192.168.1.15 192.168.1.30 5087...b06f başka bir anahtar 3ae8...3451 ikisinde de aynı dün kayıtlı olan bugün gelen Makine aynı makine. Adres değişmiş, cihaz değişmemiş. Yine de istemci yeni adreste soruyu tekrar sorar. Adres aynı, anahtar değişti Ya cihaz yeniden kuruldu, ya bağlandığınız şey o cihaz değil. Anahtar makineyi tanımlar, adresi değil. Kayıt ise adrese göre tutulur.
Soldaki iki adres lab kayıtlarımızdan: makineler statik adrese taşındı, parmak izleri değişmedi. Sağdaki durum ise tam tersini söyler ve istemcinin sert uyarısı orada devreye girer.

Peki istemci bu kaydı nerede tutuyor? Linux ve macOS’ta ev dizininizdeki ~/.ssh/known_hosts dosyasında, Windows’ta ise kullandığınız istemcinin kendi deposunda. Her satır bir adres ve o adreste tanınan anahtardır. Yukarıdaki ölçüm de zaten bu dosyanın içeriğinden çıktı.

Kaydın adrese göre tutuluyor olması, aynı makineye yeni adresinden bağlandığınızda sorunun yeniden sorulmasının sebebi. Bu bir arıza değil; istemci o adreste daha önce kimseyi tanımıyordu. Aynı sebeple, bir cihaz yeniden kurulduğunda known_hosts içindeki eski satır artık yanlıştır ve istemci sert bir uyarı verir; doğru refleks satırı silmek değil, önce neden değiştiğini öğrenmektir.

Sertifika ile SSH Aynı Şey Değil: İki Güven Modeli

HTTPS ile bir siteye girdiğinizde tarayıcınız size “bu parmak izine güveniyor musunuz” diye sormaz. SSH sorar. Aynı matematik çalışıyorken neden biri soruyor da diğeri sormuyor?

Cevap güven modelinde. İkisi de açık anahtar ve imza kullanır, ama kefil farklıdır.

Sertifika dünyasında üçüncü bir taraf kefil olur. Sunucunun açık anahtarı, adı ve geçerlilik süresiyle birlikte bir belgeye konur ve bir sertifika otoritesi o belgeyi imzalar. O otoritenin kök sertifikası zaten bilgisayarınızda kayıtlıdır, dolayısıyla tarayıcı doğrulamayı kendi başına yapar ve size soru sormaz. İmzanın neden taklit edilemediğini ve bu zincirin nasıl kurulduğunu sertifika otoritesi yazımızda ele aldık.

SSH’ta böyle bir kefil yoktur. Cihaz kendi kefilidir. Elinde bir belge değil, yalnız kendi anahtar çifti vardır. Bu yüzden ilk karşılaşmada kararı size devreder: “bu ritmi tanıyor musunuz?”

Buradan çıkan ayrım, iki kavramın karıştırıldığı yeri de netleştiriyor:

İçinde ne varKefil
Anahtar çiftiYalnız iki sayı. İsim yok, süre yokYok
SertifikaAçık anahtar + kimlik bilgisi + CA imzasıSertifika otoritesi

Bir ağ cihazında crypto key generate rsa çalıştırdığınızda sertifika üretmezsiniz, yalnız anahtar çifti üretirsiniz. Ortada ne belge vardır ne otorite. Telgraf benzetmesiyle: elinizde kimlik kartı yoktur, yalnız tanınabilir bir ritminiz vardır.

Buradaki söz dizimi lab ortamımızdaki switch’e ait ve komut üreticiden üreticiye, hatta aynı üreticinin farklı yazılım sürümünde bile değişir. Kendi cihazınızdaki karşılığını yapılandırma kipinde ? yazarak bulabilirsiniz. Değişmeyen şey komutun adı değil, ne ürettiği: hangi cihazda çalıştırırsanız çalıştırın sonuç bir anahtar çiftidir, sertifika değil.

SSH Sürüm 1 ve 2: Sürümü Neden Sınırlamalısınız?

Bu konudaki her kaynak aynı şeyi söylüyor: SSH sürüm 1 kriptografik olarak kırıktır ve kullanımdan kaldırılmıştır. Doğru, ve tekrar etmenin bir faydası yok.

Faydalı olan başka bir soru: sizin cihazınız hâlâ kabul ediyor mu?

Lab ortamımızdaki yönetilebilir switch’e sorduğumuzda çıkan cevap şu:

Çıktı
SSH Server enabled.  Port: 22
Protocol Levels: Versions 1 and 2.
SSH Connections Currently in Use: 1
Maximum number of SSH Sessions Allowed: 5
SSH Session Timeout: 600
RSA key was generated.
DSA key was generated.
SSH Public Key Authentication is disabled.

Versions 1 and 2. Yani üretimde kullanılan bir yönetilebilir switch, 2026 yılında hâlâ SSH Version 1 ile konuşmayı kabul ediyor. Kimse bunu açmadı; varsayılan böyle geldi ve kimse bakmadı.

Daha rahatsız edici olan şu: bunu öğrenmek için cihaza giriş yapmaya bile gerek yok. Yukarıda okuduğumuz SSH-1.99-OpenSSH_6.5 bannerındaki 1.99, aynı bilgiyi kimlik doğrulanmadan, düz metin olarak veriyor. Ağı tarayan biri hangi cihazların hâlâ eski sürümü kabul ettiğini tek bir bağlantıyla listeleyebilir. Yani bu ayar yalnızca bir zafiyet değil, aynı zamanda ilan edilmiş bir zafiyet.

Kendi cihazınızda kontrol etmenin iki yolu var. Cihaza girip durumu sorabilirsiniz, ya da dışarıdan bannerına bakabilirsiniz; ikincisi daha hızlıdır ve envanterdeki tüm cihazlar için tekrarlanabilir.

Buradaki ders protokolle ilgili değil, alışkanlıkla ilgili. “Telnet’i kapattık, SSH’a geçtik” cümlesi bir işi bitirdiğinizi söyler, hepsini değil. Şifreli bir kanalınız vardır ama kanalın en zayıf sürümü hâlâ açıktır ve ısrar eden bir istemci onu kullanabilir.

Aynı çıktının alt satırı da ayrı bir eksiği söylüyor: SSH Public Key Authentication is disabled. Yani cihaza hâlâ parolayla giriliyor. Ona da bir sonraki bölümde geliyoruz.

Parola Yerine Anahtar: Mekanizma ve Ne Zaman Gerekir?

Anahtar tabanlı kimlik doğrulama, sunucu kimliğinin aynadaki görüntüsüdür. Orada cihaz kendini kanıtlıyordu, burada siz kendinizi kanıtlıyorsunuz, ve yine parola göndermeden.

Mekanizma şöyle işler. Sizin de bir anahtar çiftiniz olur: özel anahtar sizin makinenizde kalır, açık anahtar sunucuya tanıtılır. Giriş sırasında sunucu size bir soru gönderir, siz özel anahtarınızla imzalarsınız, sunucu açık anahtarla doğrular. Parola hiçbir aşamada ağa çıkmaz, çünkü ortada parola yoktur.

Bu anahtarın kazandırdığı şey yalnız kabuk erişimi değil. SSH oturumu tek bir boru değil, kanallara ayrılabilen bir taşıyıcıdır: aynı şifreli oturumun içinde biri size komut satırı verirken bir diğeri dosya aktarır. SFTP işte bu ikinci kanaldır ve ayrıca kurulmaz, sunucuda SSH çalışıyorsa zaten tanımlıdır. Adına rağmen FTP ile akrabalığı yoktur; neden ayrı bir protokol olduğunu ve FTPS ile karıştırılmasının sahada neye mal olduğunu FTP, FTPS ve SFTP farkı rehberimizde ele alıyoruz. Pratik sonucu şudur: burada anlattığımız sıkılaştırma adımları dosya aktarımınızı da kapsar, ikisi ayrı yapılandırmalar değildir.

Kazancı üç yerde görünür:

  • Çalınacak bir parola kalmaz. Hattı dinleyen, sunucuyu ele geçiren ya da veritabanını okuyan biri kullanılabilir bir sır bulamaz.
  • Tekrar oynatılamaz. Her girişte farklı bir soru imzalanır, kaydedilen bir oturum yeniden kullanılamaz.
  • Özel anahtar makinenizden çıkmaz. Sunucuya güvenmek zorunda kalmazsınız.

Karşılığında bir sorumluluk gelir: özel anahtarınız artık kimliğinizdir. Parolayla korunması ve yedeğinin düşünülmesi gerekir.

Linux sunucularda bunun pratik kurulumunu, yani sshd_config üzerinden parolayla girişi kapatıp açık anahtarı tanıtmayı Ubuntu Server rehberimizin anahtar tabanlı kimlik doğrulama bölümünde ele aldık.

Ağ cihazlarında ise durum farklıdır ve genellikle atlanır: birçok switch ve router anahtar tabanlı girişi destekler ama varsayılan olarak kapalı gelir. Yukarıdaki ölçümde gördüğümüz disabled satırı tam olarak budur.

Ağ Cihazlarında SSH: Kurulumdan Sonra Ne Kalır?

SSH’ı anlatan Türkçe kaynakların neredeyse tamamı Linux sunucu üzerinden anlatıyor. Oysa sahada SSH’ın en çok konuşulduğu yer switch, router ve firewall yönetim arayüzleri. O tarafta kurulum bittikten sonra bakılması gereken üç şey var.

Birincisi, eskiyen imza algoritmaları. Bunu ölçerken birinci elden yaşadık: lab switch’ine modern bir istemciyle bağlanmak, komuta fazladan bir bayrak eklemeden mümkün olmadı.

Bash
ssh -o HostKeyAlgorithms=+ssh-rsa ilker@192.168.1.2

Sebebi o anahtarla atılan imzanın eski bir özet fonksiyonuna dayanması. Modern istemciler bu imza yöntemini varsayılan olarak reddediyor. Belirti kafa karıştırıcıdır: parola sorulmadan bağlantı reddedilir ve ilk akla gelen kimlik sorunu olur, oysa sorun müzakere aşamasındadır.

Burada gözden kaçan bir incelik var ve sıkılaştırma yaparken yanlış yere bakmanıza yol açıyor. Aynı bağlantının müzakere sonucuna baktığımızda tablo şöyle çıkıyor:

Çıktı
kex: algorithm: diffie-hellman-group-exchange-sha256
kex: host key algorithm: ssh-rsa
kex: server->client cipher: chacha20-poly1305@openssh.com

Trafiği koruyan şifre chacha20-poly1305, yani modern ve güçlü. Buna karşılık cihazın kimliğini kanıtladığı yöntem ssh-rsa, üstelik anahtarı 1024 bit. Kanal sağlam, kimlik zayıf. İkisi ayrı eksendir ve “trafiğimiz güçlü şifreyle korunuyor” cümlesi ikincisi hakkında hiçbir şey söylemez.

Cihaz yazılımı güncellenirse ikisi de düzelir. Güncellenemiyorsa bayrak geçici bir çözümdür ve o cihaz emeklilik listesine girer.

İkincisi, oturum sınırları. Yukarıdaki çıktıda SSH Session Timeout: 600 ve Maximum number of SSH Sessions Allowed: 5 satırları duruyor. Zaman aşımı, açık unutulmuş bir oturumun süresiz beklemesini engeller. Bu ayarların varlığını bilmek, bir cihazda “kimse bağlı değil ama oturum dolu” hatasını teşhis ederken de işinize yarar.

Üçüncüsü, erişimin nereden geldiği. SSH şifreli olduğu için yönetim arayüzünü herkese açık bırakmanın sakıncası yok sanılır. Şifreleme trafiği korur, erişimi sınırlamaz. Doğru kurgu yönetim arayüzlerini ayrı bir yönetim ağına almak ve oraya kimlerin girebildiğini daraltmaktır; switch ve router tarafındaki yönetim erişimini nasıl kurguladığımızı switch ve router kurulumu yazımızda ele alıyoruz.

SSH Sıkılaştırma: Sık Yapılan Hatalar

“SSH açık, o zaman güvendeyiz.” Bu yazının en çok düzeltmek istediği cümle. SSH’ın açık olması kanalın şifreli olduğunu söyler; hangi sürümlerin kabul edildiğini, nasıl kimlik doğrulandığını ve kimin erişebildiğini söylemez. Ölçtüğümüz cihazda üç ayarın ikisi eksikti.

Parmak izi uyarısını geçiştirmek. İstemci “ana bilgisayar anahtarı değişti” diye sert bir uyarı verdiğinde, refleks çoğu zaman uyarıyı susturmak olur. Oysa o uyarı SSH’ın size verebileceği en değerli sinyaldir. Cihaz yeniden mi kuruldu, yoksa bağlandığınız şey o cihaz değil mi? İkisi de araştırılmayı hak eder.

Parolayla girişi kalıcı çözüm saymak. Anahtar tabanlı kimlik doğrulama çoğu cihazda destekleniyor ama kapalı geliyor. Kapalı kaldığı sürece elinizde çalınabilir bir sır vardır.

Sunucu kimliğini ve kullanıcı kimliğini karıştırmak. “SSH anahtarı” ifadesi iki farklı şey için kullanılıyor ve bu, sıkılaştırma sırasında yanlış ayarın açılmasına yol açıyor. Cihazın anahtarı zaten üretilmiş olabilir; bu, sizin anahtarla giriş yapabildiğiniz anlamına gelmez.

Eski cihazı bayrakla yaşatmak. Yukarıdaki HostKeyAlgorithms bayrağı bir teşhis aracıdır, bir çözüm değil. Her bağlantıda kriptografik kısıtı gevşetmek zorunda kalıyorsanız, çözülmesi gereken şey komut satırınız değil o cihazın yazılımıdır.

Sonuç

SSH’ı Telnet’in şifreli hali diye anlatmak, yaptığı işin yalnızca üçte birini anlatmaktır. Kanalı kapatır, evet; ama aynı zamanda karşı tarafın kim olduğunu kanıtlar ve sizin kim olduğunuzu parola göndermeden ispatlamanıza izin verir.

Sahada eksik kalan da genellikle ilk iş değil, diğer ikisi oluyor. Kanal şifrelenir ve iş bitmiş sayılır; oysa cihaz hâlâ kırık bir sürümü kabul ediyor, giriş hâlâ parolayla yapılıyor ve ilk bağlantıdaki parmak izi sorusu hiç okunmadan geçiliyor.

Telgraf operatörü karşısındakini ritminden tanırdı. SSH size aynı imkanı veriyor, üstelik matematiksel bir kesinlikle. Tek istediği, ritmi bir kez gerçekten dinlemeniz.

SSH Hakkında Sık Sorulan Sorular

SSH'ın açık olması tek başına güvenlik sağlamaz, yalnızca kanalın şifreli olduğunu söyler. Kontrol edilmesi gereken üç ayar daha vardır: cihaz hangi protokol sürümlerini kabul ediyor, parola yerine anahtarla giriş açık mı, ve oturum zaman aşımı tanımlı mı. Lab ortamımızdaki yönetilebilir switch'te SSH açıktı ama kırık kabul edilen sürüm 1 de kabul ediliyordu ve anahtar tabanlı kimlik doğrulama kapalıydı.
O soru, bağlandığınız cihazın kimliğini doğrulamanızı ister. SSH'ta sertifika otoritesi gibi üçüncü bir taraf yoktur; cihaz kendi kefilidir. İstemci ilk bağlantıda cihazın açık anahtarının özetini kaydeder ve sonraki bağlantılarda değişip değişmediğine bakar. Bilinen bir adreste parmak izinin değişmesi, ya cihazın yeniden kurulduğu ya da bağlandığınız şeyin o cihaz olmadığı anlamına gelir.
İkisi de aynı matematiği kullanır ama güven modelleri farklıdır. HTTPS'te sunucunun kimliğine üçüncü bir taraf, yani sertifika otoritesi kefil olur ve o otoritenin kök sertifikası zaten bilgisayarınızda kayıtlıdır; bu yüzden tarayıcı size soru sormaz. SSH'ta böyle bir kefil yoktur, cihaz kendini kendi anahtarıyla tanıtır ve ilk karşılaşmada kararı siz verirsiniz.
İlker Pehlivan

Yazan

İlker Pehlivan

BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi

İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştüren bir ağ ve sistem mühendisidir. Şirketlere özel teknoloji rehberleri burada.

Benzer Makaleler

Kurumsal Ağ Protokolleri: DHCP'den LDAP'a

Bir şirketi ayakta tutan ağ protokolleri: DHCP, DNS, Kerberos, LDAP, SMB, RDP, SSH ve BGP. Hangisi ne yapar, nasıl zincirlenir, bozulduğunda nereden anlaşılır.

31 dk okuma

ARP Nedir? MAC Adresi, ARP Tablosu ve Spoofing

ARP, IP adresini MAC adresine çeviren protokoldür. ARP tablosu durumları, yayın alanı sınırı ve ARP spoofing, gerçek makineden alınmış paket dökümleriyle.

41 dk okuma

DHCP Nedir? Ağda IP Adresi Nasıl Dağıtılır?

DHCP nedir, nasıl çalışır? Ağdaki cihazlara IP adresi, subnet, gateway ve DNS bilgisinin otomatik dağıtımı: DORA akışı, kira süresi, APIPA ve DHCP relay.

22 dk okuma

DNS Nedir, Nasıl Çalışır? Kayıt Türleri ve TTL

DNS nedir, nasıl çalışır? Kök, TLD ve yetkili sunucu zinciri; A, CNAME, MX, TXT kayıtları; nameserver devri, TTL ve önbellek, nslookup ile arıza teşhisi.

38 dk okuma

Kurumsal Firewall Kurulumu, Yönetimi ve Danışmanlığı

Kurumsal firewall kurulumu, yönetimi ve danışmanlığı: Fortinet, Palo Alto ve pfSense ile kural yönetimi, IPS/IDS, VPN ve sürekli izleme hizmeti sunuyoruz.

6 dk okuma

HTTP ve HTTPS Nedir? Aradaki Fark ve Şifreleme

HTTP ve HTTPS nedir, farkı ne? İstek ve yanıt anatomisi, durum kodları, şifresiz bağlantıda ne sızdığı ve TLS el sıkışması adım adım.

45 dk okuma

ICMP Nedir? Ping, TTL ve Tracert Komutu

ICMP, ping ve tracert komutunun altında çalışan protokoldür. Request timed out, Destination host unreachable ve General failure farkı, lab ölçümleriyle.

27 dk okuma

IP Adresi Nedir? Subnet Maskesi, CIDR ve IPv6

IP adresi nedir, subnet maskesi ne işe yarar, /24 ne demek? Ağ ve host kısmı ayrımını, özel adres aralıklarını ve IPv6'yı gerçek lab ölçümleriyle anlatıyoruz.

28 dk okuma

Kurumsal Kablosuz Ağ Tasarımı: Survey'den Kuruluma

Kurumsal kablosuz ağ tasarımı: survey planlamadan access point yerleşimine, PoE kablolamadan kanal planına kadar 63 AP'lik bir projede izlenen gerçek sıra.

25 dk okuma

Kerberos Nedir? Kimlik Doğrulama ve Bilet Mantığı

Kerberos nedir, nasıl çalışır? Bilet mantığını, paket düzeyinde yakalanmış gerçek akışı ve oturum açılamadığında izlenecek teşhis sırasını adım adım gösteriyoruz.

32 dk okuma

LDAP ve LDAPS Nedir? Dizin Sorgulama ve 636 Portu

LDAP nedir, nasıl çalışır? Dizin yapısı, DN ve base DN mantığı, bind türleri ve 389 ile 636 farkı; gerçek paket yakalamalarıyla anlatıyoruz.

38 dk okuma

NFS Nedir? NAS ve Sanallaştırmada Dosya Paylaşımı

NFS nedir, nasıl çalışır? UID/GID kimlik modeli, root_squash ayarı, NFS ile SMB'nin aynı klasörde çakışması ve izin sorunlarının teşhisi, lab ölçümleriyle.

26 dk okuma

NTP Nedir? Kurumsal Ağda Saat Senkronizasyonu

NTP nedir, nasıl çalışır? Stratum hiyerarşisi, ağda tek saat kaynağı, Kerberos'un beş dakikalık toleransı ve saat arızalarında teşhis sırası.

23 dk okuma

Port Nedir? TCP ve UDP Farkı, Bağlantı Arızası Tespiti

Port numarası ne işe yarar, TCP ve UDP farkı nasıl işler, açık port nasıl kontrol edilir ve bağlantı kurulmadığında arıza hangi tarafta, nasıl kanıtlanır?

35 dk okuma

RADIUS Sunucusu Nedir? 802.1X ile Ağ Kimlik Doğrulama

RADIUS sunucusu nedir, nasıl çalışır? 802.1X akışını, EAP yöntemlerini ve ağa bağlanamayan kullanıcıda izlenecek teşhis sırasını paket düzeyinde gösteriyoruz.

24 dk okuma

SMB Nedir? Dosya Paylaşımı ve SYSVOL Bağımlılığı

SMB nedir, nasıl çalışır? Dosya ve yazıcı paylaşımı, sürüm farkları, SMBv1 riski ve grup ilkelerinin SYSVOL üzerinden dağıtımı.

18 dk okuma

Kurumsal Switch, Router Kurulumu ve VLAN Yapılandırma

Kurumsal switch, router kurulumu ve VLAN yapılandırma: HSRP/VRRP yedekliliği, port güvenliği ve doğru mimari danışmanlığıyla güvenilir ağ altyapısı kuruyoruz.

7 dk okuma

Telnet Nedir? Şifresiz Yönetim Protokolü ve Riskleri

Telnet nedir, port 23 nasıl çalışır, parolayı neden düz metin taşır ve hâlâ açık bulunan cihazlarda ne yapılmalı: kapatma, SSH'a geçiş ve yönetim VLAN'ı.

16 dk okuma

VLAN Nedir? 802.1Q Etiketi, Access ve Trunk Farkı

VLAN tek switch'i mantıksal ağlara böler. 802.1Q etiketi, access ile trunk portun farkı ve native VLAN riski, gerçek paket dökümleriyle anlatılıyor.

32 dk okuma

NAT Nedir? Ağ Adresi Çevirisi Nasıl Çalışır?

NAT (Network Address Translation) nedir, SNAT ile DNAT farkı nedir, PAT nasıl çalışır ve NAT tablosu ne tutar? Çeviri tablosunu lab ortamında açıp gösteriyoruz.

32 dk okuma

RDP Nedir? Uzak Masaüstü Protokolü ve Güvenliği

RDP (Remote Desktop Protocol) nedir, 3389 portu ne yapar ve NLA ne işe yarar? Uzak masaüstü protokolünü Windows sunucuda ölçtük, güvenlik tarafıyla birlikte.

26 dk okuma

SNMP Nedir? MIB, OID ve Trap Mekanizması

SNMP nedir ve nasıl çalışır? Yönetici ve ajan mimarisi, MIB ile OID kataloğu, poll ve trap arasındaki fark, community string riski ve SNMPv3 ile çözümü.

24 dk okuma

Syslog Nedir? Facility, Severity ve 514 Portu

Syslog nedir, log satırı neye benzer? Facility ile severity tek sayıya nasıl sıkışır, 514 portu neden UDP: gerçek switch çıktısıyla anlatıyoruz.

21 dk okuma

FTP, FTPS ve SFTP Nedir? Aralarındaki Fark

FTP, FTPS ve SFTP arasındaki fark: iki kanallı mimari, aktif ve pasif mod, firewall arkasında kırılan aktarımlar ve paket düzeyinde şifresiz dosya kanıtı.

24 dk okuma

TFTP Nedir? Port 69, Switch Yedeği ve PXE

TFTP nedir, UDP 69 üzerinden nasıl çalışır ve switch yapılandırma yedeği neden bu protokolle alınır? Gerçek paket dökümü, PXE boot ve SFTP karşılaştırması.

23 dk okuma

TLS Nedir? SSL ile Farkı, Sürüm Pazarlığı ve Ölçümü

TLS nedir, SSL ile farkı ne? El sıkışmada sürüm ve şifre takımı nasıl seçilir, TLS 1.2 ile 1.3 arasında pakette ne değişir, sunucunuz hangisini konuşuyor?

34 dk okuma

IMAP Nedir, POP3 Nedir? Aralarındaki Fark

IMAP ile POP3 arasındaki fark: durumun sunucuda mı cihazda mı tutulduğu, 993 ve 995 portları, kota dolunca ne olur ve POP3'ten IMAP'a geçişin gerçek maliyeti.

18 dk okuma

SMTP Nedir? Mail Nasıl Gönderilir ve Neden Gitmez?

SMTP nedir, mail nasıl gönderilir: zarf ile başlık ayrımı, 25/587/465 portlarının farkı, STARTTLS öncesi düz metin okunan oturum ve gitmeyen mailin teşhisi.

22 dk okuma

Yapısal Kablolama ve Zayıf Akım: Kurumsal Bina Altyapısı

Kurumsal binada yapısal kablolama ve zayıf akım sistemleri nasıl kurulur? Kat kablolaması, kabinet düzeni, CAT6 ve fiber seçimi, test raporu ve saha hataları.

28 dk okuma

Ücretsiz Değerlendirme

SSH açık olması güvenli olduğu anlamına gelmez. Yönetim erişiminizi birlikte sıkılaştıralım.

İlgili Makaleler