Administração de redes Servidor FTP FTP (File Transfer Protocol - Protocolo de transferência de arquivos) é um tipo de protocolo utilizado para a transferência de arquivos entre computadores em rede. Para uma transferência de arquivos é utilizado um cliente FTP onde é implementado pelo comando ftp, e um servidor onde são utilizados os servidores vsftpd e proftpd. Os servidores serão instalados e configurados no computador dns2 com endereço IP 192.168.1.2 da nossa rede local Configuração servidor vsftpd É um servidor ftp seguro, e possue os seguintes arquivos de configuração que estão localizados em: /etc/vsftpd.conf - arquivo de configuração /home/ftp - diretório de armazenamento de arquivos para o FTP anônimo /etc/vsftpd.chroot_list - arquivo que armazena os usuários que não precisam ser enjaulados no seu diretório home com chroot Instalação Pacotes necessários para instalação do servidor FTP no Debian. # apt-get install vsftpd Pacotes necessários para instalação do servidor FTP no Fedora. # yum install vsftpd Arquivos de configuração Para permitir login anônimo com usuário anonymous e sem senha, altere a linha: anonymous_enable=no para anonymous_enable=yes # /etc/vsftpd.conf listen=yes # permite o vsftpd ser executado pelo inetd ou como daemon através de script anonymous_enable=no # habilita ftp anônimo ou não local_enable=yes # habilita acesso de usuários locais write_enable=yes # habilita gravação através do ftp 1
local_umask=022 # umask padrão dirmessage_enable=yes # ativa o envio de mensagens xferlog_enable=yes # ativa upload e download connect_from_port_20=yes # ativa conexões apartir da porta 20, sendo a porta 21 o padrão do FTP xferlog_file=/var/log/vsftpd.log # arquivo de log ftpd_banner=welcome to FTP service. # banner com mensagens de saudação da tela de login inicial chroot_local_user=yes # enjaula os usuários no seu diretório home com chroot #chroot_list_enable=yes # não enjaula os usuários no seu diretório home com chroot #chroot_list_file=/etc/vsftpd.chroot_list # crie o arquivo /etc/vsftpd.chroot_list e adicione os usuários que não precisam de chroot Armazena os usuários que não precisam ser enjaulados(presos no diretório /home/usuario) em seu diretório home do usuário se as linhas chroot_list_enable=yes e chroot_list_file=/etc/vsftpd.chroot_list estiverem descomentadas no arquivo /etc/vsftpd.conf. # /etc/vsftpd.chroot_list aluno1 aluno2 Adicionando o servidor vsftpd na inicialização Ao instalar o servidor vsftpd ele é automáticamente adicionado na inicialização do sistema, mas caso deseje incluí-lo manualmente execute o comando update-rc.d no Debian ou ntsysv no. Debian # update-rc.d vsftpd defaults # ntsysv [x] vsftpd Use a tecla TAB para navegar entre os serviços e a tecla ESPAÇO para ativar e desativar. Inicializando o servidor vsftpd Debian # /etc/init.d/vsftpd start # /sbin/service vsftpd start 2
Configuração servidor proftpd É um servidor ftp alternativo, e possue os seguintes arquivos de configuração que estão localizados em: Instalação /etc/proftpd/proftpd.conf - arquivo de configuração Para a instalação em distrbuições Linux Debian é necessário remove o servidor vsftpd antes de instalar o proftpd no Debian. # apt-get remove vsftpd # apt-get install proftpd Pacotes necessários para instalação do servidor FTP no Fedora. # yum install proftpd Ao instalar o proftpd será perguntado se você deseja incluí-lo como serviço pelo inetd ou como serviço solitário (standalone), escolha a opção standalone apertando a tecla TAB e ENTER na opção OK, pois se o site for muito visitado não será abertos novos processos, e não sobrecarregando assim o servidor. Arquivos de configuração Edite o arquivo e caso deseje fazer alguma alteração como por exemplo é recomendados enjaular o usuário com chroot no diretório home do usuário, para adicione a seguinte linha no arquivo /etc/proftpd/proftpd.conf 3
e reinicie o proftpd. DefaultRoot ~ # /etc/proftpd/proftpd.conf DefaultRoot ~ # enjaula o usuário com chroot no diretório home do usuário RootLogin off # desabilita login do super usuário root Include /etc/proftpd/modules.conf # arquivo de inclusão de módulos UseIPv6 off # desabilita IPV6 ServerName "Debian FTP Server" # nome do servidor FTP ServerType standalone # tipo do servidor FTP, pondendo ser inetd ou standalone DisplayLogin welcome.msg # mensagens de login DisplayFirstChdir.message ListOptions "-l" Port 21 # porta do servidor proftpfd MaxInstances 30 # número de conexões simultâneas User proftpd # usuário do proftpfd Group nogroup # grupo do proftpfd Umask 022 022 # umask padrão AllowOverwrite on # premite sobrescrever arquivos TransferLog /var/log/proftpd/xferlog # arquivos de logs SystemLog /var/log/proftpd/proftpd.log Para permitir login anônimo com usuário anonymous e ftp sem senha, descomente as linhas abaixo: # /etc/proftpd/proftpd.conf <Anonymous ~ftp> User ftp Group nogroup UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> Configuração de servidores virtuais 4
Na aula sobre DNS foram criados os domínios virtuais dominio1.com.br e dominio2.com.br, e agora iremos configurar os servidores FTP para esses domínios: ftp.dominio1.com.br e ftp.dominio2.com.br. Para a configuração do servidor ftp.dominio2.com.br, siga os mesmos passos do servidor ftp.dominio1.com.br Crie o usuário dominio1 e seu diretório /var/www/dominio1 e mude as permissões # mkdir /var/www/dominio1 # useradd dominio1 -d /var/www/dominio1 # passwd dominio1 # chown -R dominio1.dominio1 /var/www/dominio1 # chown -R 755 /var/www/dominio1 Edite o arquivo /etc/proftpd/proftpd.conf e acrescente no final do arquivo as seguintes linhas # /etc/proftpd/proftpd.conf # servidor FTP dominio1.com.br <VirtualHost 192.168.1.10> # endereço IP do servidor virtual dominio1.com.br criado na aula sobre DNS com IP Aliasing ServerName "FTP server dominio1" DefaultRoot ~ RootLogin off User ftp Group nogroup <Directory /*> AllowOverwrite on </Directory> </VirtualHost> Adicionando o servidor proftpd na inicialização Ao instalar o servidor proftpd ele é automáticamente adicionado na inicialização do sistema, mas caso deseje incluí-lo manualmente execute o comando update-rc.d no Debian ou ntsysv no. Debian # update-rc.d proftpd defaults # ntsysv [x] proftpd Use a tecla TAB para navegar entre os serviços e a tecla ESPAÇO para ativar e desativar. Inicializando o servidor proftpd 5
Debian # /etc/init.d/proftpd start # /sbin/service proftpd start Testando o servidor FTP No computador local digite os comandos abaixo: # netstat -nap grep ":21" $ telnet localhost 21 $ ftp ftp.dominio1.com.br Connected to ftp.dominio1.com.br. 220 ProFTPD 1.3.0 Server (FTP server dominio1) [192.168.1.10] Name (ftp.dominio1.com.br:fe): dominio1 # digite o nome de usuário 331 Please specify the password. Password:********** # digite a senha 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> quit # sai do ftp 221 Goodbye. 6