Utilizando o Azure Application Insigths na Analise de Vulnerabilidades

Uma das ferramentas que são criadas costumeiramente nas aplicações Web hospedadas, o Azure Application Insigths, é subutilizado pelos time de desenvolvimento, operações e segurança.

O que é possivel com o App Insights?

O App Inisgths captura log e executa tarefas para avaliar performance, estabilidade e estatísticas de uso de um web app.

Quando comparado a outras ferramentas comuns com o Google Analytics é importante lembrar que o App Insigths tambem funciona como um APM (App Performance Monitoring) detalhando funções e linhas de código como chamadas a banco de dados, que estão gerando lentidão.

Particularmente gostou muito de algumas funções Smart detection settings que são regras comuns para detecção de tendências ou problema, além de métricas e as Live Metrics como abaixo. Alias, veja que a página de contato já demonstra um ataque simulado na chamada da página de contato:

Performance

Metricas-1

Outra função interessante que utilizo com frequencia em projetos é Avaliabiliy onde podemos criar regras de teste com páginas especificas em diversas localidades do Azure para funcionar como o antigo Global Monitoring Service.

image

O foco neste post não é detalhar as funções de APM, mas sim o uso pelo time de segurança.

Como o App Insights é útil para Segurança?

Primeiro temos o Application Map de onde iniciamos as analises. Basicamente ele é um modelo simples de dependencias e comunicação de dentro e de fora, incluindo as analises de disponibilidade que mostramos anterioremente.

Application Map

Mas ao retirar o WAF para gerar os logs e demonstrar nesse post, o resultado foi muito rápido como pode ser visto no diagrama abaixo.

Veja que os dois endereços na parte inferior são fontes desconhecidas e poderiam ser ataques, enquanto também se vê claramente os rastreadores e robôs do Google e outro site, mas estes não seriam o problema.

Ataque-1

Ao pedir acima os detalhes de pacotes e comunicação trocada com o meu blog com este endereço é possivel ver o que eles tentaram e quantas vezes.

Ataque-2

O passo seguinte é clicarmos em Samples ou na lista do lado direito para analisar as queries que foram recebidas.

Como pode ser visto abaixo, é possivel identificar de onde e como o acesso foi realizado por esse dominio que estava analisando os detalhes.

Ataque-3

Mas vamos deixar rodando por mais tempo com o WAF desativado e veremos com um histórico detalhadas.

Validando ataques reais

Agora com mas tempo exposto (como gostamos de correr risco Smile) o meu blog pôde ter mais dados para serem demonstrados.

Vamos abrindo em detalhes os itens no mapa onde demonstraram as estatisticas de falhas ocoridas.

Na primeira tela de detalhes vemos que só de falhas nas ultimas 24 horas eu recebi mais de 11 mil chamadas!!!

Failures-1

Mas a alegria se transforma em tristeza, ou melhor preocupação, essas 11290 chamadas na verdade fazem parte de um ataque orquestrado por força bruta…

Failures-2

Agora vamos começar a entender melhor o que estão tentando fazer no meu blog. Para isso vamos fazer uma “caminhada” pelos dados do App Insigths.

Do lado esquerdo já podemos ver que os ataques se deram por tentar enviar parametros e listas diretamente nas páginas do blog.

Failures-3

Abrindo mais detalhes consigo descobrir que a fonte do ataque são PCs na China usando um SDK especifico. Em alguns casos é possivel ver tambem o IP e com isso criar uma lista de bloqueio ou potenciais atacantes.

Failures-4

Segue um outro exemplo mais recente que teve quase a mesma origem (outra cidade chinesa), mas com detalhes de sofisticação onde foi utilizado um script e não apenas um SQL Injection:

Failures-4a

Continuando a caminhada posso ver a sequencia que o “usuário” utilizou no meu site, vejam que a lista de tentativas foi grande, e muitas vezes na mesma página:

Failures-5

O ataque na tela acima é um SQL Injection muito comum de ser utilizado em sites web por atacantes. Veja detalhes em CAPEC - CAPEC-66: SQL Injection (Version 3.5) (mitre.org)

O que fazer ao detectar um ataque ao site site ou aplicação?

Em geral os Web Application Firewall seguram boa parte dos ataques que vimos acontecer no meu blog em 24 horas, tanto que eu não fazia ideia antes que poderiam chegar a quase 12 mil em apenas 24 horas.

Mas mesmo que tenha um WAF é importante que monitore constantemente o numero de falhas em páginas para identificar se é um problema de aplicação ou um ataque que está tentando encontrar as vulnerabilidades, como os exemplos acima do meu site.

Outra importante ação é ajudar os desenvolvedores e não aceitar comandos diretamente do POST e muito menos concatenar cadeias de caracteres  dentro de parâmetros e comandos internos.

