4. CONCEITO
O FTP (File Transfer Protocol) é um protocolo para
transferências de arquivos amplamente utilizado na internet
devido a sua facilidade de implementação e simplicidade de
uso.
O protocolo FTP foi desenvolvido para ser versátil, confiável e
rápido, o que fez com este sistema de transferência de arquivos
desenvolvido antes da pilha TCP/IP se tornasse padrão de
tecnologia, sendo posteriormente adaptado para se adaptar aos
padrões de redes existentes hoje.
Para que a transferência seja efetuada, é necessário que o
cliente FTP estabeleça uma sessão com o servidor, que pode
ser em modo Ativo ou Passivo. As portas que o FTP usa são 20
e 21.
www.4linux.com.br 4 / 36
5. Plano de curso
Aula 14: Servidor FTP com VSFTPD
- Configurar o servidor FTP na máquina 192.168.200.3
para que o WebDesigner (usuário joaowebdesign)
possar subir os arquivos do site www.dexter.com.br;
- Configurar o FTP com proteção a “chroot”;
Apache
/srv/www/dexter
Webdesigner João (joaowebdesign) 192.168.200.3
www.4linux.com.br 5 / 36
7. CONCEITO: MODO ATIVO
Os modos ativo e passivo referem-se a transferência de
arquivos. No modo ativo os comandos são enviados
normalmente pelo cliente e recebidos na porta 21/tcp do
servidor. Quando há transferências de arquivos, o cliente
solicita uma conexão na porta 20/tcp do servidor, e então, a
transferência ocorre.
www.4linux.com.br 7 / 36
8. CONCEITO: MODO PASSIVO
Para contornar este problema, foi desenvolvido o modo de
configuração passivo. Deste modo tanto o servidor quanto o
cliente trabalharão em portas altas durante a transferência de
arquivos, contornando assim o problema do firewall mal
configurado. Lembre-se: Todos os comandos serão recebidos
pelo servidor na porta 21/tcp.
www.4linux.com.br 8 / 36
9. CONCEITO
Qual a desvantagem do modo ativo?
Neste modo, um firewall mal configurado pode dar
uma falsa sensação de funcionamento do FTP, pois
a conexão e os comandos FTP funcionarão
normalmente, porém, na hora da transferência de
arquivos, ocorrerá uma falha de desconexão ou
time out, dependendo do tipo de servidor.
Vamos usar o modo passivo na configuração do
nosso servidor ftp.
www.4linux.com.br 9 / 36
10. MODO ANÔNIMO
X
TRADICIONAL
0
www.4linux.com.br 10 / 36
11. CONCEITO
Tradicional: Neste formato, o servidor aceita conexões de um
usuário e senha válidos para liberar um shell para ele.
Anonymous: O Servidor FTP com anonymous é muito utilizado
na Internet pelo motivo de não ser necessário ter um usuário no
servidor. Desta forma, o usuário pode abrir um browser e
chamar o endereço ftp://servidor para ter acesso ao diretório
disponibilizado pelo serviço. Geralmente, esse diretório é o
home do usuário FTP que no Debian é /srv/ftp (segundo o
FHS).
No nosso servidor ftp vamos desativar o modo Anonymous,
pois ele será usado apenas pelo webdesigner João pode fazer
upload dos arquivos das empresas DEXTER e MANDARK. O
usuário root não poderá fazer acesso ao servidor FTP.
www.4linux.com.br 11 / 36
12. CONFIGURANDO VSFTPD
Para instalar o vsftpd, execute o comando abaixo:
# aptitude install vsftpd
Após instalar, vamos abrir o arquivo de
configuração localizado em /etc e então comentar
sobre suas configurações padrão:
# vim /etc/vsftpd.conf
Localize as configurações que seguem abaixo:
Permite que o VSFTPD funcione em modo daemon
listen=YES
www.4linux.com.br 12 / 36
13. CONFIGURANDO VSFTPD
Permite a utilização o FTP com o usuário anonymous
anonymous_enable=No
Permite a exibição de mensagens aos usuários
dirmessage_enable=YES
Ativa os logs para downloads e uploads
xferlog_enable=YES
Utiliza a porta FTP-DATA para transferência de
arquivos (vamos usar FTP Passivo)
connect_from_port_20=No
www.4linux.com.br 13 / 36
14. CONFIGURANDO VSFTPD
Habilite a variável que permite que os usuários do sistema possam
usar o servidor FTP:
local_enable=YES
Descomente a variável que permite o upload para os usuários:
write_enable=YES
Definindo timeout para sessão e conexão de dados em 2 minutos
(120 segundos):
idle_session_timeout=120
data_connection_timeout=120
Não permitir que o usuário veja arquivos que não sejam seus:
chroot_local_user=YES
Habilite o uso do PAM:
pam_service_name=vsftpd
www.4linux.com.br 14 / 36
15. CONFIGURANDO VSFTPD
# /etc/init.d/vsftpd restart
Lembre-se que adicionamos o usuário joaowebdesign na aula de
Apache. O diretório onde ele terá permissão para fazer upload e
download de arquivos é:
/srv/www/dexter
Verifique as permissões, dono e grupo deste diretório:
# ls -dl /srv/www/dexter
drwxr-xr-x 2 root root 4096 Jun 6 22:41 /srv/www/dexter/
Altere para:
# chown -R joaowebdesign:joaowebdesign /srv/www/dexter/
# chmod -R 775 /srv/www/dexter/
# usermod -d /srv/www/dexter joaowebdesign
www.4linux.com.br 15 / 36
16. CONFIGURANDO VSFTPD
Bloqueando usuário root para que este não acesse o
servidor FTP:
# vim /etc/ftpusers
root
Acrescente “root” na última linha do arquivo se não tiver
esta linha já.
Caso você queira bloquear mais algum usuário para que
ele não acesse o servidor FTP, coloque o nome dele no
arquivo.
www.4linux.com.br 16 / 36
17. CONFIGURANDO VSFTPD
Crie o arquivo /srv/www/dexter/.message e coloque a
mensagem abaixo:
# vim /srv/www/dexter/.message
## Este sistema é para uso exclusivo da empresa DEXTER.
## Todas as atividades serão registradas.
## É vetada a utilização deste sistema para transferência de
## arquivos protegidos por qualquer lei de direito autoral
## ou arquivos que infrinjam a legislação vigente.
Após escrever a mensagem, salve o arquivo e reinicie o serviço
FTP:
# /etc/init.d/vsftpd restart
www.4linux.com.br 17 / 36
18. ACESSANDO FTP
A partir da DMZ1 (192.168.200.2):
$ ftp 192.168.200.3 ou $ ftp ftp.dexter.com.br
Connected to 192.168.200.3 (192.168.200.3).
220 (vsFTPd 2.3.2)
Name (192.168.0.112:leo): joaowebdesign
331 Please specify the password.
Password: 123456
230-## Este sistema é para uso exclusivo da empresa DEXTER
230-## Todas as atividades serão registradas.
230-## É vetada a utilização deste sistema para transferência de
230-## arquivos protegidos por qualquer lei de direito autoral
230-## ou arquivos que infrinjam a legislação vigente
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
www.4linux.com.br 18 / 36
19. COMANDOS FTP
Para realizar o download de um arquivo, utilize o comando get,
após conectar-se ao FTP:
ftp> get <arquivo>
Para trocar de diretórios dentro do servidor, utilize o comando cd:
ftp> cd <diretório>
Para realizar o upload, utilize o comando put:
ftp> put <arquivo>
Para listar o conteúdo de um diretório corrente, utilize o comando
ls:
ftp> ls
Para listar os diretórios locais (lado cliente), utilize o comando !ls:
ftp> !ls
www.4linux.com.br 19 / 36
20. COMANDOS FTP
Para voltar um diretório, utilize o comando cd..
ftp> cd ..
Para mudar de diretório na máquina cliente, utilize o lcd:
ftp> lcd <diretório>
Para realizar múltiplos downloads, utilize o mget:
ftp> mget *
Para realizar múltiplos uploads, utilize o mget:
ftp> mput *
Para uma lista completa de comandos, utilize o help:
ftp> help
www.4linux.com.br 20 / 36
23. Plano de curso
Aula 14: Introdução ao OpenLDAP
- O que é o OpenLDAP e em que ele nos ajudará?
- O que é um diretório afinal?
- Vantagens de usar OpenLDAP;
192.168.200.2
www.4linux.com.br 23 / 36
25. CONCEITO
➔ O que é o LDAP?
LDAP significa Protocolo Leve de Acesso a Diretórios.
“É um padrão aberto capaz de facilitar, de forma flexível, o
compartilhamento, a manutenção e o gerenciamento de
grandes volumes de informações, definindo um método
padrão de acesso e atualização de informações dentro de
um diretório.” Steven Tuttle
www.4linux.com.br 25 / 36
26. CONCEITO
➔ Características de um sistema de diretórios
➔Centraliza e organiza informações;
➔Evita redundância;
➔É otimizado para fazer pesquisas, pois utiliza algoritmos
de busca sofisticados;
➔Podem ser distribuídos, isto é, não precisam
necessariamente armazenar suas informações em um
mesmo local.
www.4linux.com.br 26 / 36
28. CONCEITO
➔ O que é o OpenLDAP?
OpenLDAP é um servidor compatível com LDAPv3 livre e
popular. Está disponível para várias plataformas como:
Linux, Solaris, Mac OS e Windows.
Segurança e controle de dados é imprescindível em
qualquer empresa, umas das vantagens do OpenLDAP é a
possibilidade de que vários sistemas possam compartilhar
de base de dados de usuários e senhas de forma
centralizada e integrada.
www.4linux.com.br 28 / 36
29. CONCEITO
➔ Quais serviços podem usar a base de dados do
OpenLDAP?
Apache, DNS, FTP, Kerberos, MySQL, PAM, Postfix,
Samba, Squid, SSL, Clusters etc.
www.4linux.com.br 29 / 36
30. O que é um
diretório?
www.4linux.com.br 30 / 36
31. CONCEITO
➔ O que é um diretório?
Diretório significa algo usado para indicar direções.
Um exemplo simples: Uma lista telefônica.
A lista é organizada de maneira hierárquica para que a
informação buscada seja encontrada de forma eficiente.
Em um diretório você pode pesquisar, inserir, alterar e
apagar itens.
www.4linux.com.br 31 / 36
32. O que é NÃO é
um diretório?
www.4linux.com.br 32 / 36
33. CONCEITO
➔ O que NÃO é um diretório?
Um diretório não pode ser considerado um banco de dados, porque o
bando de dados é otimizado para ler e gravar dados com o mesmo
grau de eficiência. O diretório é otimizado apenas para leitura e seu
sistema de transações é bem mais simples do que de um banco de
dados.
Um diretório não pode ser considerado um sistema de arquivos. O
sistema de arquivo possui otimizações para manipulação de
arquivos, como, por exemplo, para trabalhar com grandes arquivos.
O diretório não tem otimização para trabalhar com arquivos grandes.
www.4linux.com.br 33 / 36
34. ESTRUTURA DO LDAP
A organização da estrutura de dados do OpenLdap é
hierárquica, sendo referenciada a forma de árvore, com
conceito de orientação de objetos.
A árvore de informações do LDAP possui um elemento
raiz, onde começa a busca das informações. Sendo assim,
o sistema percorre os nós filhos até encontrar o elemento
desejado. A raiz e seus ramos são diretórios.
www.4linux.com.br 34 / 36
35. ESTRUTURA DO LDAP
Atributos de diretórios:
c - Representa país (country)
o - Representa uma organização como uma empresa
(organization)
ou -Representa um departamento (organization unit)
Atributos de entradas:
cn - Representa um nome (common name)
uid - Representa a identidade de um usuário (user ID)
gn - Representa o nome próprio de uma pessoa (given name)
sn - Representa o sobrenome de uma pessoa (surname)
www.4linux.com.br 35 / 36
36. ÁRVORE NO ESTILO DNS
dc = componente de domínio dc = br
dc = com
dc = dexter
ou = People
cn = mandarkglory cn = root
uidNumber = 1001 uidNumber = 0
www.4linux.com.br 36 / 36