Networking v cloudu: packet capture

Síťaři jistě rádi vzpomínají na doby, kdy servery byly jen fyzické, napojilo se to drátem do switche a dalo se zjistit spoustu věcí, třeba zachytit pakety z konkrétního OS. Virtualizace to všechno zkomplikovala a cloud je jen velký síťový blackbox … ale je to opravdu tak? Azure Network Watcher vám dává náhled do sítě v Azure a několik nástrojů, které vám i v cloudu dopřejí kontrolu nad tím, co se děje. Jedním z nich je packet capture - podívejme se dnes na něj.

Azure Network Watcher

Tato služba byla pro regiony v Evropě uvolněna do produkce na začátku května a do konce srpna běží v režimu zcela zdarma. Kolik pak bude stát a co bude placené ještě nebylo oznámeno, ale očekával bych základní režim zdarma, fajnovosti za drobný příplatek - ale nechme se překvapit.

Network Watcher dokáže vizualizovat vaši virtuální topologii v Azure, umí efektivně sbírat a zobrazovat logy z network security group (Azure firewallů), analyzovat provoz VPN, simulovat IP spojení a ukazovat co kudy projde a jaké pravidlo bude aplikováno, identifikovat next hop a nebo právě zachycovat síťový provoz.

Packet Capture v Azure

Cloud funguje jinak a nad fyzickou sítí běží vícero zákazníků. Jsou tedy praktické a bezpečnostní důvody proč nemůže packet capture v cloudu fungovat stejně, jako ve vašem datovém centru. Přesto je potřeba zachytit provoz rozumná a pochopitelná, například z důvodu analýzy aplikačního chování a řešení problémů analýzou typu "komunikace nefunguje, dorazilo to nebo ne a pokud ano jak to vypadá". Azure to vyřešil tak, že k zachycení dojde na úrovni OS instalací agenta (VM Extension - stačí jednou kliknout), takže je to jako jít do serverů a dělat tam TCPDUMP, pouštět Wireshark a tak podobně. Jenže - tady je to centrálně spravované, uděláte to z jednoho místa, výsledky máte centrálně uložené a hlavně - síťař nepotřebuje administrátorský přístup do VM (zachycování paketů je dost nízkoúrovňová záležitost a často potřebujete root/Administrator přístup), což je dost podstatné.

Najděte si Network Watcher a zasaďte do vaší subscription.

Řešení se zapíná po regionech, tak pokud jste třeba v North Europe, zapněte si ho tam.

Podívejte se na topologii s kterou budu pracovat.

Nejprve potřebujeme aktivovat agenta v příslušných Windows nebo Linux VM. To uděláme přes VM Extension.

Přidejte Network Watcher.

To zopakuji i pro vm2 a vm3 a ujistíme se, že deployment v mé resource group dopadl dobře.

Přidejme si tedy novou packet capture úlohu.

Vyberu si cílovou VM, na které chci zachytávat provoz. Packet capture pro vás bude dostupný ve standardní pcap formátu a to buď lokálně přímo ve VM (to nepovažuji za zrovna praktické) nebo se uloží do storage accountu (to je lepší, protože síťař nepotřebuje sebemenší přístup do VM).

Dost možná není potřeba sbírat úplně všechno. Pokud máte podezření na problém s DNS, zachycujte jen takový provoz. Nebo můžete omezit zachycování na interní systémy, ne uživatele služby, kteří přistupují z veřejných adres.

Nastavil jsem packet capture na dvou VM.

Výsledný PCAP najdete ve storage accountu a můžeme si ho stáhnout k sobě.

Otevřel jsem tento soubor ve Wiresharku, nastavil zobrazovací filtr na ICMP provoz a je to tady - krásný packet capture.

Teď vás možná napadá - ale co když je na OS nastaven firewall, například Windows Firewall? Extension je hlouběji a dokáže tak zachycovat pakety ještě před tím, než se dostanou k softwarovému firewallu v OS. Takhle vypadá situace, když jsem namířil ping na Windows stroj se zapnutým firewallem. Vidíme příchozí ICMP (capture je před firewallem), ale firewall je nepustil dál, takže server negeneruje žádnou odpověď.

 

Virtuální sítě v cloudu mohou působit jako black box, což je dané tím, že do hardware z bezpečnostních důvodů nemůže mít klient přístup a vidí softwarově definovanou nadstavbu. To ale neznamená, že Microsoft nerozumí potřebám síťařů. V Azure můžete mít svoje síťové appliance typu Cisco, Check Point, Fortinet, palo Alto, F5, A10, KEMP, Barracuda a tak podobně, směrovat provoz podle potřeby, balancovat, dělat VPN. Kromě toho ale dostáváte i diagnostické a monitorovací nástroje funkčně podobné tomu, co používáte dnes. Network Watcher mimo jiné umožňuje packet capture. O dalších síťařských možnostech v Azure se dočtete v dalších článcích.



Privátní napojení PaaS služeb do VNETu s Azure Private Link Networking
Automatické získávání IP range PaaS služeb v Azure přes API Networking
Kubernetes praticky: vystavování aplikací s Ingress a Azure App Gateway (WAF) Networking
IPv6 v Azure Networking
Testování síťového výkonu v Azure Networking