İçeriğe geç

FTP Nedir, SFTP Nedir? Aralarındaki Farklar ve Hangisi Güvenli?

Egemen KEYDAL · İçerik Editörü ve SEO UzmanıYayımlanma: 8 dk okuma

FTP'de açık metin, SFTP'de şifreli dosya aktarımını karşılaştıran şema

FTP (File Transfer Protocol, Dosya Aktarım Protokolü), iki bilgisayar arasında ağ üzerinden dosya göndermek ve almak için kullanılan, internetin en eski protokollerinden biridir. SFTP (SSH File Transfer Protocol) ise aynı işi SSH bağlantısı içinden, yani şifreli olarak yapan farklı bir protokoldür. İkisi de dosya taşır; ama FTP kullanıcı adı, parola ve dosya içeriğini açık metin olarak gönderirken SFTP her şeyi şifreler. Bu yüzden bugün yeni kurulumlarda SFTP (veya şifreli FTP sürümü olan FTPS) tercih edilmelidir.

Yazar Haber Ajansı'nın (YHA) haberlerini dosya olarak almak istiyorsanız bağlantı ayarları ve otomasyon için doğrudan FTP ve SFTP ile haber çekme rehberine geçebilirsiniz.

FTP Nedir?

FTP'nin kökleri 1970'lerin başına, internetin öncülü ARPANET dönemine uzanır. Bugün kullanılan biçimi 1985'te yayımlanan RFC 959 ile tanımlanmıştır. O dönemde ağlar küçük, kullanıcılar birbirini tanıyan araştırmacılardı; güvenlik ön planda değildi. Bu tarihsel arka plan, FTP'nin neden şifreleme içermediğini açıklar.

FTP bir istemci-sunucu protokolüdür. Dosyaların durduğu bilgisayarda bir FTP sunucusu çalışır; dosya almak veya göndermek isteyen taraf bir FTP istemcisiyle bu sunucuya bağlanır, kullanıcı adı ve parolasıyla oturum açar, ardından klasörler arasında gezinip dosya indirir veya yükler.

FTP Nasıl Çalışır? İki Bağlantı Mantığı

FTP'yi diğer protokollerden ayıran özelliği iki ayrı bağlantı kullanmasıdır:

  • Kontrol bağlantısı: Varsayılan olarak 21 numaralı porttan kurulur. Komutlar (oturum aç, klasör değiştir, dosya iste) ve yanıtlar bu kanaldan gider.
  • Veri bağlantısı: Dosya içeriği ve klasör listeleri ayrı bir kanaldan taşınır.

Veri bağlantısının nasıl kurulduğuna göre iki çalışma modu vardır:

Mod Nasıl çalışır Sorun
Aktif mod Sunucu, istemcinin bildirdiği porta bağlanır (sunucu tarafında genellikle 20 numaralı port) İstemci tarafındaki güvenlik duvarları ve NAT bu gelen bağlantıyı engelleyebilir
Pasif mod İstemci, sunucunun bildirdiği bir porta bağlanır Sunucunun belirli bir port aralığını açık tutması gerekir

Bugün istemcilerin büyük çoğunluğu varsayılan olarak pasif modu kullanır. "Bağlanıyorum ama klasör listesi gelmiyor" sorunu çoğunlukla bu modlarla ve güvenlik duvarı ayarlarıyla ilgilidir.

FTP'nin Güvenlik Sorunu

Düz FTP, kullanıcı adı ve parola dahil tüm trafiği şifrelemeden gönderir. Aynı ağda bulunan veya trafiğin geçtiği bir noktayı dinleyebilen biri, oturum bilgilerinizi ve aktardığınız dosyaların içeriğini okuyabilir. Ayrıca düz FTP, bağlandığınız sunucunun gerçekten beklediğiniz sunucu olduğunu doğrulamaz. Bu nedenlerle:

  • Halka açık Wi-Fi gibi güvenilmeyen ağlarda düz FTP kullanılmamalıdır.
  • Kişisel veri, sözleşmeli içerik veya erişim bilgisi taşıyan aktarımlarda şifreli bir alternatif seçilmelidir.
  • Pek çok barındırma firması ve kurum, düz FTP erişimini artık varsayılan olarak kapatmaktadır.

