Primer pas: instal·lació
Segon pas: configuració
Pas tres: creeu usuaris
Pas quatre: suport TLS
Pure-FTPd és un servidor FTP ràpid i lleuger creat tenint en compte la seguretat. En aquest tutorial, us mostraré com instal·lar i utilitzar Pure FTP en 4 senzills passos. Aquesta guia explica com instal·lar Pure FTPd a Debian 9.
Primer pas: instal·lació
Pure-FTPd es troba al repositori estable de Debian, de manera que no cal afegir cap repositori addicional al vostre sistema.
Executeu l'ordre següent amb privilegis de root:
apt install -y pure-ftpd-common pure-ftpd
Segon pas: configuració
Hi ha moltes opcions que podeu utilitzar per canviar el comportament de l'aplicació. Aquestes opcions es podrien aplicar al dimoni de Pure-FTPd a l'inici o podeu fer-les persistents creant els fitxers necessaris dins del confdirectori.
Volem:
- Crear usuaris virtuals.
- Creeu directoris d'inici per als usuaris automàticament.
- Limiteu (
chroot) els usuaris perquè només tinguin accés al seu propi directori d'inici.
Habiliteu la base de dades de Pure-FTPd i desactiveu l'autenticació PAM i Unix per habilitar els usuaris virtuals:
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
echo no > /etc/pure-ftpd/conf/PAMAuthentication
echo no > /etc/pure-ftpd/conf/UnixAuthentication
Configureu Pure-FTPd per crear directoris d'inici per als usuaris en el primer inici de sessió:
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
Chroot tothom.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
Si esteu interessats en conèixer altres opcions, visiteu la pàgina de documentació oficial .
Pas tres: creeu usuaris
Pure-FTPd pot gestionar usuaris virtuals, el que significa que es mantenen a la base de dades de Pure-FTPd i no estan relacionats amb els usuaris del sistema Linux.
Per tal que Pure-FTPd pugui gestionar fitxers amb usuaris virtuals, hem de crear un usuari i un grup Linux en el qual estaran associats tots els usuaris virtuals. Tots els usuaris virtuals poden utilitzar el mateix usuari i grup del sistema sempre que hagin estat rootejats.
Executeu les ordres següents per crear l'usuari i el grup del sistema:
groupadd ftpusr
useradd -g ftpusr -d /dev/null -s /etc ftpusr
Nota : no volem que aquest usuari tingui un directori d'inici o una capacitat d'inici de sessió.
Creeu el nostre directori arrel FTP:
mkdir /home/FTP
Creeu un usuari virtual a Pure-FTPd:
pure-pw useradd alex -u ftpusr -g ftpusr -d /home/FTP/alex
Hem afegit el nostre primer usuari virtual ( alex) i l'hem associat a l'usuari/grup del sistema ( ftpusr). Tots els fitxers amb els quals escriviu alexseran propietat ftpusrdel sistema.
Actualitza la base de dades de Pure-FTPd:
pure-pw mkdb
Comproveu la informació de l'usuari:
pure-pw show alex
Login : alex
Password : <encrypted password>
UID : 1000 (ftpusr)
GID : 1000 (ftpusr)
Directory : /home/FTP/alex/./
Full name :
Download bandwidth : 0 Kb (unlimited)
Upload bandwidth : 0 Kb (unlimited)
Max files : 0 (unlimited)
Max size : 0 Mb (unlimited)
Ratio : 0:0 (unlimited:unlimited)
Allowed local IPs :
Denied local IPs :
Allowed client IPs :
Denied client IPs :
Time restrictions : 0000-0000 (unlimited)
Max sim sessions : 0 (unlimited)
Per facilitar-vos la vida, utilitzeu l'script següent per afegir comptes FTP:
echo -e '#!/bin/bash\nread -p "Enter UserName: " usrname\npure-pw useradd $usrname -u ftpusr -g ftpusr -d /home/FTP/$usrname && pure-pw mkdb' > /usr/sbin/ftp-createacc
chmod u+x /usr/sbin/ftp-createacc
Ara, crear comptes FTP és senzill:
ftp-createacc
Enter UserName: mike
Password:
Enter it again:
Pas quatre: suport TLS
Primer, hem d'instal·lar OpenSSL.
apt install -y openssl
Força Pure-FTPd a utilitzar TLS, o podem fer-lo opcional, cosa que significa que s'accepten connexions tant insegures com TLS.
# force TLS
echo 2 > /etc/pure-ftpd/conf/TLS
# insecure + TLS
echo 1 > /etc/pure-ftpd/conf/TLS
Creeu un directori per emmagatzemar les nostres claus.
mkdir -p /etc/ssl/pure-ftpd
Genereu una clau de paquet (clau privada i clau pública).
openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Reinicieu el pure-ftpddimoni.
systemctl restart pure-ftpd
Si teniu un tallafoc instal·lat al vostre sistema, o el vostre servidor està darrere de NAT, heu de definir ports passius a Pure-FTPd i obrir aquests ports al vostre tallafoc, en cas contrari rebreu errors com aquests:
Server sent passive reply with unroutable address. Passive mode failed.
Failed to retrieve directory listing.
500 I won't open a connection to 192.168.1.4 (only to 10.10.10.10).
Estableix ports passius a Pure-FTPd:
echo "40110 42210" > /etc/pure-ftpd/conf/PassivePortRange
Reinicieu pure-ftpdper aplicar el canvi.
systemctl restart pure-ftpd
Al vostre tallafoc, obriu l'interval de ports d'entrada de 40110 a 42210 , protocol TCP.
FTP és insegur per naturalesa, però també és ràpid i fàcil de configurar. Per obtenir una solució més segura, utilitzeu SFTP.