CyberFlow Logo CyberFlow BLOG
Telnet Pentest

Telnet'ten SSH'ye Geçiş: Daha Güvenli Bir İletişim İçin Adımlar

✍️ Ahmet BİRKAN 📂 Telnet Pentest

Telnet'ten SSH'ye geçişin adımlarını ve önemini keşfedin. Verilerinizi korumak için gerekli güvenlik önlemlerini öğrenin.

Telnet'ten SSH'ye Geçiş: Daha Güvenli Bir İletişim İçin Adımlar

Bu blog yazısında, Telnet'ten SSH'ye geçiş sürecini, önemli adımları ve güvenlik sıkılaştırma yöntemlerini detaylı bir şekilde inceleyeceğiz. Siber güvenliğin temellerini güçlendirin.

Giriş ve Konumlandırma

Giriş

Siber güvenlik alanında bilinçli ve etkili bir yaklaşım geliştirmek için öncelikle kullanılan iletişim protokollerinin güvenlik düzeyini değerlendirmek önemlidir. Telnet, uzun yıllardır uzaktan erişim için geçerli bir yöntem olmuştur; fakat temel şifreleme ve güvenlik eksiklikleri nedeniyle günümüzde giderek daha az tercih edilmektedir. Bunun yerine, SSH (Secure Shell) protokolü daha güvenli bir bağlantı sunmaktadır ve bu geçiş, sistem yöneticileri ve güvenlik uzmanları için kritik öneme sahiptir.

SSH, tüm veri akışını uçtan uca şifreleyerek bilgi güvenliğini sağlamaktadır. Ayrıca, güçlü kimlik doğrulama yöntemleri ile birlikte, bir sunucu bağlantısının doğruluğunu kontrol etme olanağı sunar. Bu nedenle, Telnet'ten SSH'ye geçiş, yalnızca bir protokol değişikliği değil, aynı zamanda siber güvenlik stratejilerinin güçlendirilmesi anlamına gelir.

Telnet ve SSH: Temel Farklar

Telnet, iletilen veriyi şifrelemeden gönderdiği için sızma girişimlerine karşı son derece savunmasızdır. Hâlâ birçok organizasyon, eski projeler veya belirli sistem entegrasyonları için Telnet kullanıyor olabilir. Ancak bu, veri güvenliğini tehdit eden bir durum yaratır. SSH, verilerin güvenli bir şekilde gönderilmesine olanak tanıyan şifreleme ve kimlik doğrulama yöntemleriyle donatılmış bir protokoldür.

Medya ve veri iletişiminde herhangi bir açık metin gönderimi, bilgi sızıntısına neden olabilir. Aşağıda Telnet ile SSH arasındaki temel farklar özetlenmiştir:

Özellik Telnet SSH
Veri Şifreleme Hayır Evet
Bağlantı Güvenliği Düşük Yüksek
Kimlik Doğrulama Parola ile Anahtar tabanlı, 2FA ile

Siber Güvenlik ve Pentest Perspektifi

Pentest (penetrasyon testi) süreçleri, bir sistemin veya ağın güvenliğini değerlendirmenin önemli bir yoludur. Bu testler sırasında, Telnet kullanımının varlığı, açık iletişimin ve sızmalara neden olabilecek güvenlik açıklarının tespit edilmesine yol açar. Denetçiler, ağda Telnet portlarının açık olup olmadığını kontrol ederken, SSH'ye geçişin ardından bu portların kapatılması gerektiğini de not ederler.

Ayrıca, SSH kullanımı, sistem yöneticilerine daha az riskli bağlantı noktaları sunarken, sistemin yönetiminde daha fazla kontrol sağlar. Güvenlik açıklarının ve potansiyel sızma girişimlerinin tespiti, SSH protokolünün kullanılması sonucunda büyük ölçüde azalır.

Okuyucu Hazırlığı

Bu blog yazısında, Telnet'ten SSH'ye geçişin teknik adımlarını ayrıntılı bir şekilde inceleyeceğiz. Okuyucuların, geçiş sürecine hazırlıklı olmaları adına ilk olarak mevcut durum analizi yapmaları gerektiği unutulmamalıdır. Bunun için aşağıdaki komut, hedef makinedeki port durumunu kontrol etmeye yardımcı olacaktır:

