Filezilla FTP Client ve Plain Text Şifreler
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYVLdEOR' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Bildiğiniz gibi filezilla FTP client (ve server) açık kaynak kodlu ve GNU lisansına sahip oldukça popüler bir yazılım. Özellikle açık kaynak kodlu olmasından ve de gayet kullanışlı bir yazılım oluşundan ötürü ben de favori olarak kendisini kullanmaktayım. Ancak filezilla kullanıyorsanız biraz dikkatli davranmanız gerekiyor. |
Bunun nedeni ise filezilla'nın, ön tanımlı olarak (şifreler de dahil olmak üzere ) bağlantı profil bilgilerini plain text formatta bazı xml dosyalarında tutuyor olması. Sonuç olarak, ister Windows ister linux kullanıyor olun, FTP bilgilerinizin ilgili dosyalardan parse edilerek kolayca çalınması mümkün. Çalınan FTP bilgileri ile web sitelerine yapılan kod enjeksiyonu vs. gibi atakların da epey sık görülen durumlar olduğu göz önüne alınırsa, bu durum yabana atılmaması ve önleminin alınması gereken bir konudur.
Yazının devamında, Filezilla'nın login bilgilerini ne şekilde ve neden plain text olarak sakladığından ve bu durumun önüne geçilmesi için dikkat edilmesi gereken konulardan bahsetmek istiyorum.
Bildiğiniz gibi Filezilla'nın ftp bilgilerini girebileceğiniz Quick Connect ve Site Manager denilen iki alanı bulunuyor. Hangi yol ile bağlanırsanız bağlanın login bilgileriniz plain text olarak belirli xml dosyalarına yazılıyor. Bunun nedeni herseferinde tekrar tekrar login bilgisi yazmak zorunda kalınmamasını sağlamayı amaçlayan bir kolaylık olsa da bilgilerin plain text tutulması güvenlik sorununu da beraberinde getiriyor.
Sırası ile login bilgilerinin girildiği her iki alana da değinmek ve bilgilerin kaydedilmemesi için yapılması gerekenlerden bahsetmek istiyorum.
Quick Connet ve Plain Text Şifreler
Qucik Connect denilen alan, host, user, pass ve port bilgilerini yazdıktan sonra enter ile hızlıca bağlantı kurabilmeyi sağlıyor. Ayrıca ilerki zamanlarda, daha önceden bağlantı sağlanmış ftp sunucularına zahmetsizce yeniden bağlanmak için Quick Connect butonunun hemen yanındaki drop down menusu kullanılabiliyor. Çünkü Quick Connect ile yapılan her bağlantı bu drop down menüsünden ulaşılabilecek şekilde kaydediliyor.
Mesela, Ubuntu 9.4 üzerinde Filezilla açıp, Quick Connect ile bir yere bağlantı kurduğunuz zaman, durum şöyle oluyor.
Yukarıdaki ekran görüntüsünde de görüldüğü gibi Quick Connect ile ilgili alanlara bilgilerinizi yazıp, bağlantı sağlanıyor. Ancak bu bağlantıya ait bilgiler, /home/kullaniciadi/.filezilla/recentservers.xml isimli dosyaya plain text olarak kaydediliyor.
Dolayısı ile dosyanın içerisine baktığınız zaman tüm bilgileri görmek mümkün:
Görüldüğü üzere, login bilgileri açık bir şekilde recentservers.xml dosyasında bulunuyor. Bu dosya içeriğinin başkaları tarafından şu ya da bu şekilde okunması pek hoş bir durum yaratmayacaktır. (Neticede hiç bir zaman şifrelerimizi bilgisayar üzerinde hele ki plain text olarak tutmuyoruz. Öyle değil mi ?)
Bu problemden etkilenmemek için izlenebilecek iki yol bulunuyor birincisi FileZilla'nın Quick Connect özelliği yerine biraz sonra anlatacağım şekilde Site Manager bölümünü kullanmaktır. İkinci olarak da özellikle Quick Connect kullanmak istemeniz durumunda bağlantı sağladıktan hemen sonra Quick Connect buton'unun yanında bulunan drop down menuden “Cleary History” diyerek kaydedilen bu bilgileri temizlemektir.
Aşağıda bir ekran görüntüsü bulabilirsiniz:
Böylece, login bilgileri xml dosyası içerisinden silinecektir.
Ben konuya bir linux dağıtımından hareketle değindim ama aynı şey Windows'lar için de geçerlidir. FileZilla'ya ait XML dosyaları windows altında, C:\Documents and Settings\kullanici-adi\Application Data\FileZilla dizininde bulunmaktadır.
Şimdi, yazının başında da belirttiğim gibi login bilgilerini girmek için kullandığımız bir diğer alan olan Site Manager'ın login bilgileri konusundaki öntanımlı davranışından bahsetmek istiyorum.
Site Manager ve Plain Text Şifreler
CTRL + S kısayolu ya da File Menusunden erişilebilen Site Manager'ı kullanarak bir FTP bağlantı profili oluşturup bu sırada LogonType kısmında herseferinde şifre sormaması için Normal'i seçerseniz, login bilgileriniz /home/kullaniciadi/.filezilla/sitemanager.xml isimli dosyaya yazılmakta.
Örnek olarak gene Ubuntu üzerinde Site Manager'de profil oluşturma işlemi aşağıdaki ekran görüntüsündeki gibi oluyor.
Login bilgilerinizi girdiniz ve OK dediniz. Bu bilgiler sitemanager.xml isimli dosyada şu şekilde görünecektir.
Durumun böyle olmasının nedeni, LogonType'ın Normal olarak set edilmiş olmasıdır. Bu durumda, tek tık ile FTP sunucusuna bağlanmak mümkün oluyor, ancak login bilgilerinin plain text olarak kaydedilmesi ciddi problemlere neden olabilir.
Bu gibi bir durumdan etkilenmemek için, Site Manager'da bağlantı profili oluştururken LogonType'ı her zaman “Ask For Password” ya da “Interactive” olarak seçmenizi öneririm. Böylece şifre bilgileri herhangi bir yere yazılmayacak, her login sırasında manuel olarak girmeniz istenecektir. Bu durum Dimyat'a pirince giderken, evdeki bulgurdan olmaktan iyidir.
Aslında bu konu, daha önceden Filezilla forumlarında gündeme gelmiş ve geliştiricileri tarafından, şifre güvenliği gibi konuların kullanılan OS'in görevlerinden biri olduğu belirtilmiş. Bir bakıma haklı olsalar da şifrelerin ulu orta duruyor olması pek hoş bir durum değil.
Daha fazla bilgi için şu linke göz atabilirsiniz:
http://blog.unmaskparasites.com/2009/09/01/beware-filezilla-doesnt-protect-your-ftp-passwords/
Bu yazılar da ilginizi çekebilir:
Yorumlar
Trackbacks
Yorumda bulunun.
Belki windows kullanıcıları için portable filezilla kullanmak bir çözüm olabilir. Makale için de teşekkürler.
[Cevapla]
bence ciddi yerler için ftp yerine sftp ve scp kullanmak daha mantıklı geliyor. ftp bağlantısı sırasında şifreniz zaten tekst şekilde gidiyor…
[Cevapla]
FileZilla’nin SFTP desteği var ancak bu bilgiler de gene ayni sekilde ayni dosyalarda plain text olarak tutuluyor malesef.
Bu nedenle her sekilde FileZilla kullanirken, dikkat edilmesi gerekiyor. Hele public bir bilgisayardan filezilla ile bir yere baglanilmissa…
[Cevapla]
Merhaba,
Bağlantı için sftp kullandığımızda şifre ve kullanıcı adının yeterince güvenli bir şekilde encrypt edilip transfer edildiğini söylemek mümkün müdür?
Encryption’ın kaç bitle yapıldığını öğrenmek mümkün müdür?
Çok teşekkürler,
Haluk
[Cevapla]
Merhaba,
SFTP, ftp transferlerinin ssh tunel icinden gerceklestirilmesini sagladigi icin evet transfer sirasinda guvenlik saglar.
filezilla’nin sftp ozellikleri icin asagidaki adrese goz atabilirsiniz.
http://wiki.filezilla-project.org/SFTP_specifications
[Cevapla]
teşekkürler işime yaradı
[Cevapla]
bilgiler için çok teşekkürler
[Cevapla]