Instal·lació de vsFTPd
Generar un certificat autofirmat
Instal·leu el nou certificat a vsFTPd
Confirmeu la instal·lació
El dimoni FTP molt segur, o simplement vsFTPd, és un programari lleuger amb una gran capacitat de personalització. En aquest tutorial assegurarem una instal·lació ja existent en un sistema Debian mitjançant el nostre propi certificat SSL/TLS autofirmat. Tot i que està escrit per a Debian, hauria de funcionar a la majoria de distribucions de Linux com Ubuntu i CentOS, per exemple.
Instal·lació de vsFTPd
En un VPS Linux nou, primer heu d'instal·lar vsFTPd. Encara que trobareu els passos bàsics per instal·lar vsFTPd en aquest tutorial, us recomano que llegiu també aquests dos tutorials més detallats: Configuració de vsFTPd a Debian/Ubuntu i Instal·lació de vsFTPd a CentOS . Tots els passos relacionats amb la instal·lació s'expliquen amb més cura allà.
Instal·lació a Debian/Ubuntu:
apt-get install vsftpd
Instal·lació a CentOS:
yum install epel-release
yum install vsftpd
Configuració
Obriu el fitxer de configuració: /etc/vsftpd.conf al vostre editor de text preferit, en aquest tutorial fem servir nano.
nano /etc/vsftpd.conf
Enganxeu les línies següents a la configuració:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Acabeu reiniciant el vostre dimoni vsFTPd:
/etc/init.d/vsftpd restart
Ara hauríeu de poder iniciar sessió com a qualsevol usuari local mitjançant FTP, ara continuem i protegim aquest programari.
Generar un certificat autofirmat
Normalment s'utilitza un certificat autofirmat en un protocol d'acord de clau pública, ara utilitzareu opensslper generar una clau pública i una clau privada corresponent. Primer de tot hem de fer un directori per emmagatzemar aquests dos fitxers clau, preferiblement en un lloc segur als quals els usuaris normals no puguin accedir.
mkdir -p /etc/vsftpd/ssl
Ara, a la generació real del certificat, emmagatzemarem les dues claus al mateix fitxer ( /etc/vsftpd/ssl/vsftpd.pem ):
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem
Després d'executar l'ordre, se us faran algunes preguntes com ara el codi del país, l'estat, la ciutat, el nom de l'organització, etc., utilitzeu la vostra informació o la de la vostra organització. Ara, la línia més important és el nom comú que ha de coincidir amb l'adreça IP del vostre VPS, o bé un nom de domini que hi apunte.
Aquest certificat tindrà una validesa de 365 dies (~1 any), utilitzarà el protocol d'acord de clau RSA amb una longitud de clau de 4096 bits i el fitxer que conté les dues claus s'emmagatzemarà al nou directori que acabem de crear. Per obtenir més detalls sobre la longitud de la clau i la seva relació amb la seguretat, consulteu això: Recomanacions d'Encryption II .
Instal·leu el nou certificat a vsFTPd
Per començar a utilitzar el nostre nou certificat i així proporcionar xifratge, hem d'obrir de nou el fitxer de configuració:
nano /etc/vsftpd.conf
Hem d'afegir els camins als nostres nous fitxers de certificats i claus. Com que s'emmagatzemen al mateix fitxer, també hauria de ser el mateix dins de la configuració.
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem
Hem d'afegir aquesta línia per assegurar-nos que SSL estarà habilitat:
ssl_enable=YES
Opcionalment, podem bloquejar els usuaris anònims perquè utilitzin SSL, ja que el xifratge no és necessari en un servidor FTP públic.
allow_anon_ssl=NO
A continuació, hem d'especificar quan utilitzar SSL/TLS, això habilitarà el xifratge tant per a la transferència de dades com per a les credencials d'inici de sessió.
force_local_data_ssl=YES
force_local_logins_ssl=YES
També podem especificar quines versions i protocols s'utilitzaran. En general, TLS és més segur que SSL i, per tant, podem permetre TLS i al mateix temps bloquejar versions anteriors de SSL.
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Requerir la reutilització de SSL i l'ús de xifratge alt també ajudarà a millorar la seguretat. De les pàgines man de vsFTPd:
require_ssl_reuse
If set to yes, all SSL data connections are required to exhibit SSL session reuse (which proves that they know the same master secret as the control
channel). Although this is a secure default, it may break many FTP clients, so you may want to disable it. For a discussion of the consequences, see
http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Added in v2.1.0).
ssl_ciphers
This option can be used to select which SSL ciphers vsftpd will allow for encrypted SSL connections. See the ciphers man page for further details. Note
that restricting ciphers can be a useful security precaution as it prevents malicious remote parties forcing a cipher which they have found problems with.
require_ssl_reuse=YES
ssl_ciphers=HIGH
Acabeu reiniciant el vsftpddimoni
/etc/init.d/vsftpd restart
Confirmeu la instal·lació
I ja està, ara hauríeu de poder connectar-vos al vostre servidor i confirmar que tot funciona. Si utilitzeu FileZilla, s'hauria d'obrir un diàleg que contingui la informació de la vostra organització (o el que hàgiu introduït en generar el certificat anteriorment) en connectar-vos. Aleshores, la sortida hauria de semblar a aquesta:
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Per obtenir més informació sobre vsFTPd, consulteu les seves pàgines de manual:
man vsftpd