در این جلسه از سری آموزشهای رفع مشکل فایروال csf با ftp به آموزش تغییر پورت ftp که یکی از معروفترین سرویسها در لینوکس هست خواهیم پرداخت.
Ftp و یا File Transfer Protocol یکی از قدیمیترین و شناختهشدهترین سرویسهای شبکه برای انتقال دیتا بین کامپیوترها شناخته میشود.
سرویس ftp از پورت ۲۱ و پروتکل tcp برای انتقال دیتا استفاده میکند و این پورت برای ftp به صورت رزرو شده میباشد. در این جلسه قصد داریم تا اقدام به تغییر پورت ftp بر روی سرویس Proftpd کنیم.
پیشنهاد ما: آموزش لینوکس
آموزش رفع مشکل فایروال csf با ftp:
برای رفع مشکل حتما باید passive mode فعال شود، با فعالسازی این حالت، اتصال کاربران شما بدرستی انجام خواهد شد و قطعی در کانکشن آنها رخ نمی دهد.
محتوای زیر README در مشکل برای اتصال به FTP در مستندات CSF نوشته شده است:
۱۳٫ 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 ۳۰۰۰۰ ۳۵۰۰۰ 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 ۳۰۰۰۰ ۳۵۰۰۰ 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.
چطور passive mode را فعال کنیم ؟
۱- در قدم اول باید رنج پورت ۳۰۰۰۰-۳۵۰۰۰۰ را در فایل کانفیگ Pureftp یا Proftp ادد کنید
برای Pureftpd :
فایل /etc/pure-ftpd.conf بازگشایی شود و در مقابل PassivePortRange پورت های مربوطه مثل خط زیر ادد شود.
پیشنهاد ما: آموزش نصب vnc در لینوکس
PassivePortRange ۳۰۰۰۰ ۳۵۰۰۰
برای ProFTP :
فایل /etc/proftpd.conf بازگشایی شود و در مقابل PassivePorts پورت های مربوطه مثل خط زیر ادد شود
PassivePorts ۳۰۰۰۰ ۳۵۰۰۰
۲- حالا نوبت به CSF رسیده، پورت های ۳۰۰۰۰ تا ۳۵۰۰۰ در کانفیگ فایروال و در بخش TCP_IN باید بازگشایی شوند
پیشنهاد ما: امنیت لینوکس
فایل کانفیگ فایروال در مسیر /etc/csf/csf.conf را ویرایش کنید و پورت های ۳۰۰۰۰:۳۵۰۰۰ را ادد کنید:
# Allow incoming TCP ports
TCP_IN = “۲۰,۲۱,۲۲,۲۵,۵۳,۸۰,۱۱۰,۳۰۰۰۰:۳۵۰۰۰”
در نهایت فایروال و ftp server را ریستارت کنید.
دستورات ریستارت :
service csf restart
service pureftpd restart
service proftpd restart
به همین راحتی مشکل حل شد.