0Pricing
Security+ Academy · Ders

Güvensiz Protokolleri Değiştirme: Telnet ve SSH, FTP ve SFTP

Telnet, FTP ve HTTP gibi açık metin protokollerinin kimlik bilgilerini neden açığa çıkardığını ve şifreli karşılıklarının (SSH, SFTP, HTTPS) bu sorunları nasıl çözdüğünü öğrenin.

Güvensiz Protokolleri Değiştirme: Telnet ve SSH, FTP ve SFTP, CoddyKit'te ücretsiz bir Security+ Academy dersidir. Bu, 4 dersinin 1. 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, Security+ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Security+ Academy kursu toplamda 4 dersten oluşur.

Açık Metin Protokollerindeki Sorun

Temel internet protokollerinin çoğu, güvenliğin öncelikli bir konu olmadığı 1970'lerde ve 1980'lerde tasarlanmıştır. Açık metin protokolleri, kullanıcı adları, parolalar ve hassas bilgiler dahil tüm verileri ağ üzerinden düz metin olarak iletir. Aynı ağ kesimindeki herhangi bir cihaz veya paketlerin geçtiği herhangi bir sistem, Wireshark gibi ücretsiz olarak kullanılabilen araçlarla bu trafiği yakalayıp okuyabilir. Ağ anahtarlarının bulunduğu ortamlarda (bu anahtarlar normalde bağlantı noktaları arasındaki trafiği yalıtır), ARP sahteciliği trafiği saldırganın sistemine yönlendirebilir; bu da açık metin protokollerini 'dahili' ağlarda bile tehlikeli kılar.

# What an attacker sees on the wire with Telnet
# (captured via Wireshark or tcpdump)

tcpdump -i eth0 -A port 23

# Sample Telnet capture output:
..login: admin..
..password: S3cr3tPa$$...
..$ ls -la /etc/passwd..

# Every keystroke is visible in plaintext
# Credentials, commands, and file contents - all exposed

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

Telnet (TCP bağlantı noktası 23), sistemlere uzaktan komut satırı erişimi sağlar; ancak her şeyi düz metin olarak iletir. Kullanıcı adı ve parola dışında yerleşik kimlik doğrulaması yoktur ve bunlar şifrelenmeden gönderilir. SSH (Secure Shell) (TCP bağlantı noktası 22), Telnet'in yerini şifrelenmiş ve kimliği doğrulanmış bir kanalla alır. SSH, bir oturum anahtarı oluşturmak için asimetrik anahtar değişimi kullanır; ardından sonraki tüm iletişimi simetrik şifrelemeyle şifreler. SSH ayrıca sunucunun kimliğini doğrular (sunucu taklidini önler) ve parola kimlik doğrulamasına ek olarak açık anahtar kimlik doğrulamasını (parolasız, ancak parolalardan daha güvenli) destekler.

# SSH connection (encrypted, server authenticated)
ssh admin@192.168.1.10

# SSH key-based authentication (no password)
ssh -i ~/.ssh/id_rsa admin@192.168.1.10

# Generate SSH key pair
ssh-keygen -t ed25519 -C 'admin@company.com'

# Copy public key to server
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@192.168.1.10

# Disable Telnet on network devices (Cisco IOS)
no service telnet
line vty 0 4
  transport input ssh
  login local

SSH Anahtar Değişimi ve Kimlik Doğrulama

SSH'nin güvenliği, sağlam bir anahtar değişimi sürecine dayanır. Bağlantı kurulurken istemci, sunucunun ana bilgisayar anahtarını yerel olarak saklanan bir kopyayla doğrular; bu, sunucu taklidini önler. Ana bilgisayar anahtarı beklenmedik şekilde değişirse SSH kullanıcıyı uyarır; bu, ortadaki adam saldırısının yaygın bir işaretidir. Sunucu doğrulandıktan sonra istemci kimlik doğrulaması şu yöntemleri kullanabilir: parola (iletim sırasında şifrelenir, kaba kuvvete açıktır), açık anahtar (istemci özel anahtara sahip olduğunu kanıtlar; çok daha güçlüdür) veya klavye etkileşimli (MFA'yı destekler). Kuruluşlar, internet'e açık SSH hizmetlerinde anahtar tabanlı kimlik doğrulamayı zorunlu kılmalı ve parola kimlik doğrulamasını devre dışı bırakmalıdır.

# Harden SSH server configuration
# /etc/ssh/sshd_config
Port 22
PermitRootLogin no
PasswordAuthentication no    # Require key auth only
ChallengeResponseAuthentication no
MaxAuthTries 3
AllowUsers admin deploy
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
ClientAliveInterval 300      # Disconnect idle sessions
ClientAliveCountMax 0

