آموزش نصب و کانفیگ ftp سرور در CentOS 7

این آموزش زیاد زمان نمیبره ولی شما باید بصورت مجازی یا فیزیکی،این سیستم عامل را در اختیار داشته باشید.شروع: به ssh لوگین کرده و مخازن EPEL فعال میکنیم
کد:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
مخازن CenstOS ایپدیت میکنیم
کد:
yum update
خوب حالا ProFTPD و OpenSSL نصب میکنیم
کد:
yum install -y proftpd openssl proftpd-utils
حالا لازمه که سرویس برنامه بالا رو اجرا کنیم
کد:
systemctl start proftpd.service systemctl enable proftpd.service
نوبت به تنظیم فایروال میرسه که با دستورت زیر پورت و سرویس مربوط رو باز میکنیم
کد:
firewall-cmd –add-service=ftp –permanent firewall-cmd –reload
خوب حالا نوبت به ایجاد گروه رسیده در اینجا ما گروه ftpgroup رو اضافه میکنیم به سیستم عامل و همچنین یک یوزر به اسم test برای لوگین به ftp میسازیم و اون رو محدود به فولدر /home/ftpshare میکنیم  
کد:
groupadd ftpgroup
حالا وقت اضافه کردن یوزر test به گروه ftpgroup هستش و ساختن پسورد برای test
کد:
useradd -G ftpgroup test -s /sbin/nologin -d /ftpshare passwd test
خوب حالا لازمه فولدر ftpshare که ساختیم در قبال پاک کردن تغییر اسم محافظت کنیم
کد:
chmod -R 1777 /ftpshare/
تموم شد حالا کافیه ادرس یا دامین خود رو داخل مرورگر وارد کنیم
کد:
ftp://IP-ADDRESS
قبل اینکه آموزش تموم بشه اگه بخواهید tls فعال کنید بروی FTP SERVER برای اینکار مطابق زیر عمل کنید
کد:
nano /etc/proftpd.conf
تغییرات مطابق متن زیر انجام و جاهایی که قراره اصلاح بشه اصلاح کنید
کد:
[…] DefaultRoot ~ !adm PassivePorts 6000 6100 […] #<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine> […]
پورت های لازم در فایروال باز میکنیم
کد:
firewall-cmd –add-port=6000-6100/tcp –permanent firewall-cmd –reload
تنظیم SELINUX
کد:
setsebool -P allow_ftpd_full_access=1
خوب حالا نوبت به ایجاد SSL certificate رسیده
کد:
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
در مرحله بالا یکسری سوالات ازتون پرسیده میشه فقط کافیست دکمه ENTRE بزنید فقط فیلد Common Name جواب بدین IP سرور یا ادرس دامین خودتونو بدینحالا برای دلایل امنیتی فایل سرتیفیکشن فقط خوندنیش میکنیم
 
کد:
chmod 0440 /etc/pki/tls/certs/proftpd.pem
خوب تنها کار باقی مونده سرویس ProFTP کنیم
کد:
systemctl restart proftpd.service
فقط اگر خواستیم که دسترسی Anonymous به FTP Server باز کنیم متن زیر به انتهای فایل زیر اضافه میکنیم
کد:
nano /etc/proftpd.conf
حالا متن زیر به انتهای فایل اضافه میکنیم
کد:
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory>
</Anonymous>
حالا میتونیم با استفاده از نرم افزار های FTP Client به سرور کانکت بشیم فقط اگر TLS کانفیگ کردین حواستون باشه داخل نرم افزار کلاینت تنظیمات مربوط ssl فعال کنید.