Configurando um servidor FTP seguro usando SSL/TLS no Ubuntu
- 1617
- 457
- Mr. Mitchell Hansen
Neste tutorial, descreveremos como garantir um Ftp servidor (Vsftpd apoia "Daemon FTP muito seguro") usando SSL/TLS em Ubuntu 16.04/16.10.
Se você deseja configurar um servidor FTP seguro para distribuições baseadas no CENTOS, pode ler - proteger um servidor FTP usando SSL/TLS no CentOS
Depois de seguir as várias etapas deste guia, teremos aprendido os fundamentos da habilitação de serviços de criptografia em um servidor FTP para transferências de dados seguras é crucial.
Requisitos
- Você deve instalar e configurar um servidor FTP no Ubuntu
Antes de avançarmos mais, verifique se todos os comandos neste artigo serão executados como conta de root ou sudo privilegiado.
Etapa 1: Gerando certificado SSL/TLS para FTP no Ubuntu
1. Começaremos criando um subdiretório sob: /etc/ssl/ Para armazenar o SSL/TLS Certificado e arquivos de chave se não existir:
$ sudo mkdir/etc/ssl/privado
2. Agora vamos gerar o certificado e a chave em um único arquivo, executando o comando abaixo.
$ sudo openssl req -x509 -nodes -keyout/etc/ssl/private/vsftpd.PEM --out/etc/ssl/privado/vsftpd.PEM -Daiu 365 -NowKey RSA: 2048
O comando acima solicitará que você responda às perguntas abaixo, não se esqueça de inserir valores aplicáveis ao seu cenário.
Nome do país (código de 2 letra) [xx]:EM Nome do estado ou da província (nome completo) []:Parel inferior Nome da localidade (por exemplo, cidade) [Cidade padrão]:Mumbai Nome da organização (por exemplo, Empresa) [Empresa Padrão Ltd]:Tecmint.com Nome da unidade organizacional (por exemplo, seção) []:Linux e código aberto Nome comum (por exemplo, seu nome ou o nome do host do seu servidor) []:Tecmint Endereço de email []:[Email protegido]
Etapa 2: Configurando o VSFTPD para usar o SSL/TLS no Ubuntu
3. Antes de realizarmos qualquer Vsftpd Configurações, para aqueles que têm o Firewall do UFW ativado, você deve abrir as portas 990 e 40000-50000 Para permitir que as conexões TLS e a linha de portas de portas passivas sejam definidas no arquivo de configuração VSFTPD, respectivamente:
$ sudo ufw permitir 990/tcp $ sudo ufw permitir 40000: 50000/tcp $ sudo ufw status
4. Agora, abra o arquivo de configuração do vsftpd e defina os detalhes do SSL:
$ sudo vi/etc/vsftpd/vsftpd.conf ou $ sudo nano/etc/vsftpd/vsftpd.conf
Em seguida, adicione ou localize a opção ssl_enable
e definir seu valor para SIM Para ativar o uso de SSL, novamente, porque o TLS é mais seguro que o SSL, restringiremos o VSFTPD a usar o TLS, permitindo que o ssl_tlsv1
opção:
ssl_enable = sim ssl_tlsv1 = sim ssl_ssslv2 = não ssl_ssslv3 = não
5. Em seguida, comente as linhas abaixo usando o #
Personagem da seguinte maneira:
#RSA_CERT_FILE =/etc/ssl/private/ssl-cert-snakeoil.PEM #rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeoil.chave
Posteriormente, adicione as linhas abaixo para definir a localização do certificado SSL e do arquivo -chave:
rsa_cert_file =/etc/ssl/private/vsftpd.PEM rsa_private_key_file =/etc/ssl/private/vsftpd.PEM
6. Agora, também precisamos impedir que os usuários anônimos usem o SSL, depois forçar todos os logins não anônimos a usar uma conexão SSL segura para transferência de dados e enviar a senha durante o login:
allow_anon_ssl = não force_local_data_ssl = yes force_local_logins_sssl = sim
7. Além disso, podemos usar as opções abaixo para adicionar mais recursos de segurança no servidor FTP. Com opção requim_ssl_reuse = sim
, Todas as conexões de dados SSL são necessárias para exibir reutilização de sessão SSL; provando que eles conhecem o mesmo segredo principal que o canal de controle. Então, devemos desativá -lo.
requim_ssl_reuse = não
Além disso, podemos definir quais cifras ssl vsftpd permitirão para conexões SSL criptografadas com o ssl_ciphers
opção. Isso ajudará a frustrar quaisquer esforços dos atacantes que tentam forçar uma cifra específica em que possivelmente descobriram vulnerabilidades:
ssl_ciphers = alto
8. Então, vamos definir o intervalo de portas (Min e Max Port) de portas passivas.
pasv_min_port = 40000 pasv_max_port = 50000
9. Para ativar a depuração do SSL, o que significa que o diagnóstico de conexão OpenSSL é gravado no arquivo de log VSFTPD, podemos usar o Debug_ssl
opção:
Debug_ssl = sim
Finalmente salve o arquivo e feche -o. Em seguida, reinicie o serviço vsftpd:
$ Systemctl Reiniciar vsftpd
Etapa 3: Verifique FTP com conexões SSL/TLS no Ubuntu
10. Depois de executar todas as configurações acima, teste se o VSFTPD agora está usando as conexões SSL/TLS tentando usar o FTP da linha de comando como abaixo.
A partir da saída abaixo, há uma mensagem de erro nos dizendo que o vsftpd só pode permitir que os usuários (não anônimos) fizessem login de clientes seguros que suportam serviços de criptografia.
$ ftp 192.168.56.10 Conectado a 192.168.56.10 (192.168.56.10). 220 Bem -vindo ao Tecmint.serviço ftp. Nome (192.168.56.10: raiz): Ravi 530 sessões não anônimas devem usar a criptografia. falha no login. 421 Serviço não disponível, o servidor remoto tem conexão fechada ftp>
A linha de comando não suporta serviços de criptografia, resultando no erro acima. Portanto, para conectar -se com segurança a um servidor FTP com serviços de criptografia ativados, precisamos de um cliente FTP que suporta conexões SSL/TLS por padrão, como Filezilla.
Etapa 4: Instale o Filezilla nos clientes para conectar o FTP com segurança
Filezilla é um cliente FTP de plataforma cruzada poderosa e amplamente usada que suporta FTP sobre SSL/TLS e mais. Para instalar o Filezilla em uma máquina cliente Linux, use o seguinte comando.
--------- No Debian/Ubuntu --------- $ sudo apt-get install filezilla --------- No CentOS/Rhel/Fedora --------- # yum installel-l-lançamento filezilla --------- Em Fedora 22+ --------- $ sudo dnf install filezilla
12. Quando a instalação terminar, abra -a e vá para Arquivo => gerente de sites ou (pressione Ctrl+s) para obter o Gerente do site interface abaixo.
Gerenciador do site Filezilla13. Agora, defina o nome do host/site, adicione o endereço IP, defina o protocolo para usar, criptografia e tipo de logon, como na tela abaixo (use valores que se aplicam ao seu cenário):
Clique em Novo site botão para configurar um novo site/conexão do host.
Hospedar: 192.168.56.10 Protocolo: FTP - Protocolo de transferência de arquivos Criptografia: Requer FTP explícito sobre #recomlended Logon Type: Peça senha #Recomled User: nome de usuárioConfigure o novo site FTP no Filezilla
14. Em seguida, clique em Conectar da interface acima para inserir a senha e verifique o certificado que está sendo usado para o SSL/TLS conexão e clique OK mais uma vez para conectar -se ao servidor FTP:
Verifique o certificado FTP SSL15. Agora, você deve ter registrado com sucesso no servidor FTP em uma conexão TLS, verifique a seção Status da conexão para obter mais informações da interface abaixo.
Conectado ao servidor FTP do Ubuntu16. Por fim, vamos transferir arquivos da máquina local para o sever FTP na pasta de arquivos, dê uma olhada na extremidade inferior da interface Filezilla para visualizar relatórios sobre transferências de arquivos.
Transferência segura de arquivos FTP usando o FileZillaIsso é tudo! Lembre -se sempre de que a instalação de um servidor FTP sem habilitar serviços de criptografia tem certas implicações de segurança. Como explicamos neste tutorial, você pode configurar um servidor FTP para usar conexões SSL/TLS para implementar a segurança no Ubuntu 16.04/16.10.
Se você enfrentar algum problema na configuração do SSL/TLS no servidor FTP, use o formulário de comentário abaixo para compartilhar seus problemas ou pensamentos sobre este tutorial/tópico.
- « Como criar um pacote RPM do GNU Hello World em Fedora
- Como criptografar unidades usando Luks no Fedora Linux »