# Restart SSH after changes
systemctl restart sshd

FTP, SFTP ve FTPS Karşılaştırması

FTP (File Transfer Protocol) (TCP bağlantı noktaları 20/21), dosyaları düz metin olarak aktarır; kimlik bilgileri, komutlar ve dosya verilerinin tümü açığa çıkar. FTP ayrıca güvenlik duvarı kurallarını karmaşıklaştıran ayrı bir veri kanalı (pasif veya etkin kip) kullanır. SFTP (SSH File Transfer Protocol), dosya aktarımını 22 numaralı bağlantı noktasında SSH üzerinden tüneller; FTP'den tamamen farklıdır ve yalnızca benzer bir adı paylaşır. FTPS (FTP Secure), özgün FTP protokolüne TLS şifrelemesi ekler. SFTP, tek bir bağlantı noktası kullandığı ve SSH'nin kimlik doğrulama ile şifreleme özelliklerini devraldığı için genellikle tercih edilir. FTP, tüm üretim sistemlerinde devre dışı bırakılmalıdır.

# SFTP usage (over SSH, single connection)
sftp admin@fileserver.company.com
sftp> put localfile.zip /uploads/
sftp> get /reports/monthly.pdf .
sftp> ls /uploads/
sftp> exit

# Automated SFTP transfer with key auth
sftp -i ~/.ssh/id_rsa admin@fileserver.company.com <<EOF
put /tmp/report.csv /incoming/
EOF

# Disable FTP on Linux (remove vsftpd)
apt purge vsftpd
# Verify no FTP listener:
ss -tlnp | grep ':21'

HTTP ve HTTPS Karşılaştırması

HTTP (TCP bağlantı noktası 80), form verileri, oturum çerezleri ve kimlik doğrulama belirteçleri dahil web içeriğini düz metin olarak iletir. HTTPS (TCP bağlantı noktası 443), HTTP'yi TLS ile sararak şifreleme, sunucu kimlik doğrulaması ve veri bütünlüğü sağlar. Kuruluşlar her yerde HTTPS'yi zorunlu kılmalıdır: tüm HTTP trafiğini HTTPS'ye yönlendirin (301 yönlendirmesi), tarayıcıların HTTP üzerinden bağlanmasını önlemek için HSTS uygulayın ve oturum belirteçlerinin HTTP veya JavaScript üzerinden çalınmasını önlemek için Secure ve HttpOnly çerez bayraklarını yapılandırın. Modern tarayıcılar HTTP sitelerini 'Güvenli Değil' olarak işaretler; HTTPS artık tüm web hizmetleri için temel beklentidir.

# nginx: force HTTPS redirect
server {
  listen 80;
  server_name example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  ssl_certificate /etc/ssl/example.crt;
  ssl_certificate_key /etc/ssl/example.key;
  add_header Strict-Transport-Security
    'max-age=31536000; includeSubDomains; preload';
  add_header X-Content-Type-Options nosniff;
  add_header X-Frame-Options SAMEORIGIN;
}

SNMP v1/v2 ve SNMPv3 Karşılaştırması

SNMP (Simple Network Management Protocol), ağ cihazlarını ve sunucuları yönetir. SNMPv1 ve v2c, esasen paylaşılan parolalar olan topluluk dizelerini açık metin olarak gönderir; 'public' (okuma) ve 'private' (yazma) gibi topluluk dizeleri, saldırganların bildiği varsayılan değerlerdir. Bir saldırgan SNMP trafiğini yakaladığında topluluk dizesini öğrenebilir ve cihaz yapılandırmalarını okuyabilir veya cihaz ayarlarını değiştirebilir. SNMPv3, kullanıcıya özel kimlik bilgileriyle kimlik doğrulama (HMAC-MD5 veya HMAC-SHA) ve şifreleme (AES) ekler; bu da onu üretim ortamları için uygun olan tek sürüm yapar. SNMPv1/v2c devre dışı bırakılmalıdır.

# SNMPv3 configuration (Cisco IOS)
snmp-server group MYGROUP v3 priv
snmp-server user MONITORUSER MYGROUP v3 \
  auth sha MyAuthP@ss priv aes 128 MyPrivP@ss

# SNMPv3 query from monitoring server
snmpwalk -v3 -l authPriv \
  -u MONITORUSER \
  -a SHA -A MyAuthP@ss \
  -x AES -X MyPrivP@ss \
  192.168.1.1 sysDescr

# Disable SNMPv1/v2c:
no snmp-server community public ro
no snmp-server community private rw

