Abordaremos o serviço de FTP:
"O FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos (também conhecidos como ficheiros), sendo uma das mais usadas na Internet. A transferência de dados em redes de computadores envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais).
O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP, sendo posteriormente adaptado para o TCP/IP. É o padrão da pilha TCP/IP para transferir arquivos, é um protocolo genérico independente de hardware e do sistema operacional e transfere arquivos por livre arbítrio, tendo em conta restrições de acesso e propriedades dos mesmos."
Fonte:
File Transfer Protocol - Wikipédia, a enciclopédia livre
Usaremos o ProFTP como servidor, que é uma das aplicações mais usadas do mundo.
Para instalá-lo, basta:
# aptitude install proftpd
Na hora da instalação você será questionado sobre qual modo de instalação do ProFTPD, selecione o modo
Standalone, é o mais adequado. Depois de instalar o ProFTPD, iremos para seu arquivo de configuração, onde fica a mágica da coisa.
# pico /etc/proftpd/proftpd.conf
Podem observar que o arquivo de configuração é razoavelmente grande, mas bem fácil de entender.
A primeira coisa a fazer é modificar a linha "UseIPv6", deixando-a como "off", pois caso contrário, você terá que utilizar o endereço IPv6:
UseIPv6 off
A próxima linha a ser modificada é a do "ServerName", coloque o nome do seu servidor entre as aspas:
ServerName "ODIN"
Agora adicionaremos a opção "AllowForeignAddress", esta linha é a responsável por autorizar as conexões externas. Se estamos usando um FTP, lógico que a intenção não é usá-lo internamente, então, essa linha deve estar presente no arquivo:
AllowForeignAddress on
O "DefaultRoot" é o responsável por limitar o usuário à sua pasta HOME, ou seja, ele fica preso dentro do seu próprio HOME, não sendo capaz de navegar pelos diretórios no sistema:
DefaultRoot ~
Outra opção é a "RequireValidShell", deixando ela como "off", o ProFTPD irá aceitar conexões de usuários que não possuem shell válida no sistema, consequentemente, usuários sem shell não podem utilizar o SSH, por exemplo:
RequireValidShell off
A próxima opção importante é mudar a porta do ProFTPD, não esqueça de abrir a porta em seu firewall:
Port 58791
Para liberar a porta:
# iptables -A INPUT -p tcp --dport 58791 -j ACCEPT
Outra linha que não pode ser esquecida é a "PassivePorts", que define um intervalo de portas para a transferência dos dados. Será necessário você aceitar a conexão nessas portas em seu firewall:
PassivePorts 27000 28000
Liberando a conexão:
# iptables -A INPUT -p tcp --dport 27000:28000 -j ACCEPT
A próxima opção é a "MasqueradeAddress", que define o IP que ele responderá, adicione o IP do seu servidor aqui:
MasqueradeAddress 201.xx.86.xx
Mais uma opção é a "MaxInstances", que define a quantidade de conexões simultâneas que o servidor aceitará:
MaxInstances 20
Basicamente, a configuração é essa aí. Reinicie o ProFTPD:
# /etc/init.d/proftpd restart
Agora pode tentar logar com algum usuário válido no sistema:
FTP://ip.do.servidor:58791
Para criar os usuários, é interessante criá-los sem shell:
# adduser -shell /bin/false fulano
Bom, é isso aí, até a próxima.
Dica previamente publicada em: