Instalacja ProFTPD z TLS na Ubuntu 18.04 LTS

Poniższy poradnik opisuje proces instalacji serwera ftp na Ubuntu 18.04
Zapraszam do lektury.

Na początek dokonujemy aktualizacji repozytoriów oraz systemu:

apt-get update apt-get upgrade

Instalacja proftpd

apt-get install proftpd -y

Uruchamiamy go w systemie:

systemctl start proftpd systemctl enable proftpd

Sprawdzamy status usługi poleceniem:

systemctl status proftpd

Jeśli wszystko jest ok zobaczymy coś takiego:

proftpd.service - LSB: Starts ProFTPD daemon Loaded: loaded (/etc/init.d/proftpd; generated) Active: active (running) since Sat 2019-05-25 09:18:19 UTC; 31s ago Docs: man:systemd-sysv-generator(8) Tasks: 1 (limit: 1114) CGroup: /system.slice/proftpd.service ??1927 proftpd: (accepting connections) May 25 09:18:19 ubuntu1804 systemd[1]: Starting LSB: Starts ProFTPD daemon... May 25 09:18:19 ubuntu1804 proftpd[1906]: * Starting ftp server proftpd May 25 09:18:19 ubuntu1804 proftpd[1906]: ...done. May 25 09:18:19 ubuntu1804 systemd[1]: Started LSB: Starts ProFTPD daemon.

Kolejny krok to edycja pliku konfiguracyjnego a mianowicie:

/etc/proftpd/proftpd.conf

edytujemy go poleceniem

nano /etc/proftpd/proftpd.conf

powinien wyglądać następująco:

# # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. # # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 off # If set on you can experience a longer connection delay in many cases. IdentLookups off ServerName "Debian" # Set to inetd only if you would run proftpd by inetd/xinetd. # Read README.Debian for more information on proper configuration. ServerType standalone DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l" DenyFilter \*.*/ # Use this to jail all users in their homes # DefaultRoot ~ # Port 21 is the standard FTP port. Port 21 MaxInstances 30 # Set the user and group that the server normally runs at. User proftpd Group nogroup # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log

Poniżej opis najważniejszych ustawień

ServerName: Domyślna nazwa serwera ftp.
UseIPV6: Tutaj ustawiamy czy serwer ftp ma nasłuchiwać również na ipv6.
DefaultRoot: Powoduje zamknięcie użytkowników w ich katalogach domowych.
Port: Możesz zdefiniować własny port ftp .
SystemLog: Domyślna lokalizacja plików logu. Możesz to zmienić wedle upodobań

Teraz dokonamy zabezpieczenia ftp TLS

Instalujemy na początek niezbędną paczkę:

apt-get install openssl -y

Następnie generujemy certyfikat

openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

Uzupełniamy go swoimi danymi.

Nadajemy uprawnienia na pliki certyfikatu:

chmod 600 /etc/ssl/private/proftpd.key chmod 600 /etc/ssl/certs/proftpd.crt

Edytujemy proftpd w celu uruchomienia TLS

nano /etc/proftpd/proftpd.conf

i odhaszujemy

Include /etc/proftpd/tls.conf

Całość powinna wyglądać następująco:

TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRequired on TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired TLSVerifyClient off

Ostatni krok to przeładowanie serwera ftp wykonamy to poleceniem:

systemctl restart proftpd

Użytkowników ftp dodajemy poleceniem:

adduser nazwauzytkownika

dla przykładu ftp1

adduser ftp1

Adding user `ftp1' ... Adding new group `ftp1' (1006) ... Adding new user `ftp1' (1002) with group `ftp1' ... Creating home directory `/home/ftp1' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for ftp1 Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y

Teraz pozostało się tylko połączyć do naszego serwera wybranym przez nas programem np Filezilla.

Dodaj komentarz