Vsftp - Instalação de um servidor FTP focado em segurança

Este artigo aborda a instalação de um servidor FTP com segurança. Pontos de segurança tratados: usuário FTP limitado
ao seu home, SELinux ativo, regras IPtables TCP Wrappers, limitação apenas para a pasta do usuário e criação de contas FTP.

[ Hits: 26.225 ]

Por: Leonardo Macedo Cerqueira em 18/10/2012 | Blog: http://devopslab.com.br/


Introdução



O artigo está divido em duas partes, que são:
  • Parte I: Segurança do servidor FTP.
  • Parte II: Instalação, configuração, segurança e testes do FTP: vsftp.

Segurança do servidor FTP

Primeiramente, atualize o seu sistema operacional (CentOS/Red Hat/Fedora):

# yum update

Deixe o SELinux ativado. No CentOS/Red Hat, edite o arquivo /etc/selinux/config.

E mantenha a linha:

SELINUX=enforcing


IPtables

Vamos deixar a política INPUT como DROP, reforçando a segurança, e liberando apenas o FTP.

Regras:

# /sbin/iptables -F
# /sbin/modprobe nf_conntrack_ftp
# /sbin/iptables -P INPUT DROP
# /sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
# /sbin/iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
# /sbin/iptables -A INPUT -p ALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# /sbin/iptables -A OUTPUT -p ALL -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT


Para deixar as regras em modo persistente, execute:

# iptables save

E configure o módulo FTP para carregar automaticamente no IPtables:

# /etc/init.d/iptables save

Deixe o módulo "nf_conntrack_ftp" automático. Edite e deixe a linha como abaixo:

# vi /etc/sysconfig/iptables-config

IPTABLES_MODULES="nf_conntrack_ftp"


TCP Wrappers + SSH + FTP

Como o FTP, que nós vamos configurar, é baseado em logins, e estes logins são contas ativas no servidor, vamos limitar o acesso SSH apenas a nossa rede interna, utilizando o TCP Wrappers. Evitando ataques com sucesso no SSH utilizando contas FTP.

O FTP como é público, é acessível a todos. TCP Wrappers, resumidamente, é uma camada de segurança, para controlar o acesso a daemons do sistema.

Editar os arquivos /etc/hosts.allow e /etc/hosts.deny: ALLOW - /etc/hosts.allow

# vi /etc/hosts.allow

Permitindo o acesso SSH, apenas para a nossa rede interna:

sshd: 192.168.0.0/24, 10.0.0.0/8
#FTP para todos:
vsftpd: ALL


DENY (/etc/hosts.deny) - O que não for permitido no hosts.allow, será automaticamente bloqueado.

# vi /etc/hosts.deny

ALL: ALL


SSH

Conforme comentei acima, as contas dos usuários FTP são contas válidas, em um ataque de brute force SSH, alguém conseguiria logar- se no servidor com uma conta FTP.

Então, vamos dar mais uma incrementada na segurança do FTP. Fora o TCP Wrappers abordado acima, edite o arquivo e deixe as linhas:

# vi /etc/ssh/sshd_config

PermitRootLogin no

#Libere apenas os usuários que devam acessar via SSH:
AllowUsers usuariosshexemplo


    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
Outros artigos deste autor

Instalação do Gitlab e introdução ao Git

Discos Virtuais na Amazon WS - Como expandir disco EBS em servidores virtuais Amazon WS

OUTGUESS: Oculte mensagens em fotos

KNOCK + SSH

PHP Server Monitor - Monitore URLs e IPs

Leitura recomendada

Autenticando Documento com Blockchain e Ethereum

N2N: Layer Two Peer-to-Peer VPN

Warsaw no Fedora 28 funcionando - Internet Banking

Criando relatórios estatísticos com o webalizer

Configurando a internet e compartilhando a rede local, com o Kurumin 6 (IPs estáticos)

  
Comentários
[1] Comentário enviado por jonatas.baldin em 18/10/2012 - 10:02h

Configurei o mesmo FTP praticamente igual semana passada. Ótimo artigo!

[2] Comentário enviado por danniel-lara em 18/10/2012 - 14:04h

Muito bom
Parabéns

[3] Comentário enviado por andrezc em 20/10/2012 - 21:27h

Gostei mesmo foi do título do negócio.

"vsf"tp. (:

[4] Comentário enviado por grandetilismo em 21/12/2013 - 16:06h

Excelente post.

Obrigado por postar.

Abraço.


'Os homens são miseráveis, porque não sabem ver nem entender os bens que estão ao seu alcance.'
Pitágoras

[5] Comentário enviado por andreasfelix em 21/01/2014 - 15:48h

exelente !
otimo conteudo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts