Bir FTP sunucusuna yapılan saldırının başarılı olması için ilgili sunucunun kullanıcıya sunduğu yetkilerin ve genel güvenlik ayarlarının yanlış yapılandırılmış olması gerekir. FTP sunucusuna yapılacak saldırılardan korunabilmek için sunucu ve güvenlik duvarı ayarlarının yalnızca dış bağlantılar için değil, iç sunucularla aralarındaki özel iletişim noktaları için de iyi yapılandırılması gerekmektedir.
SSL yerine RCP Kullanılması
RCP ile sağlanan iletişimde herhangi bir şifreleme yoktur ve bilgiler düz metin halinde yollanır ve alınır. FTP sunucusunda kimlik doğrulama aşamasında RCP kullanıldığı takdirde kullanıcı adı ve şifre, sunucuya düz metin halinde gider ve iletişimi dinlemekte olan saldırgan bu paketi yakaladığında bilgilere de kolaylıkla ulaşır. Aynı şekilde istemci ve sunucu arasındaki bilgi transferi de şifresiz olduğu için saldırgan, istemcinin almakta olduğu paketi çalarak, şifreye veya kullanıcı adına ihtiyaç duymadan içindeki bilgiye ulaşır. SSL (Secure Socket Layer) kullanımı ile bu tehlikenin önüne geçilir; şifre, kullanıcı adı ve tüm veri iletişimi şifrelenir. Bu yapıyı kullanmak için istemci tarafında SSL destekli bir yazılım olması gerekir; fakat SSL kullanımında bağımsız, üçüncü parti bir sertifika sağlayıcı (Certification Authority - CA) gereklidir. CA, sunucu ile istemci arasındaki kimlik doğrulama işlemini yaptığı için her iki tarafın da CA olan kuruma güvenmesi gerekmektedir.
Pasif ve Aktif Kullanıcı Yapılandırması
FTP sistemi temel olarak iki bağlantı noktası üzerinden çalışır. Bu kanallar "denetleme kanalı" ve "veri kanalı" olarak ikiye ayrılır.
Denetim kanalı, 21 numaralı port üzerinden çalışır. İstemciler, sunucunun bu portuna bağlanırlar ve veri iletişimini başlatırlar. Dosya aktarımı veri kanalı üzerinden yapılır. Dosya aktarımında iki çeşit bağlantı kullanılır.
- Aktif Bağlantı: Aktif bağlantıda veri aktarımının hangi yolla yapılacağına istemci karar verir. İstemci, sunucuya belirli bir bağlantı noktasından veri aktarımını başlatması için istek gönderir ve sunucu aktarımı başlatır. Bu sistemin en büyük açığı, aktarımı başlatan tarafın sunucu olması ve istemci üzerindeki güvenlik duvarının bu bağlantıya izin vermesi için bağlantı noktası açması ve bu bağlantı noktalarından gelen bağlantılara izin vermesidir. Bu sayede bir saldırgan istemci üzerindeki açık bağlantı noktalarını tarayarak ve açık bulunan FTP bağlantı noktalarından birini kullanarak bilgisayara izinsiz giriş yapabilir.
- Pasif Bağlantı: Pasif bağlantıda veri aktarımının hangi yolla yapılacağına sunucu karar verir. İstemci, sunucudan bir dosya talep eder ve sunucu istemciye dosyayı sunucunun hangi bağlantı noktasından alabileceği bilgisini gönderir. Bu sistemin aktif bağlantıdan daha güvenli olmasının sebebi, bağlantıyı başlatan tarafın istemci olması ve sunucunun ilgili bağlantı noktasına bağlanmasıdır. Bu şekilde istemcinin kendi üzerinde bağlantı noktası açıp gelen bağlantılara izin vermesi gerekmez. Bu bağlantının açığı ise sunucunun kendi üzerinde bağlantı noktası açıp beklemesidir. Bu sayede, saldırgan, sunucu üzerindeki bağlantı noktalarını tarayarak, dosyayı talep eden istemciden önce açık bağlantı noktasına bağlanabilir ve kullanıcı adı, şifre gibi detaylara gerek duymadan ilgili dosyayı alabilir. Bu durumda istemcinin dosyayı korumak için alacağı hiçbir önlem yoktur. İndirilen dosyanın güvenliğini sağlamak, tamamıyla sunucu taraflı bir işlemdir. Bu tip bir saldırıdan korunmak için FTP sunucusu, açtığı bağlantı noktasına, yalnızca dosyayı talep eden IP veya MAC adresinin bağlanmasına izin verir.
- IP/MAC Maskelemesi: IP/MAC kontrolü yapan bir sunucudan dosyayı çalmak için saldırgan, asıl istemcinin IP ve MAC adreslerini tespit edip, kendisini bu bilgilere göre maskelemesi gerekir. Bu da saldırının başarı şansını oldukça azaltmaktadır. Bahsi geçen saldırıda dosyayı talep eden bilgisayardan önce sunucuya bağlanmak gerekir. Saldırgan, IP ve MAC maskelemesini yapana kadar geçen sürede dosyayı talep eden bilgisayar sunucuya bağlanmış olacaktır.
- Zaman Aşımı Süresi: IP/MAC filtrelemesi yapan bir sunucuya yapılan saldırının başarılı olması, istemcinin dosya aktarımı sırasında kısa süreli bağlantı kopuklukları yaşaması ile mümkündür. FTP sunucuları genel olarak bağlantıda yaşanan kısa süreli kopmalarda dosya aktarımının sona ermemesi için belli bir süre zaman aşımı süresi tanırlar. İstemci böyle bir sorun yaşadığında, sunucu, istemcinin IP ve MAC adresi için açtığı oturumu kapatmaz ve zaman aşımı süresi sonuna kadar bağlantının yeniden kurulmasını bekler. IP ve MAC maskelemesini gerçekleştiren saldırgan bu zaman aralığında sunucudaki açık oturuma bağlanır ve asıl istemcinin kaldığı yerden dosyaları indirmeye devam eder.
Bu açıkların yanı sıra FTP sunucularına saldırıda en sık kullanılan yöntem sıçrama saldırısı olarak bilinen yöntemdir. Sıçrama saldırısı ile çeşitli açıklar kullanılarak çeşitli saldırılar yapılır.
Bounce Saldırısı
"Bounce" saldırısının en önemli özelliği, saldırganın bulunmasını zorlaştırmasıdır. Diğer saldırılar ile birlikte kullanıldığında bir saldırgan hiçbir iz bırakmadan saldırısını gerçekleştirebilir. Bu tip bir saldırıdaki mantık bir FTP sunucusunun proxy olarak kullanılmasıdır. "Bounce" yöntemi ile yapılabilecek temel saldırı tipleri şunlardır:
- Bağlantı Noktası Tarama: Saldırgan herhangi bir sunucuda bağlantı noktası taraması gerçekleştirmek için bu yöntemi kullanırsa sunucu günlüklerinden saldırı ayrıntılarına bakıldığı zaman bağlantı noktası taramasını yapan bilgisayar olarak FTP sunucusu görünür ve saldırgana ulaşmak zorlaşır. Saldırı yapılacak sunucu ile proxy olarak kullanılan FTP sunucusu aynı alt ağda ise hedef sunucu, FTP sunucusundan gelen verilerde herhangi bir paket filtrelemesi yapmaz ve yollanan paketler güvenlik duvarına takılmaz. Bu paketler üzerinde hiçbir erişim kuralı uygulanmayacağından saldırganın başarı şansı artar.
- Temel Paket Süzgeçlerinden Geçmek: Bir saldırgan bu yöntemi kullanarak anonim bir FTP sunucusunun arkasına kurulan ve güvenlik duvarı tarafından korunan bir iç sunucuya ulaşabilir. Anonim FTP sunucusuna bağlanan saldırgan, bağlantı noktası tarama yöntemi ile bu sunucuya herhangi bir bağlantı noktasından bağlı olan bir iç sunucuyu tespit eder ve tespit ettiği bağlantı noktasından arkadaki sunucuya ulaşabilir. Böylece güvenlik duvarının dış bağlantılara karşı koruduğu sunucuya, güvenli bağlantı olarak nitelendirilmiş ve FTP sunucusuyla iletişim kurulmak için özel olarak tanımlanmış noktadan, saldırı gerçekleşmiş olur.
Hizmet Yadsıması (Denial of Service) Saldırısı
DoS saldırıları tanım itibariyle yeni bir tür güvenlik açığı değildir. DoS saldırıları temel olarak, hedef sunucunun kaynaklarını harcayarak, sunucunun hizmet vermesini engellemek amaçlı yapılır. Yani saldırıya uğramış bir FTP sunucusunun ziyaretçileri bu saldırı boyunca sunucuya bağlanamayacak veya talep ettiği dosyayı alamayacaktır.