در این آموزش قصد داریم که یه سرور ftp با استفاده نرم افزار ProFTPD در لینوکس راه اندازی کنیم

خوب تنها چیزی که نیاز داریم یک سرور مجازی centos 7 و ۵ دقیقه وقت هستش

به ssh لوگین کرده و مخازن EPEL فعال میکنیم

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

مخازن سنت اوس ایپدیت میکنیم

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 رو اضافه میکنیم به سیستم عامل و همچنین یک یوزر به اسم pishdad برای لوگین به ftp میسازیم و اون رو محدود به فولدر /home/ftpshare میکنیم

groupadd ftpgroup

حالا وقت اضافه کردن یوزر pishdad به گروه ftpgroup هستش و ساختن پسورد برای پیشداد

useradd  -G ftpgroup pishdad -s /sbin/nologin -d /ftpshare
passwd pishdad

خوب حالا لازمه فولدر ftpshare که ساختیم در قبال پاک کردن تغییر اسم محافظت کنیم

chmod -R 1777 /ftpshare/

تموم شد حالا کافیه ادرس یا دامین خود رو داخل مرورگر وارد کینم

ftp://IP-ADDRESS

 

قبل اینکه آموزش تموم بشه اگه بخواهید tls فعال کنید بروی FTP SERVER برای اینکار مطابق زیر عمل کنید

nano /etc/proftpd.conf

تغییرات مطابق متن زیر انجام و جاهایی که قراره اصلاح بشه اصلاح کنید

[...]
DefaultRoot                     ~ !adm
PassivePorts    6000    6100
[...] 

#
  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
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#
[...]

پورت های لازم در فایروال باز میکنیم

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#####

  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

 

حالا میتونیم با استفاده از نرم افزار های FTP Client به سرور کانکت بشیم فقط اگر TLS کانفیگ کردین حواستون باشه داخل نرم افزار کلاینت تنظیمات مربوط ssl فعال کنید

تبریک میگن بهتون شما موفق شدید که ProFTPD Server در محیط CentOS 7 نصب کنید

امیدوارم از آموزش نصب و راه اندازی FTP Server ProFTPD  در  CentOS 7 لذت برده باشین 🙂