Skip to content

CSF Güvenlik Duvarı Yüklü Sunucularda FTP Pasif Mod Bağlantı Problemi

CSF web sunucunuzda rahatlıkla kullanabileceğiniz; WHM’de bulunan kullanıcı arayüzü sayesinde kullanımı ve ayarlaması oldukça basit olan bir güvenlik duvarı uygulamasıdır.

Fakat CSF yüklü sunucularda FTP Pasif Mod’da çalışmasına engel olabilen bazı durumlar mevcut. Bunu CSF readme dosyasında şu şekilde tanımlamış:

13. A note about FTP Connection Issues
######################################

It is important when using an SPI firewall to ensure FTP client applications are configured to use Passive (PASV) mode connections to the server.

On servers running Monolithic kernels (e.g. VPS Virtuozzo/OpenVZ and custom built kernels) ip_conntrack and ip_conntrack_ftp iptables kernel modules may not be available or fully functional. If this happens, FTP passive mode (PASV) won’t work. In such circumstances you will have to open a hole in your firewall and configure the FTP server to use that same hole.

For example, with pure-ftpd you could add the port range 30000:35000 to TCP_IN
and add the following line to /etc/pure-ftpd.conf and then restart pure-ftpd:
PassivePortRange   30000 35000

For example, with proftpd you could add the port range 30000:35000 to TCP_IN
and add the following line to /etc/proftpd.conf and then restart proftpd:
PassivePorts   30000 35000

FTP over SSL/TLS will usually fail when using an SPI firewall. This is because of the way the FTP protocol established a connection between client and server. iptables fails to establish a related connection when using FTP over SSL because the FTP control connection is encrypted and so cannot track the relationship between the connection and the allocation of an ephemeral port.

If you need to use FTP over SSL, you will have to open up a passive port block in both csf and your FTP server configuration (see above).

Perversely, this makes your firewall less secure, while trying to make FTP connections more secure.

FTP Nedir? FTP Aktif Mod ve Pasif Mod Nedir? (kaynak)

FTP, İngilizce “File Transfer Protocol”’un kısaltmasıdır. Türkçe’ye “Dosya Transfer Protokolü” olarak çevrilebilir. Amacı, TCP/IP üzerinden dosya transferi yapılmasını sağlamaktır. FTP de tıpkı HTTP gibi bir Layer 7 (OSI katmanında) protokolüdür ve standart portu 20 ve 21’dir.

FTP’nin “aktif” ve “pasif” şeklinde iki modu vardır.

FTP Aktif mod: Bu modda FTP komutları 21. porttan, tüm veri aktarımları ise 20. port üzerinden gerçekleştirilir. Çok belirgin ve saldırıya açık bir metod olduğundan, günümüzde FTP Aktif mod çok nadir kullanılmakta, yerine; aktif modun yarattığı güvenlik zaaflarını gidermek için geliştirilmiş olan FTP Pasif mod kullanılmaktadır.

FTP Pasif mod: Pasif mod da, tıpkı aktif modda gibi FTP kontrol komutları 21. port üzerinden gönderilir ancak, veri aktarımları; FTP sunucusunun açtığı son port ve FTP istemcisinin açtığı son port arasında gerçekleşir. Veri aktarımı yapılan portlar bilinmediğinden, güvenlik duvarı problemleri ve sniffing gibi sorunları en aza indirgemeyi amaçlamaktadır.

Bir FTP sunucusuna bağlanmak için bir FTP istemcisine ihtiyaç duyarsınız. Bu FTP istemcisi, günümüzün en çok kullanılan istemcilerinden bir tanesi olan FileZilla olabileceği gibi, artık birçok metin editörünün de FTP desteği bulunmaktadır. Hatta birçok web tarayıcısı bile, FTP istemcisi olarak çalışabilmektedir ve bunun sebebi de HTTP ve FTP protokollerinin benzer olmalarıdır.

Sonuca Gelelim

Uzun lafın kısası bazı sunucularda CSF, FTP Pasif Mod portlarını bloklayabilir. Bunun için kullandığınız ftp uygulamasının ayar dosyasında Pasif Mod Port aralığını tanımlayıp aynı aralığı TCP_IN kuralında izinli hale getirmelisiniz.

ProFTP Ayarları

ProFTP ayar dosyasını açın. Dosya konumu şu şekildedir: /etc/proftpd.confPassivePorts kuralını 30000 35000 olacak şekilde güncelleyin:

[text]PassivePorts   30000 35000[/text]

Pure-FTPD Ayarları

Pure-FTPD ayar dosyasını açın. Dosya konumu şu şekildedir: /etc/pure-ftpd.conf.PassivePortRange kuralını 30000 35000 olacak şekilde güncelleyin:

[text]PassivePortRange   30000 35000[/text]

FTP Ayarları Bitti! Şimdi CSF’de Bu Port Aralığına İzin Verelim

CSF ayar dosyasını açın. Dosya konumu şu şekildedir: /etc/csf/csf.confTCP_IN kuralına 30000:35000 ekleyeceğiz. Temsili olarak şu şekilde olmalıdır:

[text]TCP_IN = "20,21,22,…,30000:35000"[/text]

Yaşadığım bir sıkıntıydı fakat bu şekilde rahatlıkla çözebilirsiniz. Kolay gelsin dilerim,

 

TR Kodlama GitHub'da!

TR Kodlama'da yer alan makaleleri GitHub üzerinden düzenleyebileceğinizi biliyor muyudunuz? Harika değil mi? Bu makale ile ilgili düzenleme yapmak isterseniz aşağıdaki butona tıklayınız!

GitHub'da Görüntüle ve Düzenle!