Guia de tecnologias

CSF no CentOS 7 — Instalação e Guia Completo

6 min read Segurança Atualizado 07 Oct 2025
CSF no CentOS 7 — Instalação e Guia Completo
CSF no CentOS 7 — Instalação e Guia Completo

O que é CSF e LFD

  • CSF: um conjunto de ferramentas de firewall baseado em iptables para servidores Linux. (Definição: CSF aplica regras de filtragem de pacotes e facilita a gestão de bloqueios e permissões.)
  • LFD: Login Failure Daemon — complemento do CSF que monitora tentativas de login e gera alertas ou bloqueios.

Importante: CSF funciona sobre iptables. Em distribuições que usam nftables por padrão, verifique compatibilidade antes de migrar.

Intenção primária

Instalar e configurar CSF no CentOS 7 para proteger SSH, serviços de e-mail e FTP, e integrar com painéis como cPanel/WHM, DirectAdmin e Webmin.

Variantes relacionadas

instalar csf centos 7, configurar csf, csf lfd, firewall csf, csf tutorial, csf iptables


Pré-requisitos

  • CentOS 7 (exemplo do servidor: 192.168.1.101).
  • Acesso root ou sudo com privilégios de root.

O que faremos neste tutorial:

  • Instalar dependências do CSF.
  • Instalar o CSF.
  • Configurar o CSF.
  • Comandos básicos do CSF.
  • Ajustes avançados e boas práticas.

Passo 1 — Instalar dependências do CSF

CSF é escrito em Perl, por isso o servidor precisa de Perl e de utilitários para baixar e editar os arquivos.

Execute como root:

yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes

Nota: em versões mais recentes do RHEL/CentOS pode ser necessário usar dnf; neste guia focamos no CentOS 7.


Passo 2 — Instalar CSF

Vá para o diretório /usr/src/ e baixe o instalador com wget:

cd /usr/src/
wget https://download.configserver.com/csf.tgz

Extraia e instale:

tar -xzf csf.tgz
cd csf
sh install.sh

Ao final você deverá ver uma mensagem indicando que a instalação foi concluída.

Instalação do CSF concluída.

Teste básico de funcionalidade do CSF:

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

Saída esperada:

RESULT: csf should function on this server

CSF em execução mostrando o resultado do csftest.pl

Se receber a mensagem acima, o CSF e o ambiente estão prontos para uso.


Passo 3 — Configurar CSF no CentOS 7

Observação: CentOS 7 vem com o firewalld por padrão. Antes de ativar o CSF, pare e desative o firewalld para evitar conflitos.

Pare o firewalld:

systemctl stop firewalld

Desative-o na inicialização:

systemctl disable firewalld

Edite o arquivo de configuração do CSF:

cd /etc/csf/
vim csf.conf

Mude a opção TESTING para 0 (linha 11) para aplicar regras imediatamente:

TESTING = "0"

Se você usa uma porta SSH diferente da 22, acrescente-a em TCP_IN (linha 139). Isso evita bloquear o acesso remoto.

Inicie os serviços do CSF e do LFD:

systemctl start csf
systemctl start lfd

Habilite-os para iniciarem automaticamente:

systemctl enable csf
systemctl enable lfd

Verifique as regras ativas:

csf -l

Nota: usar csf -l exibe a lista de regras iptables geradas pelo CSF.


Passo 4 — Comandos básicos do CSF

  1. Iniciar/Ativar o firewall (aplicar regras):
csf -s
  1. Limpar / Parar o firewall (remover regras adicionadas pelo CSF):
csf -f
  1. Recarregar as regras do CSF:
csf -r
  1. Permitir um IP e adicioná-lo em csf.allow:
csf -a 192.168.1.109

Exemplo de resultado:

Adding 192.168.1.109 to csf.allow and iptables ACCEPT...
ACCEPT  all opt -- in !lo out *  192.168.1.109  -> 0.0.0.0/0
ACCEPT  all opt -- in * out !lo 0.0.0.0/0  -> 192.168.1.109
  1. Remover um IP de csf.allow:
csf -ar 192.168.1.109
  1. Negar (bloquear) um IP e adicioná-lo em csf.deny:
csf -d 192.168.1.109
  1. Remover um IP de csf.deny:
csf -dr 192.168.1.109
  1. Remover todas as entradas do csf.deny (desbloquear tudo):
csf -df
  1. Pesquisar um padrão nas regras (IP, CIDR, porta):
csf -g 192.168.1.110

Dica: combine os comandos com sudo se você não estiver logado como root.


Passo 5 — Configuração avançada (ajustes comuns)

Edite /etc/csf/csf.conf para aplicar os ajustes abaixo. Reinicie com csf -r para recarregar as regras.

  1. Ignorar entradas em csf.allow (evitar que LFD bloqueie IPs permitidos)

Altere (exemplo na linha ~272):

IGNORE_ALLOW = "1"

Use isso se você tem IPs estáticos de administração que nunca devem ser bloqueados.

  1. Permitir ICMP (ping)

Ative entrada e saída de ICMP se precisar de ping válido:

ICMP_IN = "1"
ICMP_OUT = "1"
  1. Bloquear por país (CC_DENY / CC_ALLOW)

CSF permite negar/permitir por código de país (CIDR). Exemplo:

CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"

