Bom pessoal,
No último post falamos um pouco da feature de IPS/IDS que surgiu no NSX-T 3.0.
Pois bem, como pôde ser visto, não realizamos nenhum bloqueio do tráfego, função essa desempenhada pelo IPS, fizemos apenas a identificação do tráfego indesejado passando através da função de IDS.
Quando comecei a escrever aquele post, o NSX-T mais atual de fato era a versão 3.0, porém, no final do mês de Outubro a VMware lançou a versão 3.1 com mais uma série de melhorias, e uma delas foi a implantação do IPS/IDS distribuído (D-IDPS), conforme já havíamos comentado no post passado:
No último post fizemos um teste de portscan com o Kali Linux, nesse post faremos de forma diferente, utilizaremos uma maquina virtual rodando o DVWA (Damn Vulnerable Web App).
DVWA – Damn Vulnerable Web Application é uma ferramenta desenvolvida em PHP/MySQL que pode ser facilmente instalada em uma maquina virtual, a maioria das vulnerabilidades são classificadas como Top 10 vulnerabilidades encontradas pelo OWASP, essa ferramenta possui diversos tipos de vulnerabilidades Web e é muito utilizada para aprendizado em cursos de pentest, e também para testes de ferramentas do tipo IPS, WAF, etc.
IMPORTANTE: o objetivo deste post não é focar no pentest em si, e sim, visualizar como bloquear vulnerabilidades no IPS do NSX-T, desta forma, não espere nada detalhado quanto aos testes
Podemos ainda utilizar o Legion do Kali para observar portas e vulnerabilidades encontradas no DVWA, como pode ser visto na imagem a seguir, a quantidade de vulnerabilidades é grande:
Logo ao entrar no DVWA, o menu apresentará algumas opções de exploração que podem ser utilizadas, utilizarei como exemplo SQL Injection.
Antes de mais nada, voltando nas configurações de IPS/IDS do NSX-T realizadas no ultimo post, repare que agora em Rules temos também a opção “Detect & Prevent”, na versão 3.0 tínhamos somente “Detect”.
Em Profiles, observe também que existem novas configurações disponíveis, como Filtros de assinaturas disponíveis, exemplo, filtrar assinaturas por CVS, vulnerabilidades WEB etc.
Voltando ao DVWA, em “SQL Injection”, realizei uma tentativa de inserção de comandos SQL diretamente na aplicação, novamente, o objetivo do post não é a exploração em si, e sim as formas de defesa, sendo assim, no campo de SQL Injection eu poderia inserir qualquer informação que possivelmente o IPS/IDS alertaria.
Veja que é possível no DVWA verificar o source de cada vulnerabilidade explorada, o que ajuda muito nos estudos e elaboração de novos testes.
Observe agora na aba EVENTS que temos vários eventos relacionados à VM em questão (alguns testes feitos com Kali e diretamente no DVWA), um deles está relacionado exatamente ao teste que fizemos, SQL Injection Attempt SELECT FROM, no qual podemos ver na imagem à seguir.
Apesar da Rule estar configurada como “Detect e Prevent“, algumas assinaturas são préconfiguradas apenas para alertar, e outras tem como ação Drop ou Reject. Neste exemplo, foi feito apenas um alerta e não bloqueio.
Para alterar a ação default de determinada assinatura , vá até a aba Profile novamente e então em “Manage – change actions and….”, conforme imagem a seguir:
No exemplo do nosso teste, o ID da assinatura alertada foi o “2006445”, realize um filtro pelo ID ou pela description da vulnerabilidade desejada e então altere a ação para esta assinatura, conforme meu exemplo:
No meu exemplo, alterei a ação default de Alert para Drop, repare que quando alteramos a ação manualmente, o simbolo é anexado à essa assinatura facilitando na visualização das alterações aplicadas.
Após as alterações terem sido publicadas, realizei o teste novamente na aplicação e agora foi possível validar o Drop (Prevented) sendo realizado:
Em Security Overview também é possível ter uma ideia de tudo que esta sendo analisado e bloqueado pelas features de firewall e IPS/IDS
É isso pessoal, no próximo post vamos realizar a configuração para que esses eventos sejam enviados para uma Syslog/SIEM externo, no nosso caso, o QRadar da IBM.