SFTP Nedir?

SFTP, SSH File Transfer Protocol ifadesinin kısaltmasıdır. SSH (Secure Shell), uzak sunuculara güvenli şekilde bağlanmak için kullanılan protokoldür; SFTP de SSH'nin sağladığı şifreli tünelin içinde çalışan bir dosya aktarım protokolüdür. Adındaki benzerliğe rağmen SFTP, FTP'nin üzerine eklenmiş bir katman değildir; tamamen farklı bir tasarıma sahiptir. İlginç bir ayrıntı: SFTP, IETF'te bir dizi taslak (draft-ietf-secsh-filexfer) olarak geliştirildi ama hiçbir zaman RFC hâline gelmedi; bugün en yaygın kullanılan, OpenSSH'nin de uyguladığı 3. sürümüdür.

SFTP'nin temel özellikleri şunlardır:

  • Tek bağlantı: Komutlar ve veriler aynı bağlantı üzerinden, varsayılan olarak 22 numaralı porttan taşınır. Aktif/pasif mod karmaşası yoktur; güvenlik duvarı ayarı basittir.
  • Uçtan uca şifreleme: Oturum bilgileri, komutlar ve dosya içerikleri şifrelenir.
  • Sunucu doğrulaması: İlk bağlantıda sunucunun anahtar parmak izi gösterilir; sonraki bağlantılarda bu izin değişmesi, araya biri girmiş olabileceğine dair uyarı olarak bildirilir.
  • Anahtar ile kimlik doğrulama: Parola yerine SSH anahtar çifti kullanılabilir. Bu yöntem hem daha güvenlidir hem de otomatik görevlerde parolayı betiğe yazma zorunluluğunu ortadan kaldırır.
  • Dosya işlemleri: Yükleme ve indirmenin yanında yeniden adlandırma, silme, izin değiştirme ve yarım kalan aktarımı sürdürme gibi işlemleri destekler.

SFTP, OpenSSH gibi yaygın SSH yazılımlarıyla birlikte gelir; Linux ve macOS'ta komut satırından sftp komutuyla, Windows'ta güncel sürümlerde yerleşik OpenSSH istemcisiyle veya grafik arayüzlü programlarla kullanılabilir. Ayrıntılı belgeler için OpenSSH resmî sitesine bakabilirsiniz.

SSH Anahtarı ile Bağlanmak

Anahtar tabanlı kimlik doğrulamada iki dosya vardır: özel anahtar (private key) yalnızca sizin bilgisayarınızda kalır, açık anahtar (public key) ise sunucuya eklenir. Bağlantı sırasında sunucu, özel anahtara sahip olduğunuzu kriptografik olarak doğrular; parolanız hiçbir zaman ağdan geçmez. Özel anahtarın bir parolayla (passphrase) korunması ve kimseyle paylaşılmaması gerekir. Otomatik görevler için yalnızca o işe özel, kısıtlı yetkili bir anahtar oluşturmak iyi bir uygulamadır.

FTPS Nedir? SFTP ile Karıştırmayın

FTPS, klasik FTP'nin TLS ile şifrelenmiş hâlidir; web sitelerindeki HTTPS'in FTP'deki karşılığı gibi düşünebilirsiniz. FTP'nin iki bağlantılı yapısını korur, ancak trafiği şifreler. TLS ile FTP'nin nasıl korunacağı RFC 4217 ile tanımlanmıştır. İki kullanım biçimi vardır:

  • Açık (explicit) FTPS: Bağlantı 21 numaralı porttan başlar, istemci şifreleme ister ve oturum şifreli devam eder.
  • Örtük (implicit) FTPS: Bağlantı baştan şifrelidir ve genellikle 990 numaralı port kullanılır. Bu yöntem eski kabul edilir.

