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.
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
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
- Iniciar/Ativar o firewall (aplicar regras):
csf -s
- Limpar / Parar o firewall (remover regras adicionadas pelo CSF):
csf -f
- Recarregar as regras do CSF:
csf -r
- 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
- Remover um IP de csf.allow:
csf -ar 192.168.1.109
- Negar (bloquear) um IP e adicioná-lo em csf.deny:
csf -d 192.168.1.109
- Remover um IP de csf.deny:
csf -dr 192.168.1.109
- Remover todas as entradas do csf.deny (desbloquear tudo):
csf -df
- 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.
- 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.
- Permitir ICMP (ping)
Ative entrada e saída de ICMP se precisar de ping válido:
ICMP_IN = "1"
ICMP_OUT = "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.
- 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]"
- 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"
- 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
- Fazer backup do /etc/csf/ e das regras iptables atuais.
- Desativar firewalld: systemctl stop firewalld.
- Instalar dependências.
- Instalar CSF (sh install.sh).
- Testar com perl csftest.pl.
- Editar /etc/csf/csf.conf: definir TESTING=”0”, ajustar TCP_IN, IGNORE_ALLOW conforme necessário.
- Iniciar csf e lfd; habilitar no boot.
- Verificar acesso SSH e serviços críticos.
- 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)
- Se perder acesso SSH, use console de recuperação ou IPMI/KVM.
- Desative regras temporariamente:
csf -f
- Remova bloqueios em massa se necessário:
csf -df
- Reative firewalld apenas se precisar restaurar regras antigas:
systemctl start firewalld
systemctl enable firewalld
- 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.
Materiais semelhantes

Corrigir erro Origin 65546:0 no Windows

Corrigir 0 assinantes no Feedburner

Transferir arquivos entre iPad e Android

Círculos e escadas em espiral em Conan Exiles

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