Kategorie: Linux

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.

Linux

Udostępnij
Opublikowane przez
Linux

Najnowsze wpisy

KeePass2 2.52 w Ubuntu 22.04

Poniższy poradnik opisuje sposób instalacji KeePass w systemie Ubuntu. Całość wykonamy za pomocą kilku poleceń…

2 lata temu

Instalacja Master PDF editor w Ubuntu 22.04

Master PDF Editor to wszechstronny program PDF, który zawiera wiele funkcji. Oprócz tworzenia i edycji…

2 lata temu

iotop – monitorowanie pamięci

Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w…

2 lata temu

Uruchomienie wiele poleceń w jednym zadaniu Cron

Możesz oddzielić dwa lub więcej poleceń za pomocą średników (;), Średnik (;): służy do oddzielania…

2 lata temu

Zmiana danych exif zdjęcia w terminalu Linux

Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.…

2 lata temu

Instalacja Rocket.Chat Server w systemie Rocky Linux 8

Poniższy poradnik opisuje sposób instalacji Rocket.Chat W systemie Rocky Linux 8 Całość bardzo prosto zainstalujemy…

2 lata temu