SFTP ve FTPS ikisi de güvenlidir; farkları altyapıdadır. SFTP SSH'ye, FTPS TLS sertifikalarına dayanır. Hangisinin kullanılacağına genellikle sunucuyu yöneten taraf karar verir.

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

Özellik FTP FTPS SFTP
Şifreleme Yok TLS SSH
Varsayılan port 21 (+ veri portları) 21 veya 990 (+ veri portları) 22
Bağlantı sayısı İki (kontrol + veri) İki (kontrol + veri) Tek
Güvenlik duvarı uyumu Zor Zor Kolay
Kimlik doğrulama Kullanıcı adı/parola Kullanıcı adı/parola, sertifika Parola veya SSH anahtarı
Sunucu doğrulama Yok Sertifika ile Anahtar parmak izi ile
Önerilir mi Hayır (yalnızca kapalı, güvenilir ağlarda) Evet Evet

Bağlanmak İçin Hangi Bilgilere İhtiyacınız Var?

Hangi protokolü kullanırsanız kullanın, bir dosya sunucusuna bağlanmak için hizmet sağlayıcıdan şu bilgileri almanız gerekir:

  1. Sunucu adresi (host): Alan adı veya IP adresi.
  2. Protokol: FTP, FTPS veya SFTP. İstemcide yanlış protokol seçmek, en sık karşılaşılan bağlantı hatasıdır.
  3. Port: Varsayılan değerler dışında bir port kullanılıyorsa mutlaka belirtilmelidir.
  4. Kullanıcı adı ve kimlik doğrulama yöntemi: Parola mı, SSH anahtarı mı kullanılacağı.
  5. Başlangıç klasörü: Dosyaların hangi dizinde bulunduğu.
  6. Sunucu parmak izi (SFTP için): İlk bağlantıda doğrulama yapabilmeniz için.

Bu bilgiler eksiksiz olduğunda bağlantı birkaç dakikada kurulur. Bağlantı kurulamıyorsa önce protokol ve port eşleşmesini, ardından güvenlik duvarı ayarlarını kontrol etmek sorunların büyük kısmını çözer.

FTP ve SFTP Hangi Programlarla Kullanılır?

Grafik arayüz tercih edenler için yaygın istemciler şunlardır:

  • FileZilla: Windows, macOS ve Linux'ta çalışan, FTP, FTPS ve SFTP destekleyen ücretsiz bir istemci.
  • WinSCP: Windows için SFTP ve FTP istemcisi; betik desteği sayesinde otomatik aktarımlarda da kullanılır.
  • Cyberduck: macOS ve Windows için dosya aktarım istemcisi.

Komut satırında ise sftp, scp ve hem FTP hem SFTP konuşabilen lftp gibi araçlar öne çıkar. Sunucu tarafında düzenli dosya almak istiyorsanız bu araçlar, Linux'taki zamanlanmış görev sistemi cron ile birlikte kullanılarak belirli aralıklarla otomatik aktarım yapılabilir.

Haber Dünyasında FTP ve SFTP Neden Hâlâ Kullanılıyor?

API'lerin ve beslemelerin yaygınlaştığı bir dönemde dosya aktarım protokollerinin hâlâ kullanılması ilk bakışta şaşırtıcı görünebilir. Ancak haber ve yayıncılık dünyasında dosya tabanlı aktarımın somut avantajları vardır:

  1. Eski sistemlerle uyum: Pek çok gazete, televizyon ve yayın otomasyon sistemi, belirli bir klasöre düşen dosyaları otomatik işleyecek şekilde kurulmuştur.
  2. Toplu ve büyük dosyalar: Yüksek çözünürlüklü fotoğraflar, video dosyaları ve günlük arşiv paketleri dosya aktarımıyla rahatça taşınır.
  3. Yazılım gerektirmeyen entegrasyon: Bir API'ye bağlanmak için kod yazmak gerekirken, dosyaları klasörden okuyan bir sistem için yalnızca bağlantı ayarı yeterlidir.
  4. Arşivleme: Gelen dosyalar olduğu gibi saklanarak kolayca arşivlenebilir.