nmap -p 22,23 [Hedef_IP]

Bu komut, belirli bir IP adresinde 22 (SSH) ve 23 (Telnet) numaralı portların açık olup olmadığını tespit etmek için kullanılır. Ayrıca, potansiyel bir tehdit ortamının haritasını çıkararak, daha güvenli bir altyapıya geçilmeden önce hangi kapıların açılmaması gerektiği konusunda bilgi edinilmesini sağlar.

Sonuç olarak, Telnet'ten SSH'ye geçiş, siber güvenlik açısından kritik bir adım olarak karşımıza çıkmaktadır. Bu süreç, yalnızca daha güvenilir bir iletişim sağlamakla kalmayacak, aynı zamanda organizasyonel güvenliği de güçlendirecektir. Okuyucular, bu yazının ilerleyen bölümlerinde her bir geçiş adımını ve uygulanabilir çözümleri bulacaklar.

Teknik Analiz ve Uygulama

Mevcut Durum Analizi

Siber güvenlik açısından kritik bir sistemde, Telnet ve SSH kullanımı arasında bir geçiş yapmadan önce mevcut sistem durumunun analiz edilmesi gerekmektedir. Telnet, verilerin şifrelenmeden iletilmesi nedeniyle birçok zafiyeti beraberinde getirmektedir. Bu nedenle, sistem üzerindeki açık bağlantı noktalarının durumu gözden geçirilmelidir.

Aşağıdaki komut ile ilgili portların durumunu kontrol edebiliriz:

nmap -p 22,23 10.0.0.1

Bu komut, 10.0.0.1 IP adresine sahip hedef makine üzerindeki 22 ve 23 numaralı portların durumunu gösterecektir. SSH için varsayılan port 22 iken, Telnet için varsayılan port 23’tür.

Telnet ve SSH Karşılaştırması

Telnet, tüm veriyi şifrelenmeden (clear-text) gönderdiği için ciddi bir güvenlik açığı oluştururken, SSH (Secure Shell) veriyi uçtan uca şifreleyerek koruma sağlayan bir protokoldür. Bu bağlamda, SSH'nin avantajları şu şekildedir:

  • Şifreleme: Verilerin ağ üzerinden güvenli bir şekilde iletilmesini sağlar.
  • Kimlik Doğrulama: RSA veya Ed25519 anahtarları gibi daha güvenli yöntemlerle kimlik doğrulama yapabilmektedir.
  • Güvenlik Politikaları: Kullanıcıların ne zaman ve nasıl sistemlere erişeceğini kontrol altında tutar.

Güvenli Liman Portu

SSH için varsayılan port numarası 22’dir. Telnet gibi eski ve güvensiz bir protokolü kullanmak yerine bu güvenli port üzerinden iletişim sağlamak, veri güvenliğini büyük oranda artırır. SSH’ın sağladığı bu güvenli haberleşme altyapısı, siber saldırılara karşı koyma kabiliyetimizi artırmaktadır.

SSH Servisini Kurma

Linux tabanlı sistemlerde SSH sunucusu kurmak için şu komutu kullanabilirsiniz:

sudo apt install openssh-server

Kurulumdan sonra, SSH servisini başlatmak için aşağıdaki komut kullanılabilir:

sudo systemctl start ssh

Bu işlem tamamlandıktan sonra, SSH’ın düzgün çalışıp çalışmadığını kontrol etmek için:

sudo systemctl status ssh

Kimlik Doğrulama Yöntemleri

SSH'de kullanılan kimlik doğrulama yöntemleri, sistem güvenliğini büyük ölçüde etkiler. Genel olarak iki ana kimlik doğrulama yöntemi bulunmaktadır:

  • Parola Tabanlı Kimlik Doğrulama: Kullanıcı adı ve şifre kullanarak giriş yapma, ancak kaba kuvvet saldırılarına karşı savunmasızdır.
  • Anahtar Tabanlı Kimlik Doğrulama: RSA veya Ed25519 anahtarları kullanarak yapılan şifreli giriş, daha güvenli bir alternatiftir.

