Breve tutorial de CSF

O CSF (Config Server Firewall) é uma suite de scripts composta de três partes principais:

- O CSF propriamente dito, um firewall fácil de utilizar e configurar, podendo ser utilizado em uma grande variedade de sistemas Linux, com configurações para os painéis de controle cPanel, WebMin e DirectAdmin.

- O LFD (Login Failure Daemon) um script que roda como daemon, e monitora os arquivos de log dos serviços mais utilizados em busca de sinais de tentativas de ataques de força bruta.  Adicionalmente, existem várias outras verificações que o lfd pode fazer no sistema e alertar o administrador em caso de alterações.

- Uma interface web integrada aos painéis cPanel, WebMin e DirectAdmin, através da qual o usuário pode adicionar regras, iniciar e parar os scripts utilizando uma interface amigável.

Comandos

As funções mais poderosas do CSF estão na sua interface de linha de comando, cujas opções mais relevantes são as seguintes:

Uso: /usr/sbin/csf [opção] [valor]

Opção                                                                               Significado
-h, –help                                                                         Mostra a ajuda
-l, –status                                                                       Lista/Mostra a configuração do iptables
-s, –start                                                                          Inicia regras do firewall
-f, –stop                                                                           Limpa/Interrompe regras do firewall (Nota: lfd pode reiniciar o csf)
-r, –restart                                                                     Recarrega regras do firewall
-q, –startq                                                                      Reinicialização rápida (csf reiniciado pelo lfd)
-a, –add ip                                                                      Libera um IP e adiciona-o em  /etc/csf.allow
-ar, –addrm ip                                                              Remove um IP de /etc/csf.allow e deleta a regra
-d, –deny ip                                                                    Bloqueia um IP e adiciona-o em /etc/csf.deny
-dr, –denyrm ip                                                            Desbloqueia um IP e remove-o de /etc/csf.deny
-df, –denyf                                                                      Remove e libera todos os IPs em  /etc/csf.deny
-g, –grep ip                                                                     Procura nas regras do iptables por um IP (incl. CIDR)
-t, –temp                                                                         Mostra a lista atual de IPs bloqueados temporariamente e o tempo até o desbloqueio
-tr, –temprm ip                                                            Remove um IP do bloqueio e liberação temporários
-td, –tempdeny ip ttl [-p porta] [-d direção]   Adiciona um IP a lista de de bloqueio temporário. ttl é quanto tempo o bloqueio dura                                                                                                   (default:segundos, pode usar um sufixo de h/m/d).
Porta opcional. Direção opcional do bloqueio pode ser uma das seguintes:
in, out ou inout (default:in)
-ta, –tempallow ip ttl [-p porta] [-d direção]    Adiciona um IP à lista de permissão temporária (default:inout)
-tf, –tempf                                                                        Limpa todos os IPs da lista de IPs temporários
-c, –check                                                                        Verifica se existem atualizações do csf mas não atualiza
-u, –update                                                                     Verifica se existem atualizações do csf e atualiza se possível
-uf                                                                                        Força a atualização do csf
-x, –disable                                                                     Desabilita csf e lfd
-e, –enable                                                                      Habilita csf e lfd se desabilitados anteriormente
-v, –version                                                                   Mostra a versão do csf

Essas opções permitem a utilização e configuração rápida do csf, pela linha de comando, cobrindo a maior parte das necessidades diárias da administração de um servidor.

O csf utiliza alguns arquivos para configuração:

csf.conf - Arquivo de configuração principal, tem explicações detalhadas sobre as opções

csf.allow - Uma lista de IPs e endereços CIDR que são sempre liberados pelo firewall

csf.deny - Uma lista de  IPs e endereços CIDR que são sempre bloqueados pelo firewall

csf.ignore - Uma lista de  IPs e endereços CIDR que o lfd deve ignorar e não devem ser bloqueados quando detectados
csf.*ignore - Vários arquivos ignore que listam arquivos, usuários e IPs que devem ser ignorados pelo lfd. Veja cada arquivo para saber seu propósito específico.

Todos esses arquivos estão situados em /etc/csf, e toda vez que forem alterados o csf deverá ser reiniciado para carregar as novas configurações.

O csf é extremamente versátil, suportando uma variedade muito grande de configurações diferentes. As seguintes opções (todas em /etc/csf/csf.conf) causam (ou resolvem) a maioria dos problemas em ambientes de produção:

TCP_IN, TCP_OUT, UDP_IN, UDP_OUT: Essas opções controlam as portas TCP e UDP  abertas pelo firewall, divididos por protocolo e entrada ou saída. As portas podem ser abertas individualmente, ou por intervalo.

SMTP_BLOCK, SMTP_ALLOWLOCAL: A opção SMTP_BLOCK, bloqueia todo o tráfego de saída na porta 25, exceto para os usuários root, exim e mailman (outras exceções podem ser adicionadas usando as opções SMTP_ALLOWUSER e SMTP_ALLOWGROUP) esta é uma opção altamente recomendada, mas que pode atrapalhar o funcionamento de webmails. Para evitar isto, existe a opção SMTP_ALLOWLOCAL que permite as conexões de saída na porta 25 pela interface de loopback.

CT_LIMIT e relacionados: O csf tem a funcionalidade de monitoramento de conexões, que verifica se um único IP realizou uma quantidade de conexões maior do que o especificado em CT_LIMIT, durante um intervalo de tempo especificado em CT_INTERVAL. Por padrão, esse bloqueio é temporário, falaremos mais sobre bloqueios temporários mais adiante.

LF_TRIGGER e relacionados: O lfd monitora todas as tentativas de login aos serviços e caso um mesmo IP faça uma quantidade de logins falhos maior que LF_TRIGGER, o mesmo será bloqueado. Existem opções que permitem variar esta configuração por serviço, atribuindo se por exemplo, o limite de 10 tentativas para o IMAP e de 5 para o SSH.

O csf pode ser configurado ( e em alguns casos é o default) para bloquear IPs apenas temporariamente. Esta funcionalidade é controlada pelas opções LF_TRIGGER_PERM, LF_SSHD_PERM, LF_FTPD_PERM e relacionadas, que estipulam o tempo que irá durar este bloqueio temporário do IP transgressor. Os bloqueios temporários são logados em /var/log/lfd.log, o arquivo de log do LFD. É sempre importante verificar este arquivo em caso de bloqueios “inexplicáveis” acontecendo em seu servidor.

Este tutorial é introdutório, destinado a aquelas pessoas que estão dando seus primeiros passos no uso desta ferramenta e precisam de uma referência em português. No futuro, pretendo fazer um post mais avançado, cobrindo o monitoramento de processos, instalação do csf e outras funções.

  • INTERK, INTERK INTERNET SERVICE, interk internet service, interk.com, interk.com.br, interk.net, interk, hospedagem de site, Streaming, Servidor Dedicado, Servidor vps, CAIRO BARBOSA DE OLIVERIA, Cairo Barbosa de Olivéria, CAIRO INTERK, minaçu, Minaçu-GO, Minaçu Goiás, Rua 8 Numero 1186 Entre Av. Amazonas e Para
  • 0 brukere syntes dette svaret var til hjelp
Var dette svaret til hjelp?