ADMINISTRAÇÃO DE REDES I ­ LINUX
Servidor de FTP - Vsftpd
Frederico Madeira
LPIC­1, LPIC­2, CCNA
fred@madeira.eng.br
www.madeira.eng.br
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
FTP
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.
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.
- 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
VSFTP
Instalando o servidor vsftpd
# yum install vsftpd
Iniciando o serviço do servidor FTP
# service vsftpd start (pré fedora 15)
# systemctl start vsftpd.service (pós fedora 15)
Desabilitando o SELinux
# setenforce 0
Desabilitando o Firewall (não e nosso objetivo)
# service iptables stop (pré fedora 15)
# systemctl stop iptables.service (pós fedora 15)
Conectando ao servidor
# ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.0.5)
Name (localhost:fred_m):
VSFTP - Instalando/Rodando
- 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
VSFTP – Prática 1
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.
VSFTP - /etc/vsftpd/vsftpd.conf
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
VSFTP - /etc/vsftpd/vsftpd.conf (cont.)
- 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.
VSFTP – Prática 2
ADMINISTRAÇÃO DE REDES I ­ LINUX
Servidor de FTP - Vsftpd
Frederico Madeira
LPIC­1, LPIC­2, CCNA
fred@madeira.eng.br
www.madeira.eng.br

Linux - Servidor de FTP VSFTPD

  • 1.
    ADMINISTRAÇÃO DE REDES I ­ LINUX Servidor de FTP- Vsftpd Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br
  • 2.
    FTP = FileTransfer 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 FTP
  • 3.
    FTP Características - Autenticação: ServidoresFTP 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çãodireta 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.
    - Servidor deFTP 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 VSFTP
  • 6.
    Instalando o servidorvsftpd # yum install vsftpd Iniciando o serviço do servidor FTP # service vsftpd start (pré fedora 15) # systemctl start vsftpd.service (pós fedora 15) Desabilitando o SELinux # setenforce 0 Desabilitando o Firewall (não e nosso objetivo) # service iptables stop (pré fedora 15) # systemctl stop iptables.service (pós fedora 15) Conectando ao servidor # ftp localhost Connected to localhost (127.0.0.1). 220 (vsFTPd 2.0.5) Name (localhost:fred_m): VSFTP - Instalando/Rodando
  • 7.
    - Ao selogar, 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 VSFTP – Prática 1
  • 8.
    anonymous_enable=YES # Permite acessoanô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. VSFTP - /etc/vsftpd/vsftpd.conf
  • 9.
    xferlog_enable=YES # Registra emarquivo 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 VSFTP - /etc/vsftpd/vsftpd.conf (cont.)
  • 10.
    - Restrinja ousuá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. VSFTP – Prática 2
  • 11.
    ADMINISTRAÇÃO DE REDES I ­ LINUX Servidor de FTP- Vsftpd Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br