Anahtar tabanlı kimlik doğrulama için SSH anahtar çiftleri oluşturulmalıdır. Aşağıdaki komut ile RSA anahtarları oluşturabilirsiniz:

ssh-keygen -t rsa -b 4096

Alternatif olarak, daha modern bir yöntem olan Ed25519 anahtar çiftlerini oluşturmak için de aşağıdaki komutu kullanabilirsiniz:

ssh-keygen -t ed25519

Eskiyi Kapatmak: Telnet'i Durdurma

SSH servisi çalışır hale geldikten sonra, eski ve güvensiz Telnet servisinin durdurulması gerekmektedir. Aşağıdaki komut bu amaçla kullanılabilir:

sudo systemctl stop telnetd
sudo systemctl disable telnetd

Bu komutlar, Telnet servisini durdurur ve sistemin başlangıcında otomatik olarak başlamasını engeller.

Yapılandırma Dosyası Hardening

SSH servisini daha güvenli hale getirmek için yapılandırma dosyasında bazı değişiklikler yapılmalıdır. SSH yapılandırma dosyası genellikle /etc/ssh/sshd_config konumundadır. Bu dosyayı düzenleyerek aşağıdaki ayarları yapmak mümkündür:

PermitRootLogin no
PasswordAuthentication no
X11Forwarding no

Bu ayarlar, root kullanıcısının doğrudan girişini yasaklar, parola yerine anahtar tabanlı doğrulama zorunluluğunu getirir ve GUI üzerinden yapılacak tünelleme işlemlerini devre dışı bırakır.

Güvenlik Sıkılaştırma

SSH yapılandırmasının uygulanmasının ardından, sistemin genel güvenliğini artırmak için çeşitli sıkılaştırma (hardening) tekniklerinin uygulanması önerilir. Bunlar arasında gereksiz hizmetlerin kapatılması, güncellemelerin düzenli olarak yapılması ve izleme sistemlerinin kurulması bulunmaktadır.

Final Kontrolü: Servis Durumu

Geçiş süreci tamamlandıktan sonra SSH servisinin düzgün çalışıp çalışmadığını kontrol etmek için tekrar aşağıdaki komut kullanılabilir:

sudo systemctl status ssh

Bu komut, SSH servisinin çalışıp çalışmadığını, hata varsa ne olduğunu ve diğer detayları gösterir.

Göçün Kazanımları

Telnet'ten SSH'ye geçiş, güvenlik açığını kapatmanın yanı sıra veri bütünlüğünü ve gizliliğini sağlamaktadır. Bu geçiş sayesinde, siber tehditlere karşı daha dirençli bir yapı oluşturulmuş olmaktadır. Ayrıca, sistem yöneticileri daha güvenilir bir erişim kontrolü sağlamış olur.

Süreç Adı

Bu teknik geçiş sürecine "migration" (göç) denilmektedir. Sistemdeki zafiyetlerin kapatılarak daha güvenli bir yapıya geçiş, kuruluşların siber güvenlik stratejileri açısından kritik öneme sahiptir.

Risk, Yorumlama ve Savunma

Mevcut Durum Analizi

Telnet, veri iletiminde açık metin kullanımıyla ciddi bir güvenlik riski taşır. Dolayısıyla, bilgi sistemleri yöneticileri için mevcut sistemlerin güvenlik değerlendirmesini yapmak hayati bir önem taşır. Telnet hizmetinin açık olduğu her durumda, veri aktarımı sırasında kötü niyetli saldırganların, şifrelerin ve diğer hassas bilgilerin, herhangi bir şifreleme olmaksızın, tespit edilebilmesi için bu bağlantıları dinleyebileceği unutulmamalıdır.

Örneğin, hedef sistemdeki (10.0.0.1) 22 ve 23 numaralı portların durumunu kontrol etmek için aşağıdaki komut kullanılabilir:

nmap -p 22,23 10.0.0.1

Bu komut, mevcut açık portlar arasında hangi protokollerin aktif olduğunu belirler ve bunu bilmek, olası yapılandırma hatalarını önlemede veya zafiyetlerin tespiti konusunda ilk adımdır. Her iki portun durumu, performans dışında ciddi güvenlik açığı oluşturuyorsa, her şeyden önce Telnet'in kapatılması gerekir.

Telnet ve SSH Karşılaştırması

