Posted in : Microsoft, Office 365 By Joel Jerkin

4 years ago

I vissa Office 365 uppsättningar, främst Hybrid behöver man tillåta att Office 365’s tjänster får kommunicera emot sina interna resurser.
Exempelvis behöver man i Exchange Hybrid uppsättningar tillåta IP-adresserna som Exchange Online använder sig utav i en Receive Connector lokalt för att få skicka mail inom samma organisation mellan Office 365 och on-premise. För detta har Microsoft ett inbyggt kommando Get-HybridMailflowDatacenterIPs i PowerShell-modulen för Exchange Online som hämtar ut nödvändiga IP-adresser.
För att automatisera processen med Get-HybridMailflowDatacenterIPs och uppdatera det dynamiskt finns det en bloggpost från Microsoft här som går igenom stegen:
Exchange Online: Keeping your ’Inbound From Office 365’ Receive Connector Current with Microsoft Public IP’s
Det kan däremot finnas andra tillfällen när man vill ha ut samtliga IP-adresser som Office 365 använder sig utav, t.ex om man har ett eget antispam-system eller låsa ner i en brandvägg vilka IP-adresser som får kommunicera med sina interna resurser.
Dessa IP-adresser har Microsoft släppt i en publik lista där samtliga URL:er och IP-adresser som Office 365 och respektive tjänst använder sig utav, Office 365 URLs and IP address ranges som också finns i XML-format, O365IPAddresses.xml
Då adresserna finns tillgänlgigt i XML-format kan man via PowerShell läsa ut dessa och få samtliga adresser i en variabel som kan användas för att automatiskt och dynamiskt uppdatera sina regler. I exemplet nedan läser jag ut samtliga IPv4-adresser som Exchange Online Protection använder sig utav:

$Name = "EOP"
$Type = "IPv4"
$O365URI = "https://support.content.office.net/en-us/static/O365IPAddresses.xml"
$WebRequest = Invoke-WebRequest -Uri $O365URI
[xml]$Content = $WebRequest.Content
$product = $Content.products.product | Where-Object {$_.Name -eq $Name}
$addresslist = $product.addresslist | Where-Object {$_.Type -eq $Type }
$address = $addresslist.address
$address

Resultatet blir:

$address kan jag sedan använda mig för att göra olika API-anropp till min brandvägg eller tredjepartstjänst och dynamiskt uppdatera mitt regelverk.

Tags : Exchange, Microsoft, Office 365, PowerShell

Add comment

Your comment will be revised by the site if needed.