- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.9 KiB
name, description, disable-model-invocation
| name | description | disable-model-invocation |
|---|---|---|
| cwp-security | Gestão de segurança CWP com firewall CSF/LFD — bloqueio/desbloqueio de IPs, configuração de firewall e hardening baseado na documentação oficial. | true |
/cwp-security - Segurança CWP (Documentação Oficial)
Gestão de segurança no CWP usando CSF/LFD. Zero assumptions, zero hallucinations - apenas comandos documentados.
REGRA #38 - ZERO INVENCAO: NUNCA improvisar comandos. Verificar estado actual ANTES de alterar. Pesquisar wiki CWP se necessario. Usar APENAS scripts oficiais.
Servidor Alvo
| Servidor | IP | MCP | User |
|---|---|---|---|
| CWP Principal | 176.9.3.158 | ssh-unified | root |
Documentação Base
Documentação Hub (Consultar SEMPRE)
Manuais locais (Hub/06-Operacoes/Documentacao/Manuais/CWP/):
CWP-Manual-Completo.md- Admin Guide (seccao Security: CSF, Mod Security, Maldet, RKHunter, Lynis, Symlink, Shell Access) + Wiki (Firewall, SSL & Security) - 503KB
Quick Reference: Hub/06-Operacoes/Documentacao/Quick-Reference/QR-CWP.md
NotebookLM (pesquisa AI sobre toda a documentacao CWP):
mcp__notebooklm__notebook_query notebook_id:"0ded7bd6-69b3-4c76-b327-452396bf7ea7" query:"csf firewall seguranca malware bloqueio ip"
Paths de Configuração
| Path | Descrição |
|---|---|
/etc/csf/csf.conf |
Configuração principal CSF |
/etc/csf/ |
Directório de configuração |
/etc/csf/csf.pignore |
Whitelist de processos |
/var/log/lfd.log |
Log do LFD |
Comandos CSF Documentados
Ajuda e Documentação
csf --help
man csf
Controlo do Firewall
| Comando | Descrição |
|---|---|
csf -e |
Activar CSF Firewall |
csf -x |
Desactivar CSF Firewall |
csf -r |
Restart (apenas regras iptables) |
csf -ra |
Restart completo (iptables + LFD) |
service lfd restart |
Restart apenas LFD |
Gestão de IPs
| Comando | Descrição |
|---|---|
csf -g IP |
Verificar se IP está bloqueado e porquê |
csf -d IP |
Bloquear IP permanentemente |
csf -td IP 86400 |
Bloquear temporário (86400 = 24 horas em segundos) |
csf -dr IP |
Desbloquear IP |
csf -a IP |
Whitelist IP (acesso a todas as portas) |
csf -a 192.168.0.0/24 |
Whitelist range de IPs |
csf -ta IP 86400 |
Whitelist temporário (24 horas) |
csf -tf |
Limpar todos os bloqueios temporários |
csf -df |
Limpar todos os bloqueios permanentes |
Verificar Logs
# Ver actividade de IP específico
grep "IP" /var/log/lfd.log
Workflows
1. Verificar se IP está Bloqueado
csf -g 123.45.67.89
2. Bloquear IP Malicioso
# Bloquear permanentemente
csf -d 123.45.67.89
# Ou bloquear por 24 horas
csf -td 123.45.67.89 86400
3. Desbloquear IP (Cliente Legítimo)
csf -dr 123.45.67.89
4. Whitelist IP de Confiança
# Whitelist permanente
csf -a 188.251.199.30
# Whitelist range
csf -a 192.168.1.0/24
5. Limpar Todos os Bloqueios Temporários
csf -tf
6. Restart Completo do Firewall
csf -ra
Configuração de Portas
Ficheiro: /etc/csf/csf.conf
# Portas abertas são definidas em:
# TCP_IN, TCP_OUT, UDP_IN, UDP_OUT
# Exemplo: abrir range de portas 30000-50000
# TCP_IN = "...,30000:50000"
Importante: Após alterações, executar csf -r para aplicar.
Whitelist de Processos
Ficheiro: /etc/csf/csf.pignore
Adicionar processos que não devem ser monitorizados pelo LFD.
Ignorar País (Evitar Bloqueios)
Ficheiro: /etc/csf/csf.conf
# Adicionar código do país para ignorar
CC_IGNORE = "PT"
Scripts CWP de Segurança
| Script | Descrição |
|---|---|
/scripts/cwp_bruteforce_protection |
Activa protecção brute-force CSF/LFD |
/scripts/security_is_my_server_hacked |
Verifica se servidor tem sinais de hack |
/scripts/cwpsecure_update_rules |
Actualiza regras do kernel seguro |
# Verificar se servidor foi comprometido
sh /scripts/security_is_my_server_hacked
# Activar protecção brute-force
sh /scripts/cwp_bruteforce_protection
Configurações de Segurança (Documentadas)
SSH Port
Ficheiro: /etc/ssh/sshd_config
# Após alterar porta SSH:
# 1. Actualizar csf.conf (TCP_IN)
# 2. service sshd restart
tmpfs Security
Ficheiro: /etc/fstab
# Original:
tmpfs /dev/shm tmpfs defaults 0 0
# Seguro (documentado):
tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0
Kernel Panic Reboot
Ficheiro: /etc/sysctl.conf
# Adicionar:
vm.panic_on_oom=1
kernel.panic=10
# Aplicar:
sysctl -p
MySQL Connection Limits
Ficheiro: /etc/my.cnf ou /etc/my.cnf.d/server.cnf
# Secção [mysqld]:
max_user_connections=45
# Restart:
service mysql restart
Anti-Patterns (NUNCA FAZER)
| Anti-Pattern | Risco | Alternativa |
|---|---|---|
| Bloquear IP sem verificar | Bloquear cliente | csf -g IP primeiro |
| Desactivar firewall | Servidor exposto | Manter sempre activo |
| Editar iptables directamente | Conflito com CSF | Usar comandos CSF |
| Ignorar logs LFD | Não detectar ataques | Monitorizar regularmente |
Validação Pós-Operação
# 1. Verificar firewall activo
csf -l | head -20
# 2. Verificar IP específico
csf -g IP
# 3. Verificar LFD activo
service lfd status
# 4. Testar conectividade
curl -sI http://localhost | head -5
Thresholds de Alerta
| Condição | Acção |
|---|---|
| Muitos IPs bloqueados por LFD | Verificar se ataque ou falsos positivos |
| IP legítimo bloqueado | Desbloquear + whitelist |
| Firewall desactivado | Activar imediatamente |
Checklist de Execução
- Verificar estado actual (
csf -l) - Identificar IP correcto
- Executar comando apropriado
- Verificar resultado (
csf -g IP) - Documentar acção tomada
Contexto NotebookLM
ANTES de executar, consultar notebooks para contexto especializado:
| Notebook | ID | Consultar quando |
|---|---|---|
| Cibersegurança WordPress | 5f60adfd-2435-4725-8c12-9c11c5f51d75 | Sempre |
mcp__notebooklm__notebook_query({
notebook_id: "5f60adfd-2435-4725-8c12-9c11c5f51d75",
query: "<adaptar ao contexto de segurança CWP e firewall>"
})
Integrar insights do NotebookLM nas recomendações e decisões.
Versão: 1.0.0 | Autor: Descomplicar® Fonte: wiki.centos-webpanel.com/csf-firewall-command-line