دو حرف اول vsftpd مخفف Very Secure به معنای بسیار امن است. این سرویس FTP به گونهای ساخته شد تا بالاترین درجه ایمنی را در آسیب پذیریهای مربوط به FTP داشته باشد.
در این آموزش قصد نصب vsftpd به عنوان یک FTP Server را داریم. پس مراحل زیر را دنبال کنید:
1- فرمان زیر را اجرا کنید تا پکیجهای سیستم عامل بروز شوند:
yum -y update
2- به منظور نصب vsftpd فرمان زیر را اجرا کنید:
yum install vsftpd
3- حال FTP Client را با اجرای فرمان زیر نصب کنید:
yum install ftp
تا اینجای کار FTP نصب شد. حال بایستی آن را کانفیگ کنیم:
4- فایل کانفیگ واقع در مسیر زیر را باز کنید و متغیرها را مطابق با موارد زیر ویرایش کنید:
nano /etc/vsftpd/vsftpd.conf
بخش anonymous_enable را پیدا کنید و مقدار آن را به No تغییر دهید:
anonymous_enable = NO
بخش local_enable را پیدا کنید و مقدار آن را به Yes تغییر دهید:
local_enable = YES
بخش chroot_local_user را پیدا کنید و مقدار آن را به Yes تغییر دهید:
chroot_local_user=YES
5- پس از ویرایش موارد فوق، دو فرمان زیر را اجرا کنید:
service vsftpd restart
chkconfig vsftpd on
تا این مرحله نصب، کانفیگ و فعال سازی FTP به اتمام رسید. حال میتوانید با استفاده از Userهای تعریف شده اقدام به دسترسی به FTP کنید.
تنظیم مجوز دسترسی به پورت 21 و 20
پورت استاندارد FTP، برابر با 20 و 21 است. چنانچه این دو پورت در iptable فعال نشده باشند، دسترسی به FTP غیر ممکن است. بنابراین با طی مراحل زیر دو پورت مذکور را در سرور مجاز کنید:
1- فایل زیر را جهت ویرایش باز کنید:
nano /etc/sysconfig/iptables-config
حال بخش IPTABLES_MODULES= را پیدا کنید و مقدار آن را به شکل زیر تغییر داده و فایل را ذخیره کنید:
IPTABLES_MODULES="ip_conntrack_ftp"
2- فایل زیر را برای ویرایش باز کنید:
nano /etc/sysconfig/iptables
دو خط زیر را به آن اضافه کنید:
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
مثال:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
3- فرمان زیر را اجرا کنید:
service iptables restart
4- فرمان زیر را اجرا کنید تا اطمینان حاصل کنید که تنظیمات اجرا شده باشند:
lsmod | grep -i ftp
نتیجه بایستی به شکل زیر باشد:
nf_conntrack_ftp 12081 0
nf_conntrack 79761 4 nf_conntrack_ftp,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
فعال سازی کاربر root جهت دسترسی به FTP:
به طور پیشفرض به دلایل امنیتی مجوز لاگین به FTP با استفاده از کاربر root فعال نیست. اما چنانچه به هر دلیل قصد لاگین به FTP با کاربر root دارید، مراحل زیر را نیز طی کنید:
1- دو فایل زیر را باز کنید و root را از آن ها حذف کنید یا کامنت (#root) کنید:
nano /etc/vsftpd/user_list
nano /etc/vsftpd/ftpusers
2- فرمان زیر را اجرا کنید:
service vsftpd restart
setenforce 0
کار تمام شد!
