Dosyaları sunucuya taşırken karşınıza çıkan üç kısaltma çoğu zaman birbirine karıştırılır. Aralarındaki ayrım yalnızca bir harf meselesi değil; şifreleme yöntemi, kullandıkları portlar ve güvenlik düzeyi tamamen farklıdır. Doğru protokolü seçmek, hem verinizin hem de oturum bilgilerinizin ağ üzerinde nasıl korunacağını belirler.

FTP Nedir ve Neden Hâlâ Var?

File Transfer Protocol, 1970'lerden beri hayatımızda olan ve TCP üzerinde çalışan klasik dosya aktarım yöntemidir. Komut kanalı için 21 numaralı portu, verinin kendisi için ise ayrı bir veri kanalı açar. En büyük sorunu ise tasarımından gelir: kullanıcı adı, parola ve aktarılan dosyalar ağ üzerinde düz metin (cleartext) olarak gider. Aynı ağda paket dinleyen biri Wireshark ile bu bilgileri rahatlıkla okuyabilir.

Buna rağmen iç ağlarda, otomasyon scriptlerinde veya eski sistemlerle uyumluluk gereken yerlerde hâlâ kullanılır. Ancak internete açık herhangi bir sunucuda salt FTP kullanmak günümüzde kabul edilebilir bir tercih değildir. Pek çok hosting sağlayıcısı bu yüzden şifresiz FTP portunu varsayılan olarak kapalı tutar ve sizi şifreli alternatiflere yönlendirir. Protokolün yaşını gösteren bir diğer ayrıntı da karakter kodlaması meselesidir; eski FTP sunucuları çoğu zaman ASCII ile binary aktarım arasındaki ayrımı elle yönetmenizi bekler, bu da Türkçe karakterli dosya adlarında bozulmalara yol açabilir.

FTP'nin Aktif ve Pasif Modu

FTP'nin kafa karıştıran yanı veri bağlantısını kurma şeklidir. İki çalışma modu vardır:

  • Aktif mod: Sunucu, istemciye doğru veri bağlantısını kendisi başlatır. İstemci tarafındaki güvenlik duvarları bu gelen bağlantıyı çoğu zaman engeller.
  • Pasif mod (PASV): İstemci, sunucunun bildirdiği yüksek bir porta bağlanır. NAT ve firewall arkasındaki kurulumlarda genellikle tercih edilen yöntem budur.

Pasif modda sunucuda belirli bir port aralığının (örneğin 40000-50000) firewall üzerinde açık olması gerekir; aksi halde bağlantı kurulur ama dizin listesi bir türlü gelmez.

FTPS: FTP'ye Eklenen TLS Katmanı

FTPS, adından da anlaşılacağı gibi eski FTP'nin üzerine SSL/TLS şifrelemesi eklenmiş halidir. Protokolün mantığı aynı kalır, sadece trafik artık şifreli bir tünelin içinden akar. İki farklı uygulaması bulunur:

  • Explicit FTPS (FTPES): Bağlantı normal 21 portundan başlar, ardından AUTH TLS komutuyla şifrelemeye geçilir. Bugün önerilen yöntem budur.
  • Implicit FTPS: Bağlantı en baştan 990 portu üzerinden ve doğrudan şifreli kurulur. Daha eski bir yaklaşımdır ve giderek terk edilmektedir.

FTPS'in zorlu tarafı, geçerli bir TLS sertifikası gerektirmesi ve ayrı veri kanalı yüzünden firewall ile dostça geçinememesidir. NAT arkasında pasif port aralığını ayrıca açmanız gerekir.

SFTP: SSH'ın Bir Parçası

İsim benzerliği yanıltıcıdır: SFTP'nin FTP ile teknik olarak hiçbir akrabalığı yoktur. SFTP, SSH File Transfer Protocol demektir ve OpenSSH altyapısının üzerinde çalışır. Tek bir bağlantı, tek bir port: 22. Ayrı veri kanalı, pasif port derdi yoktur; hem komutlar hem veri aynı şifreli SSH tüneli içinden geçer.

Bu sadelik onu firewall ve NAT senaryolarında çok daha pratik kılar. Ayrıca SSH anahtarı tabanlı kimlik doğrulama desteği sayesinde paroladan tamamen kurtulabilir, anahtar çiftiyle çok daha güvenli bir erişim kurabilirsiniz. Kaba kuvvet (brute force) saldırılarına açık olan parola girişlerinin aksine, 4096 bitlik bir RSA ya da Ed25519 anahtarını tahmin etmek pratikte imkânsızdır. Kurumsal projeler için tercih ettiğimiz tam yetkili sanal sunucu paketlerinde SFTP zaten varsayılan olarak hazır gelir; SSH erişiminiz olan her sunucuda ayrıca bir servis kurmanıza gerek kalmadan dosya aktarımı yapabilirsiniz.

Komut Satırından Hızlı Bağlantı

Üç protokolün de komut satırı kullanımı birbirinden ayrışır. Aşağıda tipik bağlantı örneklerini bulabilirsiniz:

# Klasik FTP (sifresiz - sadece ic agda)
ftp ftp.alanadiniz.com

# SFTP - SSH uzerinden, 2222 ozel portla
sftp -P 2222 [email protected]

# SFTP icin anahtar tabanli giris
sftp -i ~/.ssh/id_ed25519 [email protected]

# FTPS (explicit TLS) - lftp ile
lftp -u kullanici,parola ftps://ftp.alanadiniz.com:21

SFTP oturumu açıldıktan sonra put dosya.zip, get yedek.tar.gz ve ls gibi tanıdık komutlarla işlemlerinizi yürütebilirsiniz. lftp ise FTPS tarafında set ssl:verify-certificate true ayarıyla sertifika doğrulamasını zorlamanıza olanak tanır.

Sunucu Tarafında Yapılandırma İpuçları

Bir VPS üzerinde SFTP'yi belirli bir dizine hapsetmek (chroot) istiyorsanız /etc/ssh/sshd_config dosyasına şu bloğu ekleyebilirsiniz:

Match Group sftpusers
    ChrootDirectory /var/sftp/%u
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

Bu yapılandırma, ilgili gruptaki kullanıcıları kendi dizinlerine kilitler ve kabuk (shell) erişimini engeller. Burada dikkat edilmesi gereken bir nokta var: ChrootDirectory ile gösterilen dizinin sahibi root olmalı ve yazma izni sadece sahibine verilmelidir, aksi halde OpenSSH bağlantıyı güvenlik gerekçesiyle reddeder. Değişiklikten sonra systemctl restart sshd ile servisi yeniden başlatmayı unutmayın. FTPS tarafında ise vsftpd veya Pure-FTPd üzerinde ssl_enable=YES, force_local_data_ssl=YES ve geçerli bir sertifika yolu tanımlamanız gerekir. Let's Encrypt ile aldığınız ücretsiz bir sertifikayı bu servislerde rahatlıkla kullanabilirsiniz.

Karşılaştırma Tablosu

ÖzellikFTPFTPSSFTP
ŞifrelemeYokSSL/TLSSSH
Varsayılan port2121 (explicit) / 99022
Bağlantı sayısıKomut + veri ayrıKomut + veri ayrıTek kanal
Firewall dostuZayıfOrtaYüksek
Anahtar tabanlı girişHayırHayırEvet
Sertifika gereksinimiYokVarYok

Bogahost Önerisi: İnternete açık her sunucuda salt FTP'yi kapatın. Firewall ile uğraşmak istemiyor ve anahtar tabanlı güvenliği seviyorsanız SFTP, mevcut FTP altyapınızı korurken şifreleme ekleme niyetindeyseniz explicit FTPS doğru tercihtir.

Hangi Durumda Hangisi?

Paylaşımlı bir ortamda site dosyalarınızı yönetiyorsanız çoğu durumda kontrol panelinin sunduğu SFTP veya FTPS erişimi fazlasıyla yeterlidir. Genellikle modern web hosting hesaplarında bu protokoller tek tıkla aktif edilebilir ve ayrı bir kurulum gerektirmez. Kendi sunucunuzu yönettiğiniz, otomatik yedekleme scriptleri çalıştırdığınız senaryolarda ise SFTP'nin anahtar tabanlı yapısı hem güvenlik hem de otomasyon açısından öne çıkar.

Özet

Üç protokol aynı işi yapar gibi görünse de güvenlik mimarileri tamamen ayrıdır: FTP şifrelemesiz ve riskli, FTPS eski FTP'ye TLS tüneli ekler, SFTP ise baştan sona SSH üzerine kuruludur. İhtiyacınız basit bir aktarım değil, güvenli bir aktarımsa tercihinizi şifreli protokollerden yana kullanın; çoğu modern altyapıda SFTP en az dirençle en yüksek korumayı sağlar.

Reklam Alanı

İçerik Altı (728x90)

Yorumlar (0)

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Yorum Yap

Maksimum 2000 karakter