Files
claude-plugins/infraestrutura/skills/cwp-security/SKILL.md
Emanuel Almeida 9404af7ac9 feat: sync all plugins, skills, agents updates
New plugins: core-tools
New skills: auto-expense, ticket-triage, design, security-check,
  aiktop-tasks, daily-digest, imap-triage, index-update, mindmap,
  notebooklm, proc-creator, tasks-overview, validate-component,
  perfex-module, report, calendar-manager
New agents: design-critic, design-generator, design-lead,
  design-prompt-architect, design-researcher, compliance-auditor,
  metabase-analyst, gitea-integration-specialist
Updated: all plugin configs, knowledge datasets, existing skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 17:16:32 +00:00

303 lines
6.6 KiB
Markdown

---
name: cwp-security
description: CWP security management with CSF firewall. Block/unblock IPs, configure firewall, security hardening. Based on official CWP documentation only. Use when user mentions "csf", "firewall cwp", "bloquear ip", "segurança cwp", "ban ip".
author: Descomplicar® Crescimento Digital
version: 1.1.0
quality_score: 72
user_invocable: true
desk_task: null
---
# /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
- [CSF Firewall command line](https://wiki.centos-webpanel.com/csf-firewall-command-line)
- [CSF/LFD Firewall configuration](https://wiki.centos-webpanel.com/csflfd-firewall-configuration)
- [CWP Security Instructions](https://wiki.centos-webpanel.com/cwp-security-instructions)
### 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
```bash
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
```bash
# Ver actividade de IP específico
grep "IP" /var/log/lfd.log
```
---
## Workflows
### 1. Verificar se IP está Bloqueado
```bash
csf -g 123.45.67.89
```
### 2. Bloquear IP Malicioso
```bash
# 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)
```bash
csf -dr 123.45.67.89
```
### 4. Whitelist IP de Confiança
```bash
# Whitelist permanente
csf -a 188.251.199.30
# Whitelist range
csf -a 192.168.1.0/24
```
### 5. Limpar Todos os Bloqueios Temporários
```bash
csf -tf
```
### 6. Restart Completo do Firewall
```bash
csf -ra
```
---
## Configuração de Portas
**Ficheiro:** `/etc/csf/csf.conf`
```bash
# 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`
```bash
# 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 |
```bash
# 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`
```bash
# Após alterar porta SSH:
# 1. Actualizar csf.conf (TCP_IN)
# 2. service sshd restart
```
### tmpfs Security
**Ficheiro:** `/etc/fstab`
```bash
# 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`
```bash
# 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`
```bash
# 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
```bash
# 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
---
**Versão:** 1.0.0 | **Autor:** Descomplicar®
**Fonte:** wiki.centos-webpanel.com/csf-firewall-command-line