Um dos métodos de conexão mais seguros e tradicionais em qualquer organização é o FTP (File Transfer Protocol), que permite a transferência de arquivos entre dois computadores em uma rede TCP.
Seu design é baseado na arquitetura cliente-servidor, com a qual é possível utilizar um computador cliente de onde podemos nos conectar a um servidor para fazer download de arquivos ou enviar arquivos independentemente do sistema operacional utilizado em cada um dos computadores, daí a ampla aceitação deste protocolo.
Um dos utilitários que temos à disposição para adicionar ainda mais segurança à conexão FTP é o ProFTPD que analisaremos hoje no CentOS 7.
O que é ProFTPDO ProFTPD é basicamente um software de servidor FTP licenciado GPL altamente configurável para atender às expectativas de conexão em qualquer site. O ProFTPD está desenhado de raiz, pelo que não utiliza outra cópia e isto dá-nos a possibilidade de configurar inúmeras opções na sua execução.
ProFTPDO ProFTPD pode ser executado nas seguintes plataformas de forma integral:
- AIX
- BSD / OS
- Cygwin
- Unix Digital
- DG / UX HP / UX
- IRIX
- Linux
- Mac OS
- SCO
- FreeBSD
- NetBSD
- OpenBSD
- Solaris
- SunOS
- Linux para IBM S / 390, zSeries
Recursos ProFTPDEntre suas características encontramos:
- Possui um único arquivo de configuração principal, com diretivas e grupos de diretivas que são intuitivos para qualquer usuário que tenha usado o Apache.
- Possui um diretório ".ftpaccess" cuja configuração é semelhante ao ".htaccess" do Apache
- Capacidade de configurar vários servidores FTP virtuais e serviços FTP anônimos
- Projetado para ser executado como um servidor autônomo ou a partir de inetd / xinetd, dependendo da carga do sistema
- Os diretórios raiz do FTP anônimo não requerem nenhuma estrutura de diretório específica, binários do sistema ou outros arquivos do sistema para fácil administração
- Nenhum comando SITE EXEC. Em ambientes modernos da Internet, esses comandos são um pesadelo de segurança
- O código-fonte está disponível para administradores e desenvolvedores auditarem o sistema
- Possui arquivos e diretórios ocultos, com base em permissões de estilo Unix ou propriedade de usuário / grupo
- Ele é executado como um usuário não privilegiado configurável no modo autônomo para reduzir as chances de ataques que poderiam explorar os recursos de "raiz". Nota: Este recurso depende dos recursos do sistema host Unix
- Suporte para registro e utmp / wtmp. O registro é compatível com o padrão wu-ftpd, com registro estendido disponível
- Suporte para o conjunto de senhas Shadow, incluindo suporte para contas expiradas
- É baseado em um design modular, o que nos permite expandir facilmente o servidor com módulos. Os módulos foram escritos para bancos de dados SQL, servidores LDAP, criptografia SSL / TLS, suporte RADIUS, etc.
- Suporta IPv6.
1. Como instalar EPEL no CentOS 7
Passo 1
O primeiro passo é instalar o repositório EPEL para depois obter o ProFTPD, para isso executamos o seguinte:
yum -y install epel-release
Passo 2
Assim que esse processo for concluído, veremos o seguinte:
etapa 3
Agora, vamos importar a chave EPEL GPG usando a seguinte linha:
rpm --importar / etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7Prosseguimos para atualizar os pacotes do sistema:
yum -y atualização
2. Como instalar o ProFTPD em Como instalar EPEL no CentOS 7
A próxima etapa será instalar o utilitário ProFTPD e OpenSSL executando o seguinte:
yum install -y proftpd openssl proftpd-utils
Terminado este processo, iremos executar as seguintes linhas:
systemctl start proftpd.service (inicia o serviço ProFTPD) systemctl enable proftpd.service (ativa o serviço ProFTPD junto com a inicialização do CentOS)
3. Como configurar o Firewall
Se o Firewalld estiver instalado no CentOS 7, devemos configurá-lo com firewall-cmd para abrir a porta FTP da seguinte maneira:
firewall-cmd --add-service = ftp --permanent firewall-cmd -reload
Prosseguimos para verificar a versão instalada do ProFTPD:
proftpd -v
4. Como criar usuários e grupos para ProFTPD no CentOS 7
Uma vez que ProFTPD é instalado no CentOS 7, é para criar o grupo e usuário para acesso, neste caso vamos criar um grupo ftpgroup e um usuário solvetic1 para ProFTPD, e vamos definir / ftpshare como o diretório home para o usuário criado:
groupadd ftpgroup useradd -G ftpgroup solvetic1 -s / sbin / nologin -d / ftpshare passwd solvetic1
Aí devemos inserir e confirmar a respetiva palavra-passe para o novo utilizador. Depois de fazer isso, concederemos as permissões para ftpshare executando:
chmod -R 1750 / ftpshare /
5. Como habilitar TLS no ProFTPD
Agora será necessário protegermos as conexões FTP usando TLS e para isso devemos abrir o arquivo /etc/proftpd/proftpd.conf mas é o ideal antes de editar o arquivo, criar uma cópia de backup do arquivo original e então edite o arquivo com o nano.
Passo 1
Para criar a cópia, executamos:
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bakPara acessar o arquivo, usaremos o nano e executaremos:
nano /etc/proftpd.confNo arquivo exibido, inseriremos o seguinte na linha DefaultRoot ~! Adm:
PassivePorts 6000 6100
Passo 2
Além disso, comentaremos as seguintes linhas:
# TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL :! ADHLS :! DES TLSOStrifyV offSquest000VequestRequest000Request00000V TLSOptionsRequest00000 obrigatório TLSOStrifyVRequest000Request000vRSTLS necessário TLSOStrify000Request000Request000RequestReq. TLSOptions necessários 36 NoCertRequest000 offStriatet000 TLSOptions obrigatório NoCertRequest tempo limite 300 TLSLog /var/log/proftpd/tls.log # # TLSSessionCache shm: / file = / var / run / proftpd / sesscache # #etapa 3
Salvamos as alterações usando as teclas Ctrl + O e saímos do editor usando as teclas Ctrl + X. Como podemos ver, as portas 6000 e 6100 foram adicionadas para permitir o modo passivo de ftp, para permitir esse acesso, executaremos o seguinte :
firewall-cmd --add-port = 6000-6100 / tcp --permanent firewall-cmd --reload
Passo 4
Se quisermos ver o status das portas, podemos executar o seguinte:
firewall-cmd --list-ports
Etapa 5
Agora, será necessário configurar o SELINUX para permitir a leitura e escrita dos arquivos, executamos o seguinte:
setsebool -P allow_ftpd_full_access = 1
Etapa 6
Para usar o TLS, será necessário criar um certificado SSL, nós o criaremos no caminho / etc / pki / tls / certs, da seguinte maneira:
openssl req -x509 -nodes -newkey rsa: 1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pemAs seguintes perguntas serão exibidas, onde inseriremos respostas como:
- Cidade
- País
- Organização
- Mail e mais
Etapa 7
Agora, por motivos de segurança, configuraremos os certificados de modo que sejam legíveis apenas da seguinte forma:
chmod 0440 /etc/pki/tls/certs/proftpd.pemPor fim, reiniciamos o serviço ProFTPD executando o seguinte:
systemctl restart proftpd.service
6. Como acessar CentOS usando FTP
Passo 1
Para acessar o CentOS via FTP, podemos usar um cliente FTP e, para este caso, usaremos o Filezilla que pode ser baixado no seguinte link:
Filezilla
Ao acessar o Filezilla vamos ao menu Arquivo e lá selecionamos a opção Gerenciador do site para criar a configuração do nosso acesso, entraremos no seguinte:
Servidor192.168.0.9 (CentOS 7 IP)
ProtocoloFTP
EncriptaçãoRequer FTP explícito sobre TLS
Modo de acessoNormal
Do utilizadorsolvetic1 (criado durante a configuração)
portaPode ficar em branco se uma porta diferente de 21 não tiver sido personalizada, que é o padrão.
SenhaCriado durante a configuração do usuário
PROLONGAR
Passo 2
Uma vez definido isso, clique em Conectar para acessar nosso servidor CentOS e a partir daqui inicie a conexão, este processo pode ser feito a partir do Windows, macOS ou Linux, ao clicarmos lá será exibida a seguinte mensagem:
Detalhes da mensagemLá podemos ver detalhes como:
- Algoritmos, data de validade e impressões digitais do certificado
- Dados do certificado conforme configurados no momento da criação
- Dados da sessão com endereço IP, usuário, senhas e tipo de criptografia
etapa 3
Podemos ativar a caixa Sempre confiar no certificado em sessões futuras para evitar que esta mensagem seja exibida em cada conexão com o CentOS 7.
Se estiver correto, clique no botão OK e assim estaremos conectados ao CentOS 7 usando ProFTPD:
PROLONGAR
Lá podemos iniciar o processo de navegação sem problemas.
Passo 4
Caso queira configurar o usuário anônimo para acesso FTP, iremos criar o seguinte arquivo:
nano /etc/proftpd.confLá, colaremos o seguinte:
[…] ### Compartilhamento anônimo ##### Grupo ftp do usuário ftp UserAlias ftp anônimo DirFakeUser no ftp DirFakeGroup no ftp MaxClients 10 DenyAllSalvamos as alterações usando as teclas Ctrl + O e saímos usando Ctrl + X.
Etapa 5
Por fim, reiniciamos o serviço:
systemctl restart proftpd.serviceVimos como o ProFTPD é uma ferramenta útil para estabelecer uma ligação integrada aos nossos servidores, garantindo assim uma comunicação integrada e totalmente ágil dos ficheiros.
Lembre-se que o ProFTPD está disponível para diversos sistemas, por isso seu uso é amplo.