LDAP ve LDAPS Karşılaştırması

LDAP (Lightweight Directory Access Protocol) (TCP bağlantı noktası 389), dizin hizmetlerinde (Active Directory, OpenLDAP) varsayılan olarak açık metin üzerinden kimlik doğrular ve sorgulama yapar; bu da kimlik bilgilerini ve dizin verilerini açığa çıkarır. LDAPS (LDAP over SSL/TLS, TCP bağlantı noktası 636), bağlantıyı bir sertifika kullanarak şifreler. StartTLS, aynı 389 numaralı bağlantı noktasını kullanarak mevcut bir LDAP bağlantısını TLS'ye yükselten bir alternatiftir. LDAPS ve StartTLS'nin her ikisi de şifreleme sağlar; ancak LDAPS genellikle daha basit ve daha güvenilirdir. Kuruluşlar, LDAP kullanan tüm uygulamaları LDAPS kullanacak şekilde yapılandırmalı ve güvenlik duvarında 389 numaralı bağlantı noktasındaki açık metin LDAP'yi engellemelidir.

POP3/IMAP ve Şifreli E-posta Alma Karşılaştırması

Eski e-posta istemcileri, e-postaları POP3 (bağlantı noktası 110) ve IMAP (bağlantı noktası 143) kullanarak açık metin üzerinden alır. Şifreli alternatifler şunlardır: POP3S (bağlantı noktası 995, TLS) ve IMAPS (bağlantı noktası 993, TLS). Modern e-posta platformları (Exchange Online, Google Workspace), tüm istemci bağlantıları için TLS'yi zorunlu kılar ve parolalar yerine OAuth 2.0 belirteç tabanlı kimlik doğrulamasını destekler. Kuruluşlar, e-posta protokollerinde temel kimlik doğrulamayı devre dışı bırakmalıdır; modern kimlik doğrulamasını (OAuth 2.0 + MFA) zorunlu kılmak, eski e-posta protokollerinin açık metin kimlik doğrulama mekanizmalarından yararlanan kimlik bilgisi doldurma saldırılarını önler.

# Protocol port reference card
Protocol    Insecure Port  Secure Port  Replacement
---------   ------------   ----------  -----------
Telnet      23             22           SSH
FTP         20/21          22           SFTP
HTTP        80             443          HTTPS
SMTP        25             587/465      SMTPS
POP3        110            995          POP3S
IMAP        143            993          IMAPS
LDAP        389            636          LDAPS
SNMP        161/162        161/162      SNMPv3
RDP         3389           3389         RDP+NLA+TLS

Protokol Değiştirme Uygulaması

Güvensiz protokolleri değiştirmek, yalnızca güvenli sürümü etkinleştirmekten fazlasını gerektirir; güvensiz sürüm etkin olarak devre dışı bırakılmalıdır. Adımlar: mevcut protokol kullanımını denetleyin (Nmap taramaları, güvenlik duvarı günlükleri), uygulamaları ve yapılandırmaları güvenli protokole geçirin, kapsamlı şekilde test edin (iş uygulamaları bozulabilir), ardından güvensiz protokolü güvenlik duvarında ve ana bilgisayarda engelleyin. Yaygın sorunlar: eski yazıcılar ve gömülü cihazlar çoğu zaman yalnızca FTP veya SNMPv2'yi destekler; eski endüstriyel sistemler Telnet'e bağlı olabilir. Bu durumlarda basit bir protokol yükseltmesi yerine ağ yalıtımı veya tedarikçi değişimi gerekir.

# Audit for insecure protocol usage
# Nmap: find all Telnet listeners on network
nmap -p 23 10.0.0.0/24 --open -sV

# Find FTP listeners
nmap -p 21 10.0.0.0/24 --open

# Find HTTP (not HTTPS) web services
nmap -p 80 --open 10.0.0.0/24

# Check for SNMPv1/v2c community strings
nmap -sU -p 161 --script snmp-info 10.0.0.0/24

# Block Telnet at firewall after migration
iptables -A FORWARD -p tcp --dport 23 -j DROP
iptables -A INPUT -p tcp --dport 23 -j DROP

Uzak Masaüstü Protokolü Güvenliği

