O documento discute o servidor FTP Vsftpd no Linux, incluindo suas características e configurações. Explica como instalar e configurar o Vsftpd para permitir ou restringir acesso de usuários, além de demonstrar práticas como restringir usuários a diretórios específicos e fazer upload e download de arquivos via FTP.
2. FTP
FTP = File Transfer Protocol
(Protocolo de Transferência de Arquivos)
- Protocolo Antigo e comum na Internet
- Usado para transferir arquivos entre computadores
- Clientes podem usar para fazer download ou upload de arquivos em
um servidor
- Existem várias implementações de servidor FTP em Linux:
- BSD FTPD
- ProFTP
- Wu-FTPD
- vsftpd roda em:
# ftp.redhat.com # ftp.suse.com # ftp.debian.org
# ftp.openbsd.org # ftp.freebsd.org # ftp.gnu.org
# ftp.gnome.org # ftp.kde.org # ftp.kernel.org
# rpmfind.net
3. FTP
Características
- Autenticação: Servidores FTP exigem um par de usuário e senha para
acesso ao mesmo. Acesso anônimo também pode ser disponibilizado.
- Contas: Devido ao sistema de usuário/senha, permite acesso
individualizado através de contas.
- Criptografia: Não codificam quaisquer dados, inclusive nomes de
usuários e senha. Existem implementações que aumentam a segurança
(FTP+Kerberos)
- Conexões: Baseado em conexão contínua.
4. FTP
Características (cont.)
- Edição direta de arquivo: O FTP não foi projetado com esse objetivo.
Necessário fazer o download e depois o upload do arquivo.
- Multi-plataforma: Implementação de clientes em diversas
plataformas
- Facilidade de configuração de servidor: Normalmente a
configuração básica de um servidor ftp permite ler e escrever com as
mesmas permissões de um login via shell.
5. VSFTP
- Servidor de FTP seguro, extremamente rápido e estável.
Algumas funcionalidades:
- Configuração de IP Virtual
- Usuários Virtuais
- Inicialização Standalone ou via inetd
- Suporte a encriptação via integração via SSL
- Arquivos de configuração:
/etc/vsftpd/ftpusers – Usuários locais que não possuem permissão para
para acesso ao servidor FTP.
/etc/vsftpd/user_lists – Depende do parâmetro userlist_enable no
arquivo de configuração. Possui lista de usuários que podem ou que não
podem se logar, dependendo do parâmetro citado.
/etc/vsftpd/chroot_lists – Lista de usuários que irão ficar chrooted (não
vem por padrão)
/etc/vsftpd/vsftpd.conf – Arquivo de configuração do servidor VSFTP
6. VSFTP - Instalando/Rodando
Setando as variáveis para uso do yum com proxy
# export http_proxy=http://cst03:123456@192.168.4.254:3128
# export ftp_proxy=http://cst03:123456@192.168.4.254:3128
Instalando o servidor vsftpd
# yum install vsftpd
Iniciando o serviço do servidor FTP
# service vsftpd start
Desabilitando o SELinux
# setenforce 0
Conectando ao servidor
# ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.0.5)
Name (localhost:fred_m):
7. VSFTP – Prática 1
- Ao se logar, cheque qual o seu diretório corrente com “pwd”
- Teste a navegação nas pastas dos sistema (/, /home, /etc,
/var)
- Restrinja o usuário CST03 a se logar no ftp
- Vamos agora deixar nosso servidor mais restritivo
8. VSFTP - /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
# Permite acesso anônimo ao servidor. No login, basta utilizar o usuário
# anonymous. O usuário visualizará a pasta /var/ftp chrooted.
local_enable=YES
# Permite que os usuários locais façam login no servidor
write_enable=YES
# Permite escrita no servidor
local_umask=022
# Máscara padrão no ambiente do servidor ftp. O valor padrão é 077
anon_upload_enable=YES
# Permite que usuários anonimos façam upload de arquivos para o
servidor, a pasta deve ter permissão adequada.
9. VSFTP - /etc/vsftpd/vsftpd.conf (cont.)
xferlog_enable=YES
# Registra em arquivo de log (/var/log/vsftpd.log) os downloads e uploads
idle_session_timeout=600
# Tempo de inatividade da sessão (segundos), após esse intervalo o
usuário
# será desconectado do servidor
ftpd_banner=Bem vindo ao FTP da FMN.
# Mensagem a ser exibida na tela inicial de autenticação do servidor
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# habilita chroot para os usuários listados no arquivo acima. Os usuários
serão limitados aos seus diretórios HOME.
userlist_enable=YES
# Se YES, nega acesso aos usuários listados em /etc/vsftpd/user_list
# Se NO, permite apenas acesso aos usuários listados no arquivo acima
10. VSFTP – Prática 2
- Restrinja o usuário CST03 a chroot
- Bloqueie todos os demais usuários do sistema a se
logarem no FTP.
- Crie um servidor ftp para usuários anonimos e permita que
eles escrevam na pasta linux da raiz do ftp.
- Faça um backup da pasta /etc e guarde no home do CST03
com o seuinte nome: sobrenome.tar.gz
- Via FTP, faça o upload (put) deste arquivo para a máquina
de um colega e faço o download (get) do arquivo do seu
colega.