Utilize tambem uma biblioteca de desenvolvimento robusta, por exemplo no meu teste de exposição não tive o blog invadido pois o próprio .NET já possui filtros para evitar comandos enviados diretamente no POST ou URL.

Como um recurso mais sofisticado para ataques direcionados, veja a opção Create Work Items onde poderá criar automações, por exemplo barrar um determinado serviço ou até derrubar um servidor quando detectar uma anomalia muito grande!

Relembrando que o App Insights se integra ao Log Analytics para consultas e ao Sentinel para segurança inteligente de Threats!!!!

Conclusão

Se não conhece, não tem habilitado ou não utiliza o App Insights comece agora!

Não o limite a analises de performance e sessões, aprenda a ler também os indícios de falhas de segurança antes que uma invasão ocorra.

Azure Arc–Gerenciamento integrado Multi-cloud

O Azure Arc é um produto em preview que tem a função de padronizar e permitir utilizar recursos do Azure para gerenciamento de VMs e Clusters Kubernets hospedados em ambientes on-premisse ou outras clouds integrado.

https://azure.microsoft.com/en-us/services/azure-arc/

Computadores

Habilitando o Serviço por Registrar os Componentes

O primeiro passo é acessar as subscrições onde irá hospedar os serviços do Arc.

Uma vez escolhida a subscrição, deve-se registrar os recursos de Hybrid como abaixo.

Em geral o recurso ADHybridHS já estará habilitado e tem a ver especificamente com a sincronização de AD, mas os recursos de Compute, Data e Network precisam ser habilitados antes de incluir recursos:

Registro Provedores

Registrando Computadores e Recursos

Ao criar o recurso do Arc, escolha uma subscrição e um Resource Group para servir de base e que futuramente após o Preview irá ter o débito (se existir) dos serviços.

Logo após habilitar clique no botão Adicionar do primeiro print deste artigo e baixe o script para executar nos servidores. Caso queira abrir o script ele é bem simples e basicamente faz o download de um msi e o executa com os dados da subscrição.

Onboarding

A primeira execução do script mostra a obrigatoriedade de ativar os recursos, que foi o primeiro tópico desse artigo, e será um erro recorrente já que ao habilitar o Arc esse processo deveria ser automático.

Note que na execução do script ele gera um código que deverá ser confirmado no site indicado https://microsoft.com/devicelogin

Registro Servidor

Utilizando Politicas e Iniciativas

Assim que vinculados, já podem ser criadas e habilitadas as diferentes Politicas e iniciativas que serviriam para criar alertas e definir padronização de recursos no que geralmente chamamos de Compliance.

Politicas-1

Por default as politicas acima são configuradas, mas é possivel criar novas para gerar reports de compliance. Para isso utilize as regras pré-existentes que irão facilitar diversos tipos diferentes de alertas como backup, antivirus, ASR, etc.

Politicas-2

Já para as Iniciativas não estamos apenas verificando, mas implementando alguns tipos de padrões como o nivel de auditoria ou requisitos legais/padrões regulatórios:

Iniciativas

Habilitando o Log Analytics

Para que os recursos funcionem corretamente é importante o auxilio do Log Analytics que irá capturar os dados do servidor para gerar alertas e mapas de relacionamento.

Para isso acesse os servidores e clique no aviso na tarja que é exibida e com isso poderá habilitar os recursos para cada servidor ou em Insights. Uma caracteristica interessante é que cada servidor pode utilizar subscrições diferentes ou até workspaces diferentes de Log Analytics.

Habilitar Log Insigths

A partir da integração que irá demorar de 5 a 10 minutos, já é possivel usar os monitores, alertas e até o mapa de relacionamento:

Alertas

Monitor-1

Monitor-2

Mapa

CONCLUSÃO

Em comporações com servidores fisicos, servidores virtuais e maquinas em clous ter a facilidade de integrar as funções de gerenciamento do Azure irá ajudar muito.

Grande parte do trabalho já é possivel no Log Analytics mas de forma passiva. Com a integração simples com as politicas, iniciativas e interface o uso do Azure Arc irá ser uma ferramenta excelente para profissionais de TI com ambientes multiplos de hospedagem.

Azure Sentinel - Conheça esse novo produto de segurança agora disponível

O Azure Sentinel já estava em Preview a algum tempo (desde março) mas já se mostrava um produto bem interessante https://azure.microsoft.com/pt-br/blog/azure-sentinel-general-availability-a-modern-siem-reimagined-in-the-cloud/?wt.mc_id=4029139

Sua função é analisar os dados coletados pelo Log Analytics e gerar dashboards, reports e alertas customizados com base no Machine Learning.

Nesse primeiro post vamos falar da configuração inicial do Sentinel e seu custo.

