Como aumentar a segurança de Sistema Web (Saas)
Esse post tem o intuito de compartilhar um pouco sobre meu conhecimento na criação de barreiras de proteção de um sistema web e também aprender com os feedbacks que irei receber, inclusive com os negativos.
Escrevi abaixo um checklist resumido de ações que podem ser implementadas em 3 camadas diferentes. Cada camada oferece um nivel de proteção, que caso seja vencida poderá ser barrada pela próxima camada.
Nao sou acadêmico, nem especialista e muito menos guru. Apenas um entusiasta humilde que gosta de desenvolver. Não escrevo termos técnicos avançados...
vamos lá...
1° CAMADA - Filtros no DNS do dominio
- Apontar o dns do dominio para ferramentas de proteção como google armor, gocache ou cloudflare. Elas detectam as anomalias e impedem ataques antes que cheguem na aplicação saas.
- Elas devem conter recursos como waf, botdetection, rate limit, e firewall.
- Waf protegerá de ataques como sqlinjection e xss
- Bot detection eliminara os malditos bots
- Rate limit protegerá ataques ddos
- Firewall executara regras de bloqueio como ip blacklist, trafego do exterio, trafego de rede, etc.
2° CAMADA - Proteções no cloud
7) Firewall, regras de bloqueio
8) Isolamento de virtualização, separar banco de dados em uma instância, codigo fonte em outra, imagens e outra.
9) Limitar acesso ao banco de dados apenas ao ip da instancia de codigos fonte.
10) Software de segurança instalado na instância de codigo para varredura/scan de ameaças
11) Criptografia de dados em trânsito
3° CAMADA - Proteções na aplicação
12) Filtros de sqlinjection e xss para sanitização de entradas
13) Google Recaptcha api para identificar pontuação do usuário
14) Google Recaptcha v3 em forms
15) Waf proprio da aplicação
16) Ratelimt proprio da aplicação
17) Blacklist da aplicação
18) Chaleng de acordo com pontuação do usuario ou block
19) Criptografia de dados sensíveis do banco de dados
20) Gerenciamento de sessões com tokens e limites de sessão para evitar sequestro de sessao