O Config Server Firewall (ou CSF) é um firewall gratuito e avançado para a maioria das distribuições Linux e VPS baseados em Linux. Além da funcionalidade básica de um firewall - pacotes de filtragem - o CSF inclui outros recursos de segurança, como detecção de login /intrusão/inundação.

O CSF inclui integração de interface do usuário para cPanel, DirectAdmin e Webmin, mas este tutorial abrange apenas o uso da linha de comando. O CSF é capaz de reconhecer muitos ataques, como varreduras de portas, inundações SYN e ataques de força bruta em muitos serviços. Ele está configurado para bloquear temporariamente os clientes detectados como atacando o servidor em nuvem.

A lista completa de sistemas operacionais e especificações pode ser acessada no site oficial do ConfigServer.

Pré-requisitos

*Uma única instância VPS com o template do Centos 7 (1GB de RAM funcionará bem)

Especificações

O Config Server Firewall oferece uma ampla variedade de proteções para a sua VPS

Daemon de falha de autenticação de login

O CSF verifica os logs em busca de falhas nas tentativas de login em intervalos regulares e é capaz de reconhecer a maioria das tentativas não autorizadas de obtenção de acesso ao seu servidor. Você pode definir a ação desejada para o CSF executar e a quantidade de tentativas no arquivo de configuração.

Os seguintes aplicativos são suportados por esse recurso:

  • Courier imap, Dovecot, uw-imap, Kerio
  • openSSH
  • cPanel, WHM, Webmail (cPanel servers only)
  • Pure-ftpd, vsftpd, Proftpd
  • Password protected web pages (htpasswd)
  • Mod_security failures (v1 and v2)
  • Suhosin failures
  • Exim SMTP AUTH

Além desses, você pode definir seus próprios arquivos de login com correspondência de expressão regular. Isso pode ser útil se você tiver um aplicativo que registra logins com falha, mas bloqueia o usuário após um número específico de tentativas.

Rastreamento do processo

O CSF pode ser configurado para rastrear processos para detectar processos suspeitos ou abrir portas de rede e enviar um email ao administrador do sistema, caso algo seja detectado. Isso pode ajudá-lo a identificar e interromper uma possível exploração no seu VPS.

Observação do diretório

A observação de diretório monitora o /temp e outras pastas relevantes para scripts maliciosos e envia um email ao administrador do sistema quando algo é detectado.

Serviço de Mensagens

A ativação desse recurso permite que o CSF envie uma mensagem mais informativa ao cliente, quando um bloco é aplicado. Esse recurso tem prós e contras. Por um lado, habilitá-lo fornece mais informações ao cliente e, portanto, pode causar menos frustração, por exemplo, no caso de logins com falha. Por outro lado, isso fornece mais informações, o que pode tornar mais fácil para um invasor atacar seu VPS.

Proteção contra Port Flood

Essa configuração fornece proteção contra ataques de port flood, como ataques de negação de serviço (DoS - Denial of Service). Você pode especificar a quantidade de conexões permitidas em cada porta dentro do período que desejar.

É recomendável ativar esse recurso, pois isso pode impedir que um invasor force a desativação de serviços. Você deve prestar atenção aos limites que definir, pois configurações muito restritivas também eliminam as conexões de clientes normais. Por outro lado, configurações muito permissivas podem permitir que um invasor tenha sucesso em um ataque de flood.

Port knocking

Port knocking permite que os clientes estabeleçam conexões com um servidor sem portas abertas. O servidor permite que os clientes se conectem às portas principais somente após uma sequência de “batimentos de porta” bem-sucedida. Isso pode ser útil se você oferecer serviços disponíveis apenas para um público limitado.

Proteção do limite de conexão

Esse recurso pode ser usado para limitar o número simultâneo de conexões ativas de um endereço IP para cada porta. Quando configurado corretamente, isso pode impedir abusos no servidor, como ataques DoS.

Redirecionamento de endereço Porta/IP

O CSF pode ser configurado para redirecionar conexões de um IP/porta para outro IP/porta. Nota: Após o redirecionamento, o endereço de origem do cliente será o endereço de IP do servidor. Isso não é equivalente à conversão de endereço de rede (NAT).

Integração UI

Além da interface da linha de comandos, o CSF também oferece integração da interface do usuário para cPanel e Webmin. Se você não estiver familiarizado com a linha de comando do Linux, este recurso pode ser útil.

IP block lists

Essa função permite que o CSF baixe as listas de IP bloqueados automaticamente, direto das fontes definidas por você.

Instalando o ConfigServer Firewall

Passo 1 - Download

Use o seguinte comando para baixar o CSF em seu diretório atual:

$

wget http://download.configserver.com/csf.tgz

Passo 2 - Descompactando

O arquivo baixado é um arquivo .tar compactado. Isso quer dizer que você terá que descompactar e extrair antes de usá-lo. Faça isso com o seguinte comando:

$

tar -xzf csf.tgz

Passo 3 - Instalando

Desabilite/Remova o firewall:

$$

systemctl disable firewalld systemctl stop firewalld

Instale e crie pastas iptables

$$$

yum -y install iptables-services touch /etc/sysconfig/iptables touch /etc/sysconfig/iptables6

Inicie as Iptables

$$$$

systemctl start iptables systemctl start ip6tables systemctl enable iptables systemctl enable ip6tables

$$

cd csf sh install.sh

Agora o firewall está instalado, mas você deve checar se as iptables necessárias estão disponíveis.

$

perl /usr/local/csf/bin/csftest.pl

O firewall funcionará se nenhum erro fatal for relatado.

Nota: Seu endereço de IP foi adicionado à lista de desbloqueio, se possível. Além disso, a porta SSH foi aberta automaticamente, mesmo que use porta personalizada. O firewall também foi configurado para ter o modo de teste ativado, o que significa que as regras de iptables serão removidas automaticamente, cinco minutos após o início do CSF. Isso deve ser desativado quando você souber que sua configuração funciona e você não será bloqueado.

Configuração

Para configurar o CSF, basta editar o arquivo csf.conf em /etc/csf:

$

vim /etc/csf/csf.conf

Mude TESTING = "1" para TESTING = "0" (do contrário, o lfd daemon vai falhar) e liste as portas de entrada e saída em uma lista separada por vírgulas (TCP_IN and TCP_OUT, respectivamente) em /etc/csf/csf.conf como no arquivo output seguinte:

/etc/csf/csf.conf

... # lfd will not start while this is enabled TESTING = "0" # Allow incoming TCP ports TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995" # Allow outgoing TCP ports TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995" ...

Uma vez que você concluiu a configuração, salve as alterações e volte à command line.

As mudanças serão aplicadas com o comando:

$

csf -r

Opções de configuração e uso do CSF

  • csf.conf : Arquivo principal de configuração do CSF.
  • csf.allow : Lista de IPs permitidos e endereços CIDR no firewall.
  • csf.deny : Lista de IPs negados e endereços CIDR no firewall.
  • csf.ignore : Lista de IPs ignorados e endereços CIDR no firewall.
  • csf.*ignore : Lista de vários arquivos ignorados, IP’s.

Conclusão

Neste artigo, explicamos como instalar, configurar e usar o CSF como um sistema de firewall e detecção de intrusões. Observe que mais recursos estão descritos em csf.conf.

Ficou alguma dúvida? Não deixe de perguntar nos comentários!