Hem SFTP hem de FTPS, FTP aktarımlarınızı şifreler. Her ikisinin adında da "S" harfi vardır. Sık sık birbirleriyle karıştırılırlar — ve bu karışıklık önemlidir, çünkü bunlar tamamen farklı teknolojilerdir ve çalışma biçimleri de birbirinden tamamen ayrıdır.

Bağlantı kurarken yanlış birini seçmek başarısız bir bağlantıya yol açar. Doğrusunu seçmek ise her birinin gerçekte ne olduğunu anlamayı gerektirir. İşte açık ve net bir açıklama.

FTP: temel protokol

Güvenli varyantlara geçmeden önce düz FTP'yi anlamak faydalıdır. Dosya Aktarım Protokolü (File Transfer Protocol), 1970'lerin başında tasarlandı — internetin bugünkü haline yakın olmadığı bir dönemde. Hiçbir şifreleme içermez. Kimlik bilgileriniz (kullanıcı adı ve şifre) ağ üzerinden düz metin olarak iletilir. Dosyalarınızın içeriği de öyle.

FTP, trafiğin güvenilir bir ortamı hiç terk etmediği dahili ağlarda, eski barındırma altyapılarında ya da şifrelemenin sorun olmadığı kontrollü ortamlarda hâlâ yaygın biçimde kullanılmaktadır. Basittir, çalışır ve neredeyse her sunucu tarafından desteklenir. Ancak genel internet üzerinde kimlik bilgilerini düz metin olarak göndermek kesinlikle istenmez.

İşte iki güvenli varyant burada devreye girer — ve insanların kafasının karışmaya başladığı yer de burasıdır.

SFTP (SSH Dosya Aktarım Protokolü)

Adına karşın, SFTP, güvenlik eklenmiş bir FTP değildir. SSH (Güvenli Kabuk) protokol paketinin bir parçası olarak bağımsız biçimde geliştirilmiş, tamamen farklı bir protokoldür.

SFTP, SSH üzerinden 22 numaralı bağlantı noktasında çalışır. Kimlik doğrulama, komutlar ve dosya içerikleri dahil her şey SSH katmanı tarafından şifrelenir. Kullanıcıya bakıldığında sonuç aynı görünse de (dosya aktarımı) bir SFTP istemcisi ile standart bir FTP istemcisi birbirinden temelden farklı protokollerle konuşur.

SFTP'nin temel özellikleri:

Pratikte: bir Linux sunucusuna SSH erişiminiz varsa SFTP de hazırdır. Çoğu durumda sunucu tarafında ek bir yapılandırma gerekmez.

FTPS (TLS üzerinden FTP)

FTPS, mevcut FTP protokolüne TLS şifrelemesinin eklenmiş halidir. Farklı bir yaklaşım söz konusudur: mevcut FTP protokolünü alıp HTTPS'in de kullandığı şifreleme katmanı olan TLS ile sarmalamak.

İki farklı FTPS modu vardır:

Açık FTPS (FTPES)

İstemci, 21 numaralı bağlantı noktasında (standart FTP portu) sunucuya bağlanır ve bağlantıyı şifreli hale getirmek için hemen bir AUTH TLS komutu gönderir. Sunucunun bu komutu desteklemesi gerekir. Bu moda "açık" denir çünkü istemci TLS yükseltmesini açıkça talep eder.

Örtük FTPS

İstemci 990 numaralı bağlantı noktasına bağlanır ve TLS el sıkışması hemen gerçekleşir — herhangi bir FTP iletişimi başlamadan önce. Şifrelenmemiş bir aşama yoktur. Bu mod daha az yaygındır ancak bazı sunucularda kullanılmaya devam etmektedir.

FTPS'nin temel özellikleri:

Yan yana karşılaştırma

Özellik FTP SFTP FTPS
TemeliFTPSSHFTP + TLS
Varsayılan port212221 (açık) / 990 (örtük)
ŞifrelemeYokHer zaman (SSH)Evet (TLS)
Anahtar tabanlı kimlik doğrulamaHayırEvetHayır
Sertifika gereksinimiHayırHayırEvet
Güvenlik duvarı uyumuKarmaşıkBasit (1 port)Karmaşık
Sunucu yaygınlığıEvrenselHer SSH sunucusuKurulum gerektirir

Hangisini kullanmalısınız?

SFTP kullanın: sunucuyu kendiniz yönetiyorsanız (ya da SSH'lı bir Linux/Unix sunucusuysa), güvenlik önceliğinizse ve basit bir güvenlik duvarı yapılandırması istiyorsanız. SFTP, modern standarttır. Başka bir protokol kullanmak için belirli bir nedeniniz yoksa SFTP doğru tercihtir.

FTPS kullanın: barındırma sağlayıcınız veya bir müşterinin sunucusu bunu zorunlu kılıyorsa ya da mevcut bir FTP kurulumuna şifreleme ekleyip altyapıyı değiştirmek istemiyorsanız. Yıllardır FTP sunucusu işleten pek çok kurumsal ortam, mevcut yapıda daha az değişiklik gerektirdiği için FTPS'yi yükseltme yolu olarak tercih eder.

Düz FTP kullanın: şifrelemenin gerekli olmadığı güvenilir bir dahili ağdaysanız veya güvenli varyantların hiçbirini desteklemeyen eski bir sistemle çalışıyorsanız. Genel internet üzerindeki her şey için düz FTP'den tamamen uzak durun.

FTPSuite her üçünü de destekler

FTPull (otomatik indirme için) ve FTPush (otomatik yükleme için), FTP, SFTP ve FTPS'yi yerel olarak destekler. Bağlantı ayarlarında protokolü seçmek tek bir tıklamayı alır — uygulamanın altındaki farklılıkları otomatik olarak yönetir. Siz sunucu adresini, portu, kimlik bilgilerini ve protokolü girersiniz; geri kalanını uygulama halleder.

Sunucunuzun hangi protokolü kullandığından emin değilseniz kılavuzumuza bakın: FTP, SFTP ve FTPS: Sunucunuz Hangi Protokolü Kullanıyor?