
Apresentado ao Programa Talento Tech - 2024, na disciplina final: Projeto Integrador
Desafio Proposto
Desenvolver um sistema automatizado para detecção e resposta a ameaças cibernéticas. A clínica VidaMais sofreu uma tentativa de invasão recentemente. Ela usa um sistema simples de agendamento online, mas não monitora logs de acesso e nem implanta mecanismos para reportar e coibir invasões.
Solução Proposta
Primis - do Latim, primeiro. Layer - do Inglês, camada.
É assim que o nosso sistema funciona: filtrando o tráfego do servidor da clínica, antes que chegue até ele.
O PrimisLayer consiste em um proxy reverso, utilizando o NGINX. Integramos o NAXSI como WAF. Como ele age como um Firewall DROP, implementamos o nxutil para gerar uma whitelist de requisições. Nesse caso, antes de ativarmos o NAXSI, utilizamos o sistema em modo aprendizado, para evitar bloqueios de requisições legítimas.
Utilizamos também o Fail2ban para observar os logs do NGINX e identificar abusos. Assim, o banimento/timeout do atacante é feito automáticamente.
Toda a administração é feita por um painel Flask. É possível visualizar os logs de acesso, erros e banimentos. Além disso, há gráficos de quantidade de acessos por hora, bem como os IP's que mais acessaram o sistema.
É possível definir rotas específicas a receberem uma camada extra de autenticação, baseada em mTLS. Podemos gerar e revogar os certificados, que são instalados no navegador que acessa o sistema da clínica.
Por fim, banimentos e mudanças no sistema geram alertas via Telegram, permitindo que a equipe técnica possa agir em casos de ataque. Para essa situação, o sistema conta com um botão para desligar imediatamente o sistema da clínica.
Todo o funcionamento do sistema foi conciliado com o Docker, permitindo que a implantação ocorra em minutos, sem problemas de compatibilidade.
Equipe
Repositório
Feedback e Dúvidas
Veio através da apresentação? Deixe um feedback!
Possui alguma dúvida? Entre em contato!