Wiki
GeoIP e controlo de acesso
Como pensar restricoes GeoIP e controlo de acesso em torno de uma instancia QuoteNode exposta publicamente.
GeoIP e controlo de acesso
O QuoteNode inclui controlo geografico opcional de acesso e tracking ao nivel do pais usando a base MaxMind GeoLite2.
Dois usos principais do GeoIP
1. Controlo de acesso a aplicacao
Quando ativado, o filtro GeoIP pode restringir o acesso a determinados paises. Pedidos de paises nao permitidos recebem HTTP 403.
Isto e util para organizacoes que:
- operam apenas em jurisdicoes especificas
- querem reduzir exposicao a ataques automatizados de certas regioes
- precisam de cumprir regras de residencia de dados ou controlo geografico
2. Tracking de interacoes com propostas
Quando um cliente abre um link publico de proposta, o sistema pode registar o codigo de pais associado ao evento.
Isto adiciona contexto geografico ao analytics:
- “A proposta foi aberta a partir de Portugal”
- “Houve aberturas a partir de varios paises”
Ponto importante
As regras GeoIP nao substituem:
- autenticacao
- autorizacao por perfil
- passwords robustas
- MFA
- exposicao minima de rede
Como funciona
Base de dados GeoIP
A resolucao GeoIP usa a base MaxMind GeoLite2-Country em formato .mmdb. Nao depende de uma API externa. As consultas acontecem em memoria, sem chamadas de rede.
O ficheiro deve ser descarregado separadamente e montado no contentor para o caminho configurado.
Deteccao do IP
O sistema identifica o IP do cliente pela seguinte ordem:
- header
X-Real-IP - header
X-Forwarded-For request.getRemoteAddr()
Por isso, a configuracao do reverse proxy e importante para resultados corretos.
Excecao para links publicos
Os endpoints publicos de proposta podem ser isentos de bloqueios geograficos quando a politica assim o exige, para garantir que o cliente continua a ver e responder a proposta mesmo que o back-office esteja geo-restringido.
Configuracao
| Variavel | Default | Descricao |
|---|---|---|
GEOIP_ENABLED | false | Ativa ou desativa GeoIP |
GEOIP_DB_PATH | - | Caminho para a base .mmdb |
SECURITY_GEOIP_ALLOWED_COUNTRIES | vazio | Lista de paises ISO permitidos |
Quando a lista de paises esta vazia, o sistema pode resolver o pais para tracking sem bloquear pedidos.
Trade-offs
As bases de dados GeoIP nao sao perfeitas. Utilizadores legitimos podem viajar, usar VPN ou aparecer com geolocalizacao inconsistente. Convem decidir se o objetivo e bloquear, apenas alertar ou proteger apenas as rotas mais sensiveis.
Privacidade
O QuoteNode pode guardar apenas o codigo de pais para tracking, em vez do IP completo, e continua a apoiar anonimizacao posterior de IP conforme a politica GDPR configurada. Vale a pena rever retencao, anonimização e quem pode consultar estes dados.