Neste tutorial, vamos mostrar como instalar, configurar e proteger um servidor FTP (VSFTPD em completo “Very Secure FTP Daemon“) no Ubuntu para ter uma poderosa segurança contra vulnerabilidades no FTP.
Quer uma internet rápida para ver filmes e jogar online sem travamentos e com o preço bem baixo? Acesse o NET Telefone e fale com um especialista NET para conhecer os pacotes disponíveis para você!
O FTP é um protocolo de rede padrão relativamente antigo e mais usado usado para fazer o upload ou download de arquivos entre dois computadores em uma rede. No entanto, o FTP por ser naturalmente inseguro, pois ele transmite dados juntamente com credenciais de usuário (nome de usuário e senha) sem criptografia.
Se você planeja usar FTP, considere a possibilidade de configurar a conexão com SSL/TLS. Caso contrário, é sempre melhor usar FTP seguro, como SFTP.
Etapa 1: Instalando o Servidor VsFTP no Ubuntu
1. Primeiro, precisamos atualizar a lista de fontes do pacotes do sistema e, em seguida, instalar o pacote binário VSFTPD da seguinte maneira:
2. Uma vez concluída a instalação, o serviço estará desativado inicialmente. Portanto, precisamos iniciá-lo manualmente pelo tempo médio e também ativá-lo para iniciar automaticamente a partir do próximo boot do sistema.
3. Em seguida, se você tiver o firewall UFW ativado (não ativado por padrão) no servidor, você deve abrir as portas 21 e 20 onde os daemons de FTP estão ouvindo, para permitir o acesso a serviços FTP de máquinas remotas e, em seguida, adicionar As novas regras de firewall da seguinte forma:
Etapa 2: Configurando e protegendo o servidor VsFTP no Ubuntu
4. Vamos agora executar algumas configurações para configurar e proteger nosso servidor FTP, primeiro vamos criar um backup do arquivo de configuração original /etc/vsftpd/vsftpd.conf assim:
Em seguida, vamos abrir o arquivo de configuração vsftpd.
Ou
Adicione / modifique as seguintes opções com estes valores:
local_enable=YES # permit local logins
write_enable=YES # enable FTP commands which change the filesystem
local_umask=022 # value of umask for file creation for local users
xferlog_enable=YES # a log file will be maintained detailing uploads and downloads
dirmessage_enable=YES # enable showing of messages when users first enter a new directory
listen=NO # prevent vsftpd from running in standalone mode
connect_from_port_20=YES # use port 20 (ftp-data) on the server machine for PORT style
connectionsxferlog_std_format=YES # keep standard log file format
userlist_enable=YES # enable vsftpd to load a list of usernames
listen_ipv6=YES # vsftpd will listen on an IPv6 socket instead of an IPv4
onepam_service_name=vsftpd # name of the PAM service vsftpd will use
tcp_wrappers=YES # turn on tcp wrappers
5. Agora, configure VSFTPD para permitir/negar o acesso FTP aos usuários com base no arquivo de lista de usuários /etc/vsftpd.userlist.
Observe que, por padrão, os usuários listados em userlist_file=/etc/vsftpd.userlist têm acesso de login negado userlist_deny=YES altere para userlist_enable=YES.
Mas, a opção userlist_deny=NO torce o significado da configuração padrão, de modo que somente usuários cujo nome de usuário esteja explicitamente listado em userlist_file=/etc/vsftpd.userlist terão permissão para fazer login no servidor FTP.
Quando os usuários efetuam login no servidor FTP, eles são colocados em um cárcere chrootado (diretório de processo corrente), este é o diretório raiz local que atuará como seu diretório home para a sessão FTP somente.
6. Neste ponto, vamos adicionar/modificar/descomentar essas duas opções a seguir para restringir os usuários FTP para seus diretórios Home.
allow_writeable_chroot=YES
A opção chroot_local_user=YES significa que os usuários locais serão colocados em um chroot jail, seu diretório base por padrão após o login.
E devemos também entender que VSFTPD não permite que o diretório chroot jail seja gravável, por padrão, por motivos de segurança, no entanto, podemos usar a opção allow_writeable_chroot = YES para desabilitar esta configuração.
Salve o arquivo e feche-o. Em seguida, temos de reiniciar VSFTPD serviços para as alterações acima para ter efeito.
Etapa 3: Testando o Servidor VsFTP no Ubuntu
8. Agora é hora de testar nossas configurações acima estão funcionando conforme necessário. Começaremos testando logins anônimos. Podemos ver claramente a partir da saída abaixo que logons anônimos não são permitidos no servidor FTP:
Connected to 192.168.10.1 (192.168.10.1).
220 Welcome to SempreUpdate FTP service.
331 Please specify the password.
Name (192.168.10.1:sempreupdate) : sempreupdate
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
Devemos notar que essas implicações de segurança não são específicas para VSFTPD, eles também podem afetar todos os outros daemons FTP que oferecem para colocar os usuários locais em cadeias chroot.Por esse motivo, na seção abaixo, explicaremos um método mais seguro de definir um diretório raiz local não-gravável diferente para um usuário.
Etapa 4: Configurar FTP Diretórios de Usuários no Ubuntu
11. Agora, abra o arquivo de configuração VSFTPD mais uma vez.
OU
E comente a opção não segura usando o caractere # como mostrado abaixo:
sudo mkdir /home/sempreupdate/ftp/files
sudo chown -R sempreupdate:sempreupdate /home/sempreupdate/ftp/files
sudo chmod -R 0770 /home/sempreupdate/ftp/files/
13. Agora, vamos executar uma verificação final e certificar-se de que o diretório raiz local do usuário é o diretório FTP que criamos em seu diretório pessoal.
# ftp 192.168.10.1 Connected to 192.168.10.1 (192.168.10.1). 220 Welcome to SempreUpdate FTP service.331 Please specify the password. Name (192.168.10.1:sempreupdate) : sempreupdate Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls
Agora servidor instalado, configurado e pronto.