Furor Teutonicus blog | over | volg | teuto | lyme | archief | doneer | todo
🕰️
  ⬩  
✍️ Evert Mouw
  ⬩  
⏱️ 5 min

Exchange 2013: aanvullingen

Nog een paar losse aanvullingen op mijn eerdere blogpost over Windows 2012 en Exchange 2013.

(Alleen relevant voor IT nerds.)

Als virtual machine onder KVM draaien

Zoals besproken in het eerste deel, Windows 2012 en Exchange 2013, gebruik ik een Scientific Linux installatie als host. Nog een paar aandachtspunten…

Tijdsyncronisatie met NTP

Om de klok netjes te laten lopen kan het geen kwaad Network Time Protocol (NTP) in te stellen, ook al geeft de KVM host wel een goede virtuele hardwareclock aan de guest.

Open een CLI console, en voer uit:

net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org, 1.pool.ntp.org"
w32tm /config /reliable:yes
net start w32time
w32tm /query /configuration

Tijd in UTC

Zelfs al geven de klokken dezelfde tijd aan en gebruik je netjes NTP, dan nog kan het voorkomen dat je met RDP (Remote Desktop) niet mag inloggen omdat de klokken teveel uit elkaar lopen. Ik kon dat oplossen door de Windows guest in te stellen met de klokinstelling UTC hardwareclock. Standaard gebruikt Windows de lokale tijd voor de hardwareclock, terwijl Unix / Linux de UTC tijd neemt en met behulp van de tijdzone de lokale tijd correct weergeeft.

Van onderstaande kun je met notepad een utc.reg bestand maken, en ’m dan importeren in je registry.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]"RealTimeIsUniversal"=dword:00000001

Verhuizen naar een andere machine

Als je de Exchange 2013 instantie die draait in een VM naar een andere machine verhuist, en je de CPU instellingen voor de guest aanpast op basis van de host CPU capaciteiten, dan krijg je opnieuw te maken met de ellende die ik in mijn vorige artikel beschreef: de .NET runtime optimization, die wel een uurtje kan kosten. Vreemd genoeg geeft ie in de screenshot hieronder ook “32 bit” aan, terwijl alles verder onder 64 bit draait.

Exchange 2013 is nu deels in .NET geschreven, en moet zichzelf opnieuw optimaliseren op nieuwe hardware. Dit grapje kostte nog aardig wat tijd. Ondertussen kun je niet goed doorwerken.

Een en ander geeft dus ook wel een beetje belasting op de Scientific Linux host, die behalve de Exchange guest draaien verder niet veel te doen heeft:

htop load on server
OWA icon

Outlook Web Access: Offline modus

Van de nieuwe Outlook Web Access (OWA) van Exchange 2013 word ik wel erg blij. Het ziet er goed uit, werkt vlot, en bovendien kun je ’m offline gebruiken. Daar zitten wel een paar heel begrijpelijke mitsen en maren aan:

Midori browser

Er valt nog veel meer over te zeggen, maar dat is al gedaan in ’t prima artikel Exchange 2013 – Howto Configure Offline Outlook Web App (OWA).

Vreemd is dat de Offline modus niet beschikbaar is in Firefox. Alleen IE 10 en de webkit browsers Chrome en Safari worden offline ondersteund. Onder Linux zou Chromium misschien bruikbaar zijn, en heel waarschijnlijk ook Midori, want die laatste browser doet het in Windows ook offline. Zie de screenshot hier rechts (klik op de afbeelding voor de volledige grootte).

Account Lockout Policy

Nadat je OWA ingesteld hebt, wil je natuurlijk wel de veiligheid verbeteren, zodat dictionary attacks zullen falen. Standaard worden accounts niet tijdelijk uitgeschakeld als iemand vaak achter elkaar een verkeerd wachtwoord invoerd. Idealiter zou alleen het IP adres van de machine die foutieve inlogpogingen doet moeten worden geblokkeerd, zoals DenyHost en Fail2ban dat bijvoorbeeld doen. Windows 2012 lijkt dat helaas niet te ondersteunen, maar wel kan het tijdelijk een account uitschakelen. Dat is nuttig, want dat maakt dictionary attacks zo langzaam dat ze feitelijk niet meer goed uitvoerbaar zijn. Het wordt vaak geadviseerd om de “lockout duration” om 5 minuten te zetten, net zoals de “lockout counter”, en de “lockout threshold” mag ook op 5. Je kunt natuurlijk andere waarden gebruiken.

Start de Group Policy Editor, en pas de Default Domain Policy aan:

account lockout policy

De send connector voor een smart host

Connectors verzenden - Microsoft Exchange 2013

Veel moeite ondervond ik met het instellen van een smart host voor de send connector. Die heb je nodig als je alle mail die naar externe domeinen gaat via een door jou in te stellen mailserver wilt laten lopen. Zie eventueel screenshot hier rechts (klik erop voor de grotere versie).

In mijn netwerkje gebruik ik geen IPv6. Ik heb eerder gemerkt dat Windows Server 2012 daar wat vreemd mee omgaat. Het zou kunnen dat de name resolution daarom niet goed werkte. Hoe dan ook, het is nogal zuur als je een “ping jouwmailserver” en een “ping jouwmailserver.jouwdomein” succesvol kunt uitvoeren, maar dat je desondanks toch als smart host een “ip-adres” moet invoeren…

Queue beheer in Exchange 2013

En om e.e.a. te testen ben je wel even bezig. Geen “mailq” zoals in Linux (postfix), geen “postfix flush” die meteen de berichten in de queue opnieuw probeert te bezorgen, maar tamelijk onhandige commando’s die weinig informatie geven.

Om de queue te bekijken en de queues te ontdekken:

Get-Queue

Postfix equivalant: mailq

Om de berichten opniew af te leveren:

Retry-Queue -Identity "QueueName" -Resubmit $True

Postfix equivalant: postfix flush

En ’t zou zomaar kunnen dat je de Exchange Transport service moet herstarten als je er zeker van wilt zijn dat nieuwe instellingen meteen van kracht worden. Dat gaat helaas niet erg snel als er nog onbezorgbare items in de queue staan. (Postfix equivalant: vim /etc/postfix/transport && postmap /etc/postfix/transport)

Slot

Er zitten wat scherpe randjes aan. De falende name resolving, de gebruik van .NET en daardoor die nare Runtime Optimization, en (hier niet besproken) toch wat problemen met het configureren van Outlook versie 2003 en 2010 die ik niet zo gemakkelijk via het LAN met de Exchange server kon verbinden. Uiteindelijk moest ik, ondanks de rechtstreekse LAN verbinding, verbinden over HTTP (RPC) inschakelen om het aan de praat te krijgen.

Maar er zitten ook hele fijne randjes aan. OWA werkt prettig, ziet er goed uit, en de configuratie van Exchange in de browser is ook erg goed geïntegreerd met OWA en werkt erg fijn. Als ’t eenmaal werkt is het in het gebruik een mooi stukje technologie.

… En dat was ’m weer.


Deze blogpost werd in december 2022 overgezet van WordPress naar een methode gebaseerd op Markdown; het is mogelijk dat hierbij fouten of wijzigingen zijn ontstaan t.o.v. de originele blogpost.