O FTP (File Transfer Protocol) é um protocolo baseado na Pilha TCP e é amplamente utilizado para transferir arquivos. A Sigla FTP se refere tanto ao protocolo como ao software FTP, que pode ser um servidor de arquivos ou mesmo um software cliente para o acesso aos arquivos do servidor FTP. Este protocolo utiliza as portas 20 e 21 para a transferência de arquivos e comandos.Neste artigo iremos utilizar um software chamado VSFTPD e vamos instalá-lo em um Linux CentOS.
O FTP (File Transfer Protocol) é um protocolo baseado na Pilha TCP e é amplamente utilizado para transferir arquivos. A Sigla FTP se refere tanto ao protocolo como ao software FTP, que pode ser um servidor de arquivos ou mesmo um software cliente para o acesso aos arquivos do servidor FTP. Este protocolo utiliza as portas 20 e 21 para a transferência de arquivos e comandos.Neste artigo iremos utilizar um software chamado VSFTPD e vamos instalá-lo em um Linux CentOS.
Preparando o sistema
Após a instalação do Centos e serviços básicos, vamos resolver as dependências da aplicação. Para a instalação do FTP, vou usar um software bem conhecido chamado VSFTPD.
Resolvendo as dependências
Estes pacotes de dependências são muito úteis aconselho instalá-los.
# yum install libssh2 libssh2-devel openssh libcurl curl libcurl-devel net-snmp net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils php-snmp make gcc wget mlocate nettools
Instalação do Vsftpd
Iremos utilizar o gerenciador de pacotes do Centos chamado Yum.
Atualize o repositório:
# yum update
Instale o serviço Vsftpd:
# yum install vsftpd
Após instalado sem problemas, vamos iniciar o serviço:
# service vsftpd start
Configuração do Vsftpd
Iremos configurar com alguns parâmetros nosso servidor FTP. O arquivo de configuração do Vsftpd (vsftpd.conf) fica no seguinte diretório: /etc/vsftpd/.
Edite o arquivo de configuração:
# vim /etc/vsftpd/vsftpd.conf
Na nossa configuração o arquivo deve ter os seguintes parâmetros:
anonymous_enable=NO
local_enable=YES
write_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=userftp
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
Para que as configurações tenham efeito é necessário reiniciar o serviço:
# service vsftpd restart
Criando um usuário para o acesso FTP:
# adduser userftp
# passwd userftp
A configuração não está automática, para incluir este serviço na inicialização do sistema operacional, digite o seguinte comando:
# chkconfig vsftpd on
Configuração de segurança do Sistema Operacional
Nós fizemos toda a configuração do software, automatizamos sua inicialização, criamos usuário, mas o Centos é um sistema operacional muito seguro e temos que configurar nosso SELINUX e o IPTABLES.
Para que nosso SELINUX permita o acesso, edite o seguinte arquivo : /etc/sysconfig/selinux.
SELINUX=permissive
Para que o IPTABLES permita o acesso as portas 20 e 21, precisamos editar o seguinte arquivos de configuração: /etc/sysconfig/iptables.
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –sport 20 -j ACCEPT
Obs: Estas linhas devem ser adicionadas antes das regras de REJECT, deste arquivo.
Agora atualize as regras:
# iptables-restore /etc/sysconfig/iptables
Reinicie o servidor para que todas as configurações tenham efeito.
Ao longo do artigo, foi apresentado ao leitor a instalação e configuração de um servidor de arquivos FTP. Procurei mostrar de uma maneira bem simples a configuração somente desta funcionalidade.