Montando um servidor de FTP
Mas o que realmente é o FTP?
FTP significa “File Transfer Protocol”, ou seja, “Protocolo de Transferência de Arquivos.” O FTP é a forma mais comum de transferir arquivos na internet, bastante utilizado nos provedores de hospedagem.
Exemplo real de utilização do FTP:
Suponhamos que você acaba de configurar um servidor Web utilizando o Apache e, necessita disponibilizar uma forma de seus clientes publicarem os arquivos em seu servidor, de maneira rápida e segura na área Web que você acabou de configurar. Então surge a pergunta que não quer calar:
Qual a melhor maneira de permitir que os clientes efetuem a publicação de seus arquivos em meu servidor de forma segura? A resposta é simples, montando um servidor de FTP.
Existem muitos programas servidores de FTP disponíveis para Linux que atendem essa necessidade, porém o mais utilizado é o ProFtpd. É com ele que iremos configurar nosso servidor.
Por que o ProFtpd ?
O ProFtpd é um software que fornece o serviço de FTP de forma bastante eficiente e, tem como principais características a segurança e flexibilidade. Dentre as principais vantagens do ProFtpd podemos citar:
- Fácil configuração, utilizando um único arquivo de configuração (/etc/proftpd.conf);
- Pode ser executado em modo stand-alone ou através do inetd e xinetd, dependendo do sistema;
- O PID é executado por um usuário sem privilégios especiais (nobody);
- Arquivos de log facilmente configurável de acordo com sua necessidade;
- Restrição de acesso via .ftpaccess , similar ao apache .htaccess;
- É possível configurar o número máximo de processos em execução, minimizando vulnerabilidades.
Instalando o ProFtpd
O download do ProFTPd poderá ser feito em: https://www.proftpd.org
A instalação pode ser feita também via APT através do seguinte comando:
apt-get install proftpd
Entendendo a configuração do ProFtpd
Conforme vimos nas características do ProFtpd, ele é configurado através de um único arquivo de configuração, o “/etc/proftpd.conf”. O ProFTPd lê esse arquivo toda vez que é iniciado, após realizar alterações neste arquivo, as mudanças somente surtirão efeito após o restart do serviço.
O proftpd.conf utiliza o conceito de contextos em sua configuração, em cada contexto aplicamos diretivas de configuração, ou seja, os contextos são opções globais de um comportamento e, a diretiva seria um sub-comportamento.
Os contextos são divididos em cinco categorias:
- Contexto Principal: possui as configurações padrão utilizadas por outros contextos;
- Contexto <Directory DIR>: especifica a forma que o programa deve se comportar no diretório;
- Contexto <Anonymous DIR>: especifica a forma que o programa deve se comportar quando o usuário anonymous efetuar o login, ou seja, a partir de qual diretório(DIR) ele será servido;
- Contexto <Limit AÇÃO>: especifica as ações no ProFTPd que são:
LOGIN – usuário válido se logando. READ – downloads de arquivos. WRITE – uploads de arquivos. STOR – upload de arquivos sem possibilidade ou deletar diretórios; - Contexto <VirtualHost IP>: define a criação de ftp’s virtuais.
Após escrever as configurações acima em seu arquivo /etc/proftpd.conf , inicie o serviço com o seguinte comando:
/etc/init.d/proftpd start
Para checar se o serviço subiu corretamente, utilize o seguinte comando:
# netstat -an grep 21
Caso toda a configuração tenha sido realizada corretamente, o servidor irá retornar a seguinte resposta:
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
Se a resposta que você obteve foi igual a acima, meus parabéns! Você acaba de configurar seu servidor de FTP seguro e confiável. Os logs das operações em seu servidor de FTP, serão gravados no arquivo: “/var/log/xferlog”.
Para funcionar perfeito, edite o arquivo “/etc/hosts” da seguinte maneira:
127.0.0.1 localhost 127.0.1.1 nome-maquina # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback nome-maquina fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Espero ter colaborado!
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes