[Tutorial] VSFTP com certificado SSL operando em modo passivo
Enviado: 01 Jul 2013 12:15
Este tutorial aborda a configuração do servidor FTP VSFTP com SSL habilitado para reforçar a segurança. Lembre-se que o uso de SSL degraga bastante a transferência no protocolo FTP devido a troca de chaves a cada transferência feita. Portanto não é aconselhado utilizar este recurso em um FTP de trocas de arquivos grandes. Vamos as configurações necessárias ?
Edite o arquivo .conf do VSFTP e adicione as linhas necessárias vi /etc/vfstpd.conf
Edite pasv_min_port e pasv_max_port para definir a range de portas utilizado pelo modo passivo e edite o pasv_address inserindo o ip publico de seu servidor, este parametro é necessário para que o cliente FTP não acesse o ip local de seu servidor FTP.
Com o conf pronto, precisamos gerar o certificado que será utilizado nas conexões. Para tal execute:
Agora é reload e restart no servidor VSFTP
E esta feito. No seu firewall ajuste regra NAT para a porta do SSL e para a range de portas do modo passivo, TCP.

Agora é usar
Edite o arquivo .conf do VSFTP e adicione as linhas necessárias vi /etc/vfstpd.conf
Código: Selecionar todos
listen=YES
ftpd_banner=Servidor FTP da minha Empresa
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_world_readable_only=NO
anon_other_write_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
dual_log_enable=YES
syslog_enable=YES
log_ftp_protocol=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
connect_from_port_20=YES
async_abor_enable=YES
idle_session_timeout=600
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
local_umask=022
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/certs/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=YES
force_anon_data_ssl=NO
force_anon_logins_ssl=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES
pasv_enable=YES
pasv_promiscuous=NO
pasv_min_port=6000
pasv_max_port=7000
pasv_addr_resolve=NO
pasv_address=SEUIPPUBLICO
Com o conf pronto, precisamos gerar o certificado que será utilizado nas conexões. Para tal execute:
Código: Selecionar todos
cd /etc/ssl/certs
openssl req -x509 -nodes -days 730 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem
chmod 775 vsftp.pem
Código: Selecionar todos
/etc/init.d/vsftpd reload && /etc/init.d/vsftpd restart
Nos clientes FTP deve ser informado encriptação "Modo Explicito" e modo de transferência deve ser preferencialmente "Passivo"443
6000:7000

Agora é usar