Öte yandan dosya tabanlı aktarımın sınırları da vardır: anlık değildir, belirli aralıklarla kontrol gerektirir ve hangi dosyanın daha önce işlendiğini takip etmek size kalır. Anlık bildirim istiyorsanız webhook nedir yazımızda anlattığımız yaklaşım, esnek sorgu istiyorsanız API nedir yazımızda anlattığımız yöntem daha uygun olabilir. Dosyaların içeriği ise çoğunlukla XML biçimindedir; bu biçimi XML nedir yazımızda ayrıca ele aldık.

FTP veya SFTP Kullanırken Güvenlik Önerileri

  • Mümkünse düz FTP yerine SFTP veya FTPS kullanın.
  • Otomatik görevlerde parola yerine SSH anahtarı kullanın ve özel anahtarı koruyun.
  • İlk bağlantıda gösterilen sunucu parmak izini, hizmet sağlayıcının size ilettiği değerle karşılaştırın.
  • Her entegrasyon için ayrı ve yalnızca gerekli klasörlere erişimi olan kullanıcı hesabı kullanın.
  • Parolaları betiklere düz metin olarak yazmayın.
  • Erişim bilgilerinin sızdığından şüphelendiğinizde hemen değiştirin.

Yazar Haber Ajansı'nda FTP ve SFTP Nasıl Kullanılır?

Yazar Haber Ajansı, haberlerini dosya olarak almak isteyen abonelerine iki yol sunar. Gönderimde ajans, haber dosyalarını sizin sunucunuza FTPS ya da SFTP ile yazar; SFTP'de parola ya da ajansın sizin için ürettiği Ed25519 anahtarı kullanılabilir ve ilk bağlantıda sunucunuzun anahtar parmak izini onaylamanız istenir. Ajans FTP sunucusunda ise siz ftp.yha.com.tr adresine SFTP (2222 numaralı port) ya da FTPS (21 numaralı port) ile bağlanıp dosyaları indirirsiniz; dosyalar orada 7 gün durur. Varsayılan şifreli yol FTPS'dir; şifresiz düz FTP yalnızca ajansın izniyle açılır.

Her haber bir XML (ya da JSON) dosyası olarak gelir; fotoğraf ve videolar ayrı dosyalardır ve önce medya, en son XML yazılır, böylece klasör izleyen yazılımınız yarım dosya görmez. Bağlantı ayarları, dosya adı deseni, dizin yapısı, karakter kodlaması ve dosya biçimleri Yazar Haber Ajansı FTP ve SFTP ile haber çekme rehberinde adım adım anlatılıyor.

Dosya aktarımı dışındaki seçenekleri, yani API, RSS, webhook ve MCP entegrasyonlarını Yazar Haber Ajansı geliştirici belgeleri sayfasında karşılaştırabilirsiniz.

Sıkça Sorulan Sorular

FTP ile SFTP arasındaki temel fark nedir?

FTP veriyi şifrelemeden iki ayrı bağlantı üzerinden taşır. SFTP ise SSH tünelinde, tek bağlantı üzerinden ve tamamen şifreli çalışır.

SFTP hangi portu kullanır?

Varsayılan olarak 22 numaralı portu kullanır; bu, SSH'nin portudur. Sunucu yöneticisi farklı bir port belirlemiş olabilir.

FTP hâlâ güvenli mi?

Düz FTP şifreleme içermediği için güvenilmeyen ağlarda güvenli değildir. Şifreli alternatifler olan SFTP veya FTPS tercih edilmelidir.

SFTP ile SCP aynı şey mi?

İkisi de SSH üzerinden çalışır ama aynı değildir. SCP basit dosya kopyalama içindir; SFTP ise klasör listeleme, silme, yeniden adlandırma ve yarım kalan aktarımı sürdürme gibi daha geniş işlemler sunar.

FTP kullanmak için hangi programı indirmeliyim?

FileZilla, WinSCP ve Cyberduck yaygın, ücretsiz seçeneklerdir. Komut satırını tercih edenler sftp veya lftp kullanabilir.

İlgili rehberler