Firewall e AWS Security Group¶
Deploy VPS: 13-maquina-nova-stack-aws-cli.md (AWS ou Hostinger)
Hostinger: use hPanel Firewall ouufw— mesmas portas da tabela abaixo (sem AWS CLI).
Instalar AWS CLI na VPS¶
Credenciais: IAM role na instância EC2 (recomendado) ou aws configure.
Abrir Supervisor (8080) automaticamente:
./scripts/open-aws-port-8080.sh
# ou restrito ao seu IP:
./scripts/open-aws-port-8080.sh 203.0.113.10/32
Abrir MonitorOPS (9090) automaticamente:
./scripts/open-aws-port-9090.sh
# recomendado — restrito ao IP da equipe de suporte:
./scripts/open-aws-port-9090.sh 203.0.113.10/32
Validar acesso externo ao monitor:
./scripts/validate-install.sh --external
# ou manualmente:
curl -s -o /dev/null -w '%{http_code}\n' http://SEU_IP_PUBLICO:9090/health
Security Group EC2 — regras inbound recomendadas¶
| Tipo | Protocolo | Porta | Origem | Motivo |
|---|---|---|---|---|
| SSH | TCP | 22 | Seu IP fixo | Administração |
| HTTP | TCP | 80 | 0.0.0.0/0 | Issabel redirect |
| HTTPS | TCP | 443 | 0.0.0.0/0 | Issabel painel |
| Custom | TCP | 8080 | 0.0.0.0/0 ou VPN | Supervisor |
| Custom | TCP | 9090 | IP equipe suporte | MonitorOPS |
| SIP | UDP | 5060 | 0.0.0.0/0 ou operadora | Registro/tronco |
| Custom UDP | UDP | 10000–10100 | 0.0.0.0/0 | RTP áudio |
| Custom | TCP | 8089 | 0.0.0.0/0 | Asterisk WSS (Softphone 008 WebRTC) |
| SQL | TCP | 1433 | Seu IP admin | Opcional — evitar público |
| Custom | TCP | 3000 | VPN / rede interna | Phoenix (opcional externo) |
| Custom | TCP | 8000 | VPN | Agentes CTI |
AWS CLI (exemplo)¶
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxx \
--protocol tcp --port 8080 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxx \
--protocol tcp --port 9090 --cidr 203.0.113.10/32
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxx \
--protocol udp --port 5060 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxx \
--ip-permissions IpProtocol=udp,FromPort=10000,ToPort=10100,IpRanges='[{CidrIp=0.0.0.0/0}]'
9090: prefira restringir ao IP fixo da equipe (
/32). Evite0.0.0.0/0em produção — o monitor controla containers via Docker.
firewalld (Rocky Linux)¶
Se firewalld estiver ativo além do Security Group:
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=9090/tcp
sudo firewall-cmd --permanent --add-port=5060/udp
sudo firewall-cmd --permanent --add-port=10000-10100/udp
sudo firewall-cmd --reload
Issabel hostnet usa portas do host — regras firewalld aplicam-se diretamente.
ufw (Ubuntu / Hostinger)¶
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 9090/tcp
sudo ufw allow 5060/udp
sudo ufw allow 10000:10100/udp
sudo ufw enable
sudo ufw status
Não expor publicamente¶
- 5038 (AMI) — risco de controle total do PBX
- 1433 (SQL) — vazamento de dados
- 3306 MariaDB Issabel (interno container/host)
HTTPS¶
Issabel usa certificado autoassinado. Para produção:
- Let's Encrypt via reverse proxy (Nginx no host)
- Ou certificado comercial
Supervisor em :8080 HTTP — coloque Nginx TLS na frente se exposto à internet.
MonitorOPS em :9090 HTTP — restrinja origem no Security Group; troque MONITOR_ADMIN_PASSWORD no .env.
Hardening básico¶
- Trocar todas as senhas padrão (
.env) JWT_SECRETúnico emapi/config.php- Fail2ban no SSH
- Backups SQL + volumes Issabel
- Atualizações
dnf updateregulares