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>
303 lines
6.6 KiB
Markdown
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
|