RDP (Remote Desktop Protocol) (bağlantı noktası 3389), uzaktan Windows yönetimi için yaygın olarak kullanılır ve önemli bir saldırı hedefidir. Güvensiz RDP yapılandırmaları arasında 3389 numaralı bağlantı noktasını internete açmak, yalnızca parola tabanlı kimlik doğrulama kullanmak ve NLA'yı devre dışı bırakmak bulunur. RDP'yi güçlendirme: tam oturum açılmadan önce kimlik doğrulaması yapan Network Level Authentication (NLA)'yı etkinleştirin (kimliği doğrulanmamış bağlantıları engeller); tüm RDP oturumları için TLS 1.2+ zorunlu kılın; RDP'yi internete açmak yerine bir VPN veya RDP ağ geçidinin arkasına yerleştirin ve kaba kuvveti önlemek için hesap kilitlemeyi zorunlu kılın. Birçok fidye yazılımı kampanyası ilk erişimi internete açık ve yetersiz güvenli RDP üzerinden elde eder.

Güvensiz Protokolleri Aşamalı Olarak Kullanımdan Kaldırma

Üretim ortamlarında güvensiz protokollerden uzaklaşmak, iş kesintisini önlemek için dikkatli planlama gerektirir. Aşamalı yaklaşım: 1. Aşama — Keşfet: açık metin protokollerinin tüm kullanımlarını belirlemek için Nmap taramaları çalıştırın ve güvenlik duvarı günlüklerini denetleyin. 2. Aşama — Güvenli alternatifleri etkinleştir: mevcut güvensiz hizmetlerin yanında SSH, SFTP ve HTTPS'yi yapılandırın. 3. Aşama — Kullanıcıları geçirin: betikleri, uygulamaları, izleme araçlarını ve kullanıcı iş akışlarını güvenli protokolü kullanacak şekilde güncelleyin. 4. Aşama — Devre dışı bırak ve engelle: her ana bilgisayardaki güvensiz hizmeti devre dışı bırakın ve bağlantı noktasını güvenlik duvarında engelleyin. Her aşamada test yapmak, üretim kesintilerini önler.

# Phase 4: Disable and block Telnet permanently

# Disable Telnet service on Linux
systemctl stop telnet.socket
systemctl disable telnet.socket

# Block Telnet at iptables
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A OUTPUT -p tcp --dport 23 -j DROP
# Save rules
iptables-save > /etc/iptables/rules.v4

# Block at network firewall (Cisco ASA)
access-list OUTSIDE_IN deny tcp any any eq 23

# Verify: should timeout / connection refused
nc -zv 192.168.1.10 23

Hızlı Kontrol

Bu dersteki CompTIA Security+ (SY0-701) kavramlarını ne kadar anladığınızı ölçün.

Ders Özeti

Bu derste şunları öğrendiniz: açık metin protokolleri (Telnet, FTP, HTTP, SNMPv1/v2c, LDAP), kimlik bilgilerini ve verileri ağ üzerinden dinlemeye açık hâle getirir ve bunların değiştirilmesi gerekir; güvenli alternatifler (SSH, SFTP, HTTPS, SNMPv3, LDAPS), aynı işlevleri korumak için TLS veya SSH şifrelemesini kullanır; protokolleri değiştirmek, eski bağımlılıkların denetlenmesinden sonra güvenli olmayan sürümün güvenlik duvarı ve ana bilgisayar düzeyinde devre dışı bırakılmasını gerektirir. Sırada TLS sürümlerini, şifre takımlarını ve kusursuz ileriye dönük gizliliği inceleyeceğiz.

Sıkça Sorulan Sorular

“Güvensiz Protokolleri Değiştirme: Telnet ve SSH, FTP ve SFTP” dersi ücretsiz mi?

Evet — “Güvensiz Protokolleri Değiştirme: Telnet ve SSH, FTP ve SFTP” 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 Security+ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Security+ Academy kursu toplamda 4 dersten oluşur.

“Güvensiz Protokolleri Değiştirme: Telnet ve SSH, FTP ve SFTP” dersinde ne öğreneceğim?

Telnet, FTP ve HTTP gibi açık metin protokollerinin kimlik bilgilerini neden açığa çıkardığını ve şifreli karşılıklarının (SSH, SFTP, HTTPS) bu sorunları nasıl çözdüğünü öğrenin. Security+ 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.

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

Önceden deneyim gerekmez. CoddyKit'te Security+ 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 1. dersidir.

“Güvensiz Protokolleri Değiştirme: Telnet ve SSH, FTP ve SFTP” 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 Security+ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Security+ 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üvensiz Protokolleri Değiştirme: Telnet ve SSH, FTP ve SFTP
  2. TLS Sürümleri, Şifre Takımları ve Kusursuz İleri Gizlilik
  3. Güvenli DNS: DNSSEC ve HTTPS Üzerinden DNS (DoH)
  4. IPsec, VPN Protokolleri ve Uzaktan Erişim Güvenliği
← Security+ Academy Sayfasına Dön