tło

Instalacja proFTPd (CentOS).

Możesz skorzystać z tego poradnika jeśli posiadasz: Serwer VPS SSD VPS KVM SSD VPS OpenVZ Serwer Dedykowany
Ostatnia modyfikacja: 26 lipca 2021
Przeczytanie zajmie Ci: 2 min

Instalacja ProFTPd – serwera FTP.

Dystrybucja: CentOS 7

Instalacja ProFTPd.

  • W pierwszej kolejności logujemy się do swojego VPS po SSH np. za pomocą puTTy, na domyślny port 22 i użytkownika 'root’
  • Najpierw musimy dodać repozytorium „epel” do listy repozytoriów. To z niego pobierzemy proFTPd.
yum -y install epel-release
  • Następnie aktualizujemy pakiety systemowe poleceniem:
yum -y update
  • Instalujemy ProFTPd i potrzebne pakiety:
yum install -y proftpd openssl proftpd-utils
  • Aktywujemy ProFTPd w systemie:
systemctl start proftpd.service
systemctl enable proftpd.service
  • Do kontroli zapory (iptables) domyślnie zainstalowany jest ’firewalld’ odblokowujemy porty
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

Wynik:

[root@adamhitme ~]# firewall-cmd --add-service=ftp --permanent
success
[root@adamhitme ~]# firewall-cmd --reload
success
[root@adamhitme ~]#

Aby móc połączyć się z serwerem FTP utworzeni muszą zostać jeszcze użytkownicy ze względów bezpieczeństwa dostęp dla root jest zablokowany.

W tym celu musimy utworzyć utworzyć użytkownika w systemie.

Ważne! Jeśli tworzymy użytkownika tylko w celu logowania się po FTP najlepiej byłoby wpierw zdefiniować powłokę /bin/false w systemie, aby nowy użytkownik miał dostęp tylko do serwera FTP, a nie do całego systemu.

W celu zdefiniowania powłoki, wydajemy polecenie:

echo "/bin/false" >> /etc/shells
  • Następnie dodajemy użytkownika np. 'janek’ i zakładamy jego katalog domowy
adduser janek --shell /bin/false -d /ftpshare

dwukrotnie podajemy hasło użytkownika, natomiast pola z pytaniami o dane osobowe ignorujemy klawiszem [enter]. Na koniec, w celu potwierdzenia wpisujemy ’Y’ + [enter].

  • Ustawiamy prawa dostępu do folderu /ftpshare/
chmod -R 1750 /ftpshare/

 

Dodanie wsparcia dla TLS.

W celu dodania wsparcia dla TLS w ProFTPd musimy edytować jego plik konfiguracyjny /etc/proftpd.conf zanim to zrobimy, warto utworzyć kopię zapasową pliku poleceniem:

cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
  • Edytujemy plik w edytorze nano:
nano /etc/proftpd.conf
  • Dodajemy linię PassivePorts i przebudowujemy sekcję <IfDefine TLS> jak na przykładzie poniżej:
[...]
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>
[...]
  • Otwieramy pasywne porty w firewalld:
firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload
  • Otwarte porty możemy zweryfikować poleceniem firewall-cmd --list-ports:
[root@adamhitme ~]# firewall-cmd --list-ports
80/tcp 6000-6100/tcp
[root@adamhitme ~]#
  • Teraz tworzymy samo-podpisany certyfikat SSL, w tym celu używamy polecenia:
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

Wynik:

[root@adamhitme ~]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generating a 1024 bit RSA private key
......++++++
.++++++
writing new private key to '/etc/pki/tls/certs/proftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:PL
State or Province Name (full name) []:Trojmiasto
Locality Name (eg, city) [Default City]:Sopot
Organization Name (eg, company) [Default Company Ltd]:MojaFirma
Organizational Unit Name (eg, section) []:Biuro
Common Name (eg, your name or your server's hostname) []:<twoja domena serwera>
Email Address []:mojadres@email.pl
[root@adamhitme ~]#
  • Ustawiamy prawa dostępu do pliku certyfikatu SSL poleceniem:
chmod  0440 /etc/pki/tls/certs/proftpd.pem
  • Na koniec, restartujemy usługę ProFTPd:
systemctl restart proftpd.service

 

Gotowe. Możemy połączyć się z naszym serwerem FTP stosując tylko szyfrowanie SSL.

Czy ten artykuł był pomocny?
0 0 z 0 uznało ten artykuł za pomocny .
Wyświetleń: 8
... ... ...
Czy kawa już zaparzona?

Polecamy nasz BLOG, gdzie publikujemy: #informacje, #poradniki, #tutoriale oraz #nowinki ze świata hostingu.

blog.hitme.pl

Masz pytania? Przeszukaj naszą Bazę Wiedzy