Udostępnij za pośrednictwem


Biblioteka klienta płaszczyzny danych EASM platformy Azure dla języka Python — wersja 1.0.0b1

Zarządzanie zewnętrznym obszarem podatnym na ataki w usłudze Microsoft Defender (Defender EASM) stale odnajduje i mapuje powierzchnię ataków cyfrowych, aby zapewnić zewnętrzny widok infrastruktury online. Ta widoczność umożliwia zespołom ds. zabezpieczeń i IT identyfikowanie nieznanych danych, określanie priorytetów ryzyka, eliminowanie zagrożeń oraz rozszerzanie kontroli luk w zabezpieczeniach i ekspozycji poza zaporę. Usługa Defender EASM wykorzystuje technologię przeszukiwania firmy Microsoft do odnajdywania zasobów związanych ze znaną infrastrukturą online i aktywnie skanuje te zasoby w celu odnajdywania nowych połączeń w czasie. Usługa Attack Surface Insights jest generowana przez wykorzystanie danych o lukach w zabezpieczeniach i infrastrukturze w celu zaprezentowania kluczowych obszarów związanych z organizacją.

Kod | źródłowy Pakiet (pypi) | Dokumentacja referencyjna interfejsu | API Dokumentacja produktu

Wprowadzenie

Instalowanie pakietu

Pip

python -m pip install azure-defender-easm

ze źródła

python setup.py intall

Wymagania wstępne

  • Do korzystania z tego pakietu jest wymagany język Python w wersji 3.7 lub nowszej.
  • Do korzystania z tego pakietu potrzebna jest subskrypcja platformy Azure .
  • Istniejące wystąpienie klienta płaszczyzny danych EASM.

Tworzenie przy użyciu poświadczeń usługi Azure Active Directory

Aby użyć poświadczeń tokenu usługi Azure Active Directory (AAD), podaj wystąpienie żądanego typu poświadczeń uzyskanego z biblioteki azure-identity .

Aby przeprowadzić uwierzytelnianie za pomocą usługi AAD, musisz najpierw zainstalować narzędzie pipazure-identity

Po skonfigurowaniu możesz wybrać typ poświadczeń z pliku azure.identity do użycia. Na przykład wartość DefaultAzureCredential może służyć do uwierzytelniania klienta:

Ustaw wartości identyfikatora klienta, identyfikatora dzierżawy i klucza tajnego klienta aplikacji usługi AAD jako zmienne środowiskowe: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET

Użyj zwróconego poświadczenia tokenu, aby uwierzytelnić klienta:

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())

Kluczowe pojęcia

Podstawowa wiedza na temat tych terminów pomoże rozpocząć pracę z biblioteką klienta EASM.

Elementy zawartości

Usługa Defender EASM obejmuje odnajdywanie następujących rodzajów zasobów:

  • Domains
  • Hosts
  • Strony
  • Bloki adresów IP
  • Adresy IP
  • Numery systemu autonomicznego (ASN)
  • Certyfikaty SSL
  • Kontakty WHOIS

Te typy zasobów składają się na spis powierzchni ataków w programie Defender EASM. To rozwiązanie umożliwia odnajdywanie zasobów zewnętrznych, które są dostępne dla otwartego Internetu poza tradycyjną ochroną zapory; muszą być monitorowane i utrzymywane, aby zminimalizować ryzyko i poprawić poziom bezpieczeństwa organizacji. Zarządzanie zewnętrznym obszarem podatnym na ataki w usłudze Microsoft Defender (Defender EASM) aktywnie odnajduje i monitoruje te zasoby, a następnie uzyskuje kluczowe szczegółowe informacje, które pomagają klientom efektywnie rozwiązywać wszelkie luki w zabezpieczeniach w organizacji.

Odnajdywanie

Zarządzanie zewnętrznym obszarem podatnym na ataki w usłudze Microsoft Defender (Defender EASM) opiera się na naszej zastrzeżonej technologii odnajdywania, aby stale definiować unikatową powierzchnię ataków uwidocznionych w Internecie w organizacji. Odnajdywanie skanuje znane zasoby należące do organizacji w celu wykrycia wcześniej nieznanych i niemonitorowanych właściwości. Odnalezione zasoby są indeksowane w spisie klienta, zapewniając dynamiczny system rejestrowania aplikacji internetowych, zależności innych firm i infrastruktury internetowej w ramach zarządzania przez organizację za pomocą jednego okienka szkła.

Grupy odnajdywania

Odnajdywania niestandardowe są zorganizowane w grupy odnajdywania. Są to niezależne klastry inicjujące, które składają się na pojedynczy przebieg odnajdywania i działają zgodnie z własnymi harmonogramami cyklu. Użytkownicy mogą wybrać organizację grup odnajdywania w celu rozdzielenia zasobów w dowolny sposób na najlepsze korzyści dla firmy i przepływów pracy. Typowe opcje obejmują organizowanie według odpowiedzialnego zespołu/jednostki biznesowej, marek lub spółek zależnych.

Przykłady

Po uwierzytelnieniu, jak pokazano w sekcji "Tworzenie przy użyciu poświadczeń usługi Azure Active Directory", możesz rozpocząć tworzenie spisu w następujący sposób:

Tworzenie grupy odnajdywania

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")

Wyświetlanie zasobów

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}')

Więcej przykładów

Więcej przykładów można wyświetlić w katalogu samples tego repozytorium

Rozwiązywanie problemów

Następne kroki

Współtworzenie

W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę https://cla.microsoft.com.

Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.

W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz artykuł Code of Conduct FAQ (Często zadawane pytania dotyczące kodeksu postępowania). Jeśli będziesz mieć jeszcze jakieś pytania lub komentarze, wyślij wiadomość e-mail na adres opencode@microsoft.com.