Nota: Em um segundo artigo falaremos dos Incidentes (casos), Busca, Notebook, Analise e Guias Estratégicos.

Como Habilitar o Azure Sentinel

Para criar uma instancia do Sentinel é necessário ter o Log Analytics (antigo OMS) habilitado e executando. Se você não o conhece, pode ver o que já abordamos anteriormente em http://www.marcelosincic.com.br/post/Operations-Management-System-(OMS)-agora-e-Azure-Log-Insights.aspx

Não é necessário fazer toda a configuração do Log Analytics, dependerá do que você irá analisar. Por exemplo se analisar DNS mas usa o Azure DNS, Office 365, Azure Activity e outros recursos que já fazem parte do Azure os dados são analisados sem a necessidade de agentes.

Por outro lado se for analisar threats de segurança em geral, login e logoff de AD e segurança de ambiente é necessário ter o agente instalado no Windows ou Linux para coleta dos dados de log.

Uma vez criado o workspace do Log Analytics já é possivel fazer o vinculo.

Sentinel

Com o workspace aberto já é possivel ter um overview dos dados coletados, nada muito sofisticado mas o suficiente para acompanhar o que está sendo analisado

2-visao geral

Ao clicar em qualquer um dos itens resumidos pode-se abrir o log do que gerou os alertas ou anomalias

3-Detalhes

Como Definir o Que Será Analisado

No console do Sentinel é possivel ver a aba “Conectores” onde temos diversos conectores já criados e disponiveis, alguns como preview e indicados quais já foram vinculados.

4-Conectores

Veja no ultimo item que a cada diferente conector o custo passa a ser vigente, ou seja conforme o numero ou tipo de conector haverá a cobrança do processamento dos dados.

Para cada conector é necessário abrir a pasta de trabalho e configurar a conexão, por exemplo se for Azure indicar a subscrição e se for Office 365 o usuário para logar e capturar os dados. Como cada um dos conectores tem wizard é um processo bem simples de ser realizado.

Consumindo os Reports e Dashboards

Na aba do Sentinel veja a opção “Pastas de Trabalho” onde podemos escolher quais os dashboards que queremos deixar disponiveis ou criar os seus próprio.

Por exemplo se eu clicar no conector de Exchange Online posso exibir ou salvar a pasta de trabalho com os seus reports já prontos.

5-Pastas de trabalho

No caso acima veja que a opção de Salvar não aparece e sim a Excluir, uma vez que já salvei anteriormente como um dos dashboards (pasta de trabalho) mais utilizados.

Ao clicar em Exibir podemos ver os detalhes do dashboard de analise de Identidade que fornece informações de login e segurança do meu ambiente

6-Minha Pasta-1

6-Minha Pasta-2

6-Minha Pasta-3

6-Minha Pasta-4

O nivel e detalhamento dos dados nos fornece uma visão real do que está acontecendo em determinado item de segurança conectado.

Compartilhando e Acessando os Reports (Dashboards)

Na mesma aba de “Pastas de Trabalho” mude para “Minhas pastas de trabalho” e poderá ver os que já salvou anteriormente ou customizou.

Neste exemplo já estão salvos 7 pastas (1 é customizada) com 31 modelos. As pastas são customizadas ou as já importadas dos modelos, enquanto o numero de “31 modelos” é porque um mesmo grupo de conectores tem mais de uma pasta, como é o caso do Office 365 que tem um conjunto de 3 diferentes reports.

7-Pastas de trabalho-Salvas

Ao acessar um dos reports é possivel ver o botão “Compartilhar” onde podemos gerar um link e enviar a outros ou utilizar para acesso fácil

8-Compartilhar

Já para “pinar” ou fixar no painel inicial do portal do Azure um atalho utilize o icone de pasta na tela de preview e a opção “Fixar no painel” como abaixo

9-Pinar

Quanto Custo o Azure Sentinel

Sabemos que os recursos de Azure são em sua maioria cobrados e o Azure Sentinel já tem seu valor divulgado em https://azure.microsoft.com/pt-br/pricing/details/azure-sentinel/

A primeira opção é adquirir em pacotes de 100 a 500GB por dia em modelo antecipado iniciando ao custo de $200/dia. Claro que o modelo antecipado é mais barato, mas só é útil se você consumir 100GB por dia, o que daria $7200/mês.

A segunda opção e util para quem irá analisar menos de 100GB por dia é o modelo de pagamento pós-uso ou por consumo ao valor de $4 por GB analisado.

Para saber o quanto está sendo analisado, veja a segunda imagem nesse artigo onde temos o total de dados “ingeridos”.

Importante: Se você coletar dados do Log Analytics o valor deve ser somado, já que o Log Analytics é uma solução independente.