Use com cuidado: geoblocking pode bloquear provedores legítimos e serviços em nuvem. Sempre teste antes.

  1. Alertas por e‑mail para eventos de su e SSH

Ative alertas e defina o destinatário:

LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"
LF_ALERT_TO = "[email protected]"
  1. Regras de preenchimento rápido (exemplo útil)

Adicione portas comuns em TCP_IN/TCP_OUT:

TCP_IN = "22,80,443,25,110,143,587"
TCP_OUT = "20,21,22,25,53,80,443"
  1. Ignorar certos caminhos, usuários ou comandos (exemplos no csf.conf)

Verifique as opções LFD_SKIP and csf.su / csf.ignore para excluir verificações específicas.


Playbook de implantação (SOP) — checklist curto

  1. Fazer backup do /etc/csf/ e das regras iptables atuais.
  2. Desativar firewalld: systemctl stop firewalld.
  3. Instalar dependências.
  4. Instalar CSF (sh install.sh).
  5. Testar com perl csftest.pl.
  6. Editar /etc/csf/csf.conf: definir TESTING=”0”, ajustar TCP_IN, IGNORE_ALLOW conforme necessário.
  7. Iniciar csf e lfd; habilitar no boot.
  8. Verificar acesso SSH e serviços críticos.
  9. Habilitar alertas e monitorar logs por 24–72 horas.

Importante: mantenha uma sessão sudo/SSH ativa e um console alternativo (KVM/console) ao aplicar regras de firewall remotas.


Critérios de aceitação / testes

  • csftest.pl retorna “RESULT: csf should function on this server”.
  • Comando csf -l lista regras ativas.
  • Acesso SSH permanece funcional após ativar TESTING=0.
  • Serviços web (porta 80/443) acessíveis se configurados em TCP_IN.
  • Logs de LFD mostram alertas esperados e não geram bloqueios falsos para administradores.

Como reverter um problema grave (runbook de incidente)

  1. Se perder acesso SSH, use console de recuperação ou IPMI/KVM.
  2. Desative regras temporariamente:
csf -f
  1. Remova bloqueios em massa se necessário:
csf -df
  1. Reative firewalld apenas se precisar restaurar regras antigas:
systemctl start firewalld
systemctl enable firewalld
  1. Revise /etc/csf/csf.conf e restaure backups.

Quando o CSF pode falhar ou não ser a melhor escolha

  • Ambientes que usam nftables por padrão podem exigir conversão ou outro firewall.
  • Ambientes altamente dinâmicos (cloud auto‑scaling) podem se beneficiar mais de controles na camada de rede do provedor (Security Groups).
  • Geoblocking pode bloquear provedores de CDN e serviços legítimos.

Alternativas a considerar: fail2ban (bloqueio por logs), firewalld (zona-based), controles do provedor em nuvem (Security Groups, Network ACLs).


Trechos úteis (snippets)

Exemplo: permitir IPs administrativos fixos:

# /etc/csf/csf.allow
192.168.1.100 # escritório - admin
203.0.113.25   # IP remoto de confiança

Exemplo de regra mínima em csf.conf:

TESTING = "0"
TCP_IN = "22,80,443"
TCP_OUT = "20,21,22,80,443"
IGNORE_ALLOW = "1"
ICMP_IN = "1"
ICMP_OUT = "1"

Checklist por função

Admin de sistema:

  • Fazer backup antes de mudanças.
  • Testar acesso remoto em sessão separada.
  • Monitorar LFD nas primeiras 72 horas.

Engenheiro de segurança:

  • Definir lista branca de IPs de administração.
  • Revisar regras de CC_DENY/CC_ALLOW com equipe de rede.

Suporte/Operações:

  • Preparar runbook de reversão.
  • Testar restauração de acesso via console.

Boas práticas e heurísticas

  • Regra principal: permitir o mínimo necessário.
  • Mantenha IPs administrativos em csf.allow e habilite IGNORE_ALLOW.
  • Teste alterações durante janela de manutenção.
  • Use alertas por e‑mail para eventos su/SSH e revise falsos positivos.

Resumo final

CSF é uma solução prática e amplamente usada para proteger servidores Linux com iptables. Ele integra detecção de intrusão (LFD) e oferece controles fáceis para bloquear IPs, permitir listas brancas e criar regras por porta e país. No CentOS 7, desative o firewalld antes de ativar o CSF e sempre teste mudanças de firewall com acesso de console alternativo. Use os trechos e o playbook deste guia para uma implantação segura.

Notas finais: revise logs regularmente, mantenha backups da configuração e ajuste os parâmetros do LFD para reduzir bloqueios indevidos.

Autor
Edição

Materiais semelhantes

Corrigir erro Origin 65546:0 no Windows
Suporte Técnico

Corrigir erro Origin 65546:0 no Windows

Corrigir 0 assinantes no Feedburner
WordPress

Corrigir 0 assinantes no Feedburner

Transferir arquivos entre iPad e Android
Tutoriais

Transferir arquivos entre iPad e Android

Círculos e escadas em espiral em Conan Exiles
Guias

Círculos e escadas em espiral em Conan Exiles

CSF no CentOS 7 — Instalação e Guia Completo
Segurança

CSF no CentOS 7 — Instalação e Guia Completo

Corrigir reconexão do WhatsApp no iPhone
Tutoriais

Corrigir reconexão do WhatsApp no iPhone