Share via


Biblioteca de cliente do Plano de Dados do Azure EASM para Python – versão 1.0.0b1

Gestão da superfície de ataques externos do Microsoft Defender (Defender EASM) deteta e mapeia continuamente a superfície de ataque digital para fornecer uma vista externa da sua infraestrutura online. Esta visibilidade permite que as equipas de SEGURANÇA e TI identifiquem desconhecidos, atribuam prioridades a riscos, eliminem ameaças e expandam o controlo de vulnerabilidades e exposição para além da firewall. O Defender EASM tira partido da tecnologia de pesquisa da Microsoft para detetar recursos relacionados com a sua infraestrutura online conhecida e analisa ativamente estes recursos para detetar novas ligações ao longo do tempo. As Informações do Surface de Ataque são geradas ao tirar partido dos dados de vulnerabilidade e infraestrutura para mostrar as principais áreas de preocupação para a sua organização.

Código | Fonte Pacote (pypi) | Documentação | de Referência da APIDocumentação do Produto

Introdução

Instalar o pacote

pip

python -m pip install azure-defender-easm

da origem

python setup.py intall

Pré-requisitos

  • O Python 3.7 ou posterior é necessário para utilizar este pacote.
  • Precisa de uma subscrição do Azure para utilizar este pacote.
  • Uma instância de Cliente do Plano de Dados EASM existente.

Criar com uma Credencial do Azure Active Directory

Para utilizar uma credencial de token do Azure Active Directory (AAD), forneça uma instância do tipo de credencial pretendido obtido a partir da biblioteca de identidades do azure .

Para autenticar com o AAD, primeiro tem de instalar o pipazure-identity

Após a configuração, pode escolher o tipo de credencial a partir de azure.identity a utilizar. Por exemplo, DefaultAzureCredential pode ser utilizado para autenticar o cliente:

Defina os valores do ID do cliente, do ID do inquilino e do segredo do cliente da aplicação do AAD como variáveis de ambiente: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET

Utilize a credencial do token devolvido para autenticar o cliente:

from azure.defender.easm import EasmClient
from azure.identity import DefaultAzureCredential

sub_id = '<your subscription ID here>'
workspace_name = '<your workspace name here>'
resource_group = '<your resource group here>'
region = '<your region here>'

endpoint = f'{region}.easm.defender.microsoft.com'

client = EasmClient(endpoint, resource_group, sub_id, workspace_name, credential=DefaultAzureCredential())

Conceitos-chave

A compreensão básica destes termos ajudará a começar a utilizar a biblioteca de cliente do EASM.

Recursos

O Defender EASM inclui a deteção dos seguintes tipos de recursos:

  • Domínios
  • Anfitriões
  • Páginas
  • Blocos IP
  • Endereços IP
  • Números de Sistema Autónomos (ASNs)
  • Certificados SSL
  • Contactos whois

Estes tipos de recursos compreendem o inventário da superfície de ataque no Defender EASM. Esta solução deteta recursos externos que estão expostos à Internet aberta fora da proteção de firewall tradicional; têm de ser monitorizados e mantidos para minimizar o risco e melhorar a postura de segurança de uma organização. Gestão da superfície de ataques externos do Microsoft Defender (Defender EASM) deteta e monitoriza ativamente estes recursos e, em seguida, apresenta informações importantes que ajudam os clientes a resolver de forma eficiente quaisquer vulnerabilidades na sua organização.

Deteção

Gestão da superfície de ataques externos do Microsoft Defender (Defender EASM) depende da nossa tecnologia de deteção proprietária para definir continuamente a superfície de ataque exclusiva exposta à Internet da sua organização. A deteção analisa os recursos conhecidos pertencentes à sua organização para descobrir propriedades anteriormente desconhecidas e não monitorizadas. Os recursos detetados são indexados no inventário de um cliente, fornecendo um sistema dinâmico de registo de aplicações Web, dependências de terceiros e infraestrutura Web sob a gestão da organização através de um único painel de vidro.

Grupos de Deteção

As descobertas personalizadas estão organizadas em Grupos de Deteção. São clusters de sementes independentes que compõem uma única execução de deteção e operam nos seus próprios horários de periodicidade. Os utilizadores podem optar por organizar os respetivos Grupos de Deteção para delinear recursos da forma que melhor beneficiar a empresa e os fluxos de trabalho. As opções comuns incluem organizar por uma equipa/unidade de negócio responsável, marcas ou subsidiárias.

Exemplos

Após a autenticação, conforme mostrado na secção "Criar com uma Credencial do Azure Active Directory", pode começar a criar o inventário da seguinte forma:

Criar um grupo de deteção

from azure.defender.easm import EasmClient
from azure.identity import DefaultAzureCredential

sub_id = '<your subscription ID here>'
workspace_name = '<your workspace name here>'
resource_group = '<your resource group here>'
region = '<your region here>'

endpoint = f'{region}.easm.defender.microsoft.com'

client = EasmClient(endpoint, resource_group, sub_id, workspace_name, credential=DefaultAzureCredential())

client.discovery_groups.put("example group", {
	'seeds': [
	    {'kind': 'host', 'name': 'example.org'}
	]
})
client.discovery_groups.run("example group")

Ver recursos

from azure.defender.easm import EasmClient
from azure.identity import DefaultAzureCredential

sub_id = '<your subscription ID here>'
workspace_name = '<your workspace name here>'
resource_group = '<your resource group here>'
region = '<your region here>'

endpoint = f'{region}.easm.defender.microsoft.com'

client = EasmClient(endpoint, resource_group, sub_id, workspace_name, credential=DefaultAzureCredential())

for asset in client.assets.list():
	print(f'{asset.kind}: {asset.name}')

Mais exemplos

Mais exemplos podem ser visualizados no diretório de exemplos deste repositório

Resolução de problemas

Passos seguintes

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para mais detalhes, visite https://cla.microsoft.com.

Quando submete um pedido Pull, um bot do CLA determina automaticamente se tem de fornecer um CLA e decorar o PR de forma adequada (por exemplo, etiqueta, comentário). Só tem de seguir as instruções fornecidas pelo bot. Apenas terá de fazer isto uma vez em todos os repositórios com o nosso CLA.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para obter mais informações, veja a Code of Conduct FAQ (FAQ do Código de Conduta) ou envie um e-mail para opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.