Národní úřad pro kybernetickou a informační bezpečnost vydal varování před kybernetickými hrozbami cílenými zejména na české...
Zjištění umístění mailboxů v Office 365
U Office 365, na rozdíl od Azure, není možné vybrat přímo datacentrum, ve kterém budou ležet naše mailboxy. Datacentrum se volí automaticky podle lokace dle IP adresy při vytváření tenantu. Pokud jsme tedy připojeni z České republiky v době vytváření tenantu, máme jistotu, že naše data budou umístěna v regionu Evropy (potažmo Evropské unie kvůli ochraně) a datacentrum bude zvoleno na základě aktuálního vytížení a dostupnosti. V tuto chvíli jsou v globální dostupnosti dvě datacentra v Evropě – v Irsku (Dublin) a v Nizozemsku (Amsterdam), přičemž další datacentra budou spuštěna v budoucnu.
Pro nás to nemusí být nijak důležité, kde jsou naše data umístěna, protože co se týče ochrany dat, pak data nikdy neopustí region Evropské unie a data budou tedy vždy chráněna zákony Evropské unie. Co se týče dostupnosti (potažmo odezvy), tak ani to pro nás nemusí být nijak rozhodující, protože konkrétně v ČR není rozdíl mezi Amsterdamem a Dublinem prakticky nijak patrný, protože v testu odezvy mi vyšlo 60 ms na datacentrum v Dublinu a 62 ms na datacentrum v Amsterdamu. A pokud se budeme připojovat ze světa (například na cestách), využívá se interní systém DNS geolokace, kdy při DNS dotazu se najde nejbližší datacentrum, které váš požadavek zpracuje, a poté se přes vlastní rychlé vyhrazené spojení mezi datacentry pošle komunikace do datacentra, ve kterém fyzicky leží váš tenant. Není třeba se obávat, že by dotaz šel přes mnoho různých poskytovatelů běžnou veřejnou konektivitou, ale dotaz jde z nejbližšího datacentra vyhrazenou vlastní konektivitou přímo mezi datacentry.
Z výše uvedeného je tedy důležité, že pokud jste na cestách mimo svůj region, neměli byste pocítit žádné znatelné zpomalení při komunikaci s Office 365. Důležité je ale pamatovat na to, že pokud nějakým způsobem zamaskujete svoji skutečnou IP adresu (VPN, proxy apod.) a například fyzicky budete v Evropě, ale budete připojeni na US VPN s US IP adresou, pak budete spojeni s US datacentrem a vaše komunikace tedy půjde z Evropy přes VPN do US, kde se spojíte s US datacentrem a to pošle váš požadavek do evropského datacentra, kde fyzicky leží Váš tenant – dotaz tedy půjde zbytečně dlouhou trasu jen kvůli tomu, že jste připojeni s US IP adresou.
Zjištění umístění mailboxů v Office 365
Pokud si chcete otestovat, k jakému datacentru jste připojeni, stačí si pingnout adresu outlook.office365.com :
1 2 3 4 5 | ping outlook.office365.com Pinging outlook-emeaeast.office365.com [134.170.68.82] with 32 bytes of data: Reply from 134.170.68.82: bytes=32 time=23ms TTL=240 Reply from 134.170.68.82: bytes=32 time=23ms TTL=240 |
Z dotazu vidíte, že jsem připojený k emeaeast datacentru s odezvou 23 milisekund.
Pokud bychom chtěli zjistit, kde přesně se nachází jednotlivé mailboxy v našem tenantu (umístění datacentra i jména severů, na kterých fyzicky mailbox leží), můžeme použít skript Get-MailboxLocations ze skript centra na Technetu.
Otevřeme si PowerShell jako správce a nejprve nastavíme politiku spouštění skriptů na RemoteSigned:
1 | Set-ExecutionPolicy RemoteSigned |
Nyní se již můžeme připojit do našeho tenantu. Jako první si uložíme přihlašovací údaje:
1 | $UserCredential = Get-Credential |
Nyní si vytvoříme spojení s Office 365:
1 | $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection |
a importujeme si příkazy z tohoto spojení do aktuální session:
1 | Import-PSSession $Session |
Nyní již můžeme spustit stažený skript pomocí .\Get-MailboxLocations.ps1 a potvrdíme jeho spuštění, i když není vzdáleně podepsaný. Zobrazí se nám výsledek s výpisem datacenter a počtu mailboxů v nich:
1 2 3 4 5 6 7 8 9 10 11 12 | Getting Mailbox Information... Your 9 mailboxes are spread across 9 servers in 4 datacenters in 4 geographical locations. The distribution of mailboxes is shown below: Location Mailboxes -------- --------- Dublin, Ireland 2 Finland 1 Amsterdam, Netherlands 5 Austria 1 |
Vidím, že mých 9 mailboxů leží na 9 serverech ve 4 datacenterech ve 4 geografických lokacích.
Pokud bychom chtěli vědět, které mailboxy přesně leží ve kterých datacentrech, můžeme si skript upravit následovně:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | $Datacenter = @{} $Datacenter["CP"]=@("LAM","Brazil") $Datacenter["GR"]=@("LAM","Brazil") $Datacenter["HK"]=@("APC","Hong Kong") $Datacenter["SI"]=@("APC","Singapore") $Datacenter["SG"]=@("APC","Singapore") $Datacenter["KA"]=@("JPN","Japan") $Datacenter["OS"]=@("JPN","Japan") $Datacenter["TY"]=@("JPN","Japan") $Datacenter["AM"]=@("EUR","Amsterdam, Netherlands") $Datacenter["DB"]=@("EUR","Dublin, Ireland") $Datacenter["HE"]=@("EUR","Finland") $Datacenter["VI"]=@("EUR","Austria") $Datacenter["BL"]=@("NAM","Virginia, USA") $Datacenter["SN"]=@("NAM","San Antonio, Texas, USA") $Datacenter["BN"]=@("NAM","Virginia, USA") $Datacenter["DM"]=@("NAM","Des Moines, Iowa, USA") $Datacenter["BY"]=@("NAM","San Francisco, California, USA") $Datacenter["CY"]=@("NAM","Cheyenne, Wyoming, USA") $Datacenter["CO"]=@("NAM","Quincy, Washington, USA") $Datacenter["CH"]=@("NAM","Chicago, Illinois, USA") $Datacenter["ME"]=@("APC","Melbourne, Victoria, Australia") $Datacenter["SY"]=@("APC","Sydney, New South Wales, Australia") Write-Host Write-Host "Getting Mailbox Information..." $Mailboxes = Get-Mailbox -ResultSize Unlimited | Where-Object {$_.RecipientTypeDetails -ne "DiscoveryMailbox"} $Mailboxes = $Mailboxes | Select @{Name="Datacenter";Expression={$_.ServerName.SubString(0,2)}}, Alias $Locations=@() # Not pretty error handling but allows counts to add properly when a datacenter location could not be identified from the table $E = $ErrorActionPreference $ErrorActionPreference = "SilentlyContinue" ForEach ($Mailbox in $Mailboxes) { $Object = New-Object -TypeName PSObject $Object | Add-Member -Name 'Datacenter' -MemberType NoteProperty -Value $Mailbox.Datacenter $Object | Add-Member -Name 'Region' -MemberType NoteProperty -Value $Datacenter[$Mailbox.Datacenter][0] $Object | Add-Member -Name 'Location' -MemberType NoteProperty -Value $Datacenter[$Mailbox.Datacenter][1] $Object | Add-Member -Name 'Alias' -MemberType NoteProperty -Value $Mailbox.Alias $Object | Select Alias, Region, Location } |
Výstup pak vypadá následovně:
1 2 3 4 5 6 7 8 9 10 11 12 13 | Getting Mailbox Information... Alias Region Location ----- ------ -------- evasovova EUR Amsterdam, Netherlands lukasberan EUR Austria rd EUR Amsterdam, Netherlands info EUR Amsterdam, Netherlands test EUR Amsterdam, Netherlands test2 EUR Dublin, Ireland test3 EUR Finland test4 EUR Dublin, Ireland us EUR Amsterdam, Netherlands |