Telnet, kullanıcıların uzak sistemlere bağlanmasına olanak tanıyan ilk protokollerden biri olsa da, şifreleme olmadan veri iletimi gerçekleştirir. Bu nedenle, Telnet üzerinden doğrudan kullanılabilen veriler, saldırganlar tarafından kolaylıkla ele geçirilebilir. Öte yandan, SSH (Secure Shell) veri akışı sırasında güçlü bir şifreleme sağlayarak, verilerin bütünlüğünü ve gizliliğini garanti altına alır.

Telnet ve SSH protokollerinin karşılaştırılması, hangi protokolün daha güvenilir olduğunu anlamak için temel bir adımdır. Özellikle, SSH'nin sağladığı şifreleme, hem veri bütünlüğünü (Integrity) hem de gizliliği (Confidentiality) sağlarken, Telnet bu tür güvenlik önlemlerini sağlamaz.

Yanlış Yapılandırmalar ve Zafiyetler

Yanlış yapılandırmalar, genellikle servislerin kimlik doğrulama süreçlerinde yaşanılan aksaklıklara neden olabilir. Örneğin, Telnet kullanımı devam ediyorsa, bir saldırgan, oturum açıksa kullanıcı adı ve parolaları kolayca elde edebilir. Ayrıca, SSH'deki yapılandırma dosyalarının (örneğin, sshd_config) varsayılan ayarları, pek çok sistemde güvenlik zayıflığına yol açabilir.

Aşağıda yaygın yanlış yapılandırmalara bağlı olarak oluşturulabilecek riskler sıralanmıştır:

  1. Parola ile Kimlik Doğrulama: Basit ve kolay hatırlanabilen parolaların kullanılması, kaba kuvvet saldırılarına açık bir zayıflık oluşturur. Bu tür bir yapılandırmada, anahtar tabanlı kimlik doğrulama yöntemlerine geçiş elzemdir.

  2. Root Girişi: PermitRootLogin ayarının 'yes' olarak kalması, bir saldırının başarılı olması durumunda tüm sisteme erişim sağlanmasına neden olur.

  3. Şifrelemenin Olmaması: Eğer SSH'ın varsayılan ayarları (Port 22) kullanılmıyorsa veya şifreleme devre dışı bırakılmışsa, veri gizliliği ciddi şekilde zayıflar.

Profesyonel Önlemler ve Hardening Önerileri

SSH'ye geçiş sonrasında güvenliği artırmak için aşağıdaki hardening adımları atılabilir:

  1. Anahtar Tabanlı Kimlik Doğrulama: Kötü niyetli kullanıcıların sisteme girişini zorlaştırmak için RSA veya Ed25519 anahtarları ile kimlik doğrulaması yapılmalıdır.

  2. Parola Kimlik Doğrulamanın Kapatılması: PasswordAuthentication no ayarı ile parola ile giriş işlemleri devre dışı bırakılmalı ve yalnızca anahtar kullanılarak giriş yapılmasına olanak tanınmalıdır.

  3. Root Girişini Durdurma: PermitRootLogin no ayarı ile root kullanıcılarının doğrudan SSH ile giriş yapmasını engellemek, sistemin güvenliğini artırır.

  4. Güvenlik Güncellemeleri: Tüm sistemlerin ve yazılımların güncel olduğu kontrol edilmeli; güvenlik yamaları uygulanmalıdır.

  5. Anahtar Güvenliği: Anahtarların güvenli bir yerde saklanmasını sağlamak ve şifrelenmiş anahtarlar kullanmak kritik bir öneme sahiptir.

Sonuç

SSH'ye geçiş sadece protokol değişikliği değil, aynı zamanda tüm sistemin güvenliğine yönelik kapsamlı bir adım olarak da değerlendirilmelidir. Verilerin güvenliğini artırmak ve olası saldırılara karşı koruma sağlamak için, yukarıda belirtilen hardening stratejileri uygulanmalı ve risk değerlendirmeleri düzenli olarak gerçekleşmelidir. Sonuç olarak, zayıf yapılandırmaların ve Telnet kullanımının ortadan kaldırılması, güvenli bir işletim ortamının oluşturulmasında belirleyici bir rol oynar.