====== Exchange Server ======
===== Insufficient system resources =====
Exchange 2016 přestal přijímat poštu. V logu na SMTP GW byla následující hláška:
''Remote-MTA: dns; mail.griffteam.com''\\
''Diagnostic-Code: smtp; 452 4.3.1 Insufficient system resources''\\
''Will-Retry-Until: Wed, 31 May 2017 16:44:45 +0200 (CEST)''\\
''Insufficient system resources'' indikuje nedostatek volného prostoru na disku s databází.
Řešením je navýšit velikost prostoru, nebo změnit nastavení Exchange serveru - zakázat Back Pressure rozšíření.
do konfiguračního souboru je potřeba přidat nísledující položku:
''''
http://exchangepedia.com/2007/03/exchange-server-2007-how-to-turn-off-the-back-pressure-feature-on-transport-servers.html
Změna konfigurace nepomohla, bylo nutné rozšířit diskový prostor - minimum volného místa pro Exch 2016 je **9GB**
===== Certifikáty od Let’s Encrypt =====
https://4sysops.com/archives/issue-certificates-for-iis-and-exchange-with-lets-encrypt/
Postup instalace a obnovy je popsaný [[private:poznamky:windows:note#Certifikát od LetsEncrypt pro IIS server|zde]]
https://community.letsencrypt.org/t/letsencrypt-win-simple-and-custom-renew/27037/4
https://github.com/Lone-Coder/letsencrypt-win-simple/wiki/Create-a-SAN-certificate-for-Microsoft-Exchange-2016,-2013-&-2010
https://mediarealm.com.au/articles/lets-encrypt-microsoft-exchange-installation/
Po generaci nebo obnovení certifikátu se certifikát ve formátu **pfx** uloží do předem definované složky, např. ''C:\Data\Central_SSL''\\
Certifikát je potřeba naimportovat mezi certifikáty web serveru.
- **Import certifikátu do IIS**
{{:private:poznamky:windows:iis01.png?direct&400|}}
- **Nastavení vazby - binding**
Dále pak změnit nastavení vazeb pro ''https *'' na nový certifikát
{{:private:poznamky:windows:iis02.png?direct&400|}}
Ve vlastnostech certifikátu(tl. **Zobrazit**) ověřte, že se jedná o platný certifikát(po obnově a následném importu má certifikát stejné jméno, liší se jen v době platnosti)
{{:private:poznamky:windows:iis03.png?direct&400|}}
===== Import a binding pomocí powershell skriptu =====
Import certifikátu se liší podle verze OS (Windows 2008R2, Windows 2012 ... )
Na školním serveru DC01 - je skript pro W2008R2\\
Na Exch. HPL serveru je skript pro W2012\\
Musí se dořešit bind pokud se v uložišti nachází více cert se stejným jménem(nuď smazat, nebo získat hash posledního platného cert).\\
Dále je potřeba vytvořit skript pro reverzní proxy - Winscp, pfx to cer + key, restart Apache
https://dejanstojanovic.net/powershell/2018/february/use-powershell-to-install-ssl-certificate-on-iis/
https://weblog.west-wind.com/posts/2016/Jun/23/Use-Powershell-to-bind-SSL-Certificates-to-an-IIS-Host-Header-Site
https://weblog.west-wind.com/posts/2016/Jun/23/Use-Powershell-to-bind-SSL-Certificates-to-an-IIS-Host-Header-Site#Bind-the-certificate-to-an-IP-Address-and-Port
Problém s PS\\
https://stackoverflow.com/questions/42980465/the-term-get-webbinding-is-not-recognized-as-the-name-of-a-cmdlet-function-s
https://stackoverflow.com/questions/4037939/powershell-says-execution-of-scripts-is-disabled-on-this-system
openssl pkcs12 -in bakalari.skolaveltrusy.cz.pfx -nocerts -nodes -out bakalari.skolaveltrusy.cz.key
openssl pkcs12 -in bakalari.skolaveltrusy.cz.pfx -clcerts -nokeys -out bakalari.skolaveltrusy.cz.cer
cp -a bakalari.skolaveltrusy.cz.cer /etc/ssl/certs/bakalari.skolaveltrusy.cz.cer
cp -a bakalari.skolaveltrusy.cz.key /etc/ssl/private/bakalari.skolaveltrusy.cz.key
==== Test import - binding pomoci PS ====
https://4sysops.com/archives/manage-iis-website-bindings-in-powershell/\\
https://www.reddit.com/r/PowerShell/comments/697fjy/how_to_find_a_specific_certificate_thumbprint_by/\\
https://stackoverflow.com/questions/21551341/powershell-select-object-from-cert-store\\
https://stackoverflow.com/questions/37228851/delete-certificate-from-computer-store\\
Liší se pro různé verze PS
Test škola - Windows 2008r2 - PS verze 2.0
**Veze PS**
PS C:\Users\administrator.SKOLAVELTRUSY> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
**Import WebAdministration modulu**
PS C:\Users\administrator.SKOLAVELTRUSY> Import-Module WebAdministration
**Informace o Default Web Site**
PS C:\Users\administrator.SKOLAVELTRUSY> Get-Website -Name 'Default Web Site'
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot http *:80:bakalari.skolaveltrusy.cz
net.tcp 808:*
net.pipe *
net.msmq localhost
msmq.formatname localhost
https *:443:
**INformace o vazbách - binding**
PS C:\Users\administrator.SKOLAVELTRUSY> Get-WebBinding -Name 'Default Web Site'
protocol bindingInformation
-------- ------------------
http *:80:bakalari.skolaveltrusy.cz
https *:443:
**Informace o SN certifikátu uloženém v ''\localmachine\my''**
Pokud je ve složce více certifikátů se stejným CN tak se zobrazí jen jedno SN - je potřeba před importem smazat všechny certifikáty se CN=bakalari.skolaveltrusy.cz
PS C:\Users\administrator.SKOLAVELTRUSY> $cert = (get-childitem cert:\localmachine\my | where { $_.subject -eq "CN=bakalari.skolaveltrusy.cz" }).SerialNumber
PS C:\Users\administrator.SKOLAVELTRUSY> $cert
049837C91834D46A4785343D83A0F1C1D84D
**Nastavení vazeb - binding**
Na tomto příkladu je vidět, že vazba již existuje.
PS C:\Users\administrator.SKOLAVELTRUSY> New-Item -Path "IIS:\SslBindings\0.0.0.0!443" -Thumbprint $cert
New-Item : SSL binding for end point 0.0.0.0:443 already exists.
At line:1 char:9
+ New-Item <<<< -Path "IIS:\SslBindings\0.0.0.0!443" -Thumbprint $cert
+ CategoryInfo : InvalidData: (:) [New-Item], ProviderException
+ FullyQualifiedErrorId : SSL binding for end point 0.0.0.0:443 already exists.,Microsoft.PowerShell.Commands.NewI
temCommand
===== SMTP Relay =====
https://practical365.com/exchange-server/exchange-2016-smtp-relay-connector/
===== IMAP protokol =====
Nastavení přístupu pro IMAP klienta na Exch. server
V rámci lokální sítě povolena nezabezpečená verze protokolu na portu 143.
* nastavení služeb týkajících se protokolu ''IMAP Microsoft Exchange IMAP4'' a ''Microsoft Exchange IMAP4 Backend'' - nastavit spouštění na Automatic
* Povolit plain text logon. V Exchange Management Shell zadat příkaz: ''Set-ImapSettings -LoginType "plaintextlogin"''
* restartovat služby ''IMAP Microsoft Exchange IMAP4'' a ''Microsoft Exchange IMAP4 Backend''
* otestovat připojení dle návodu: https://technet.microsoft.com/en-us/library/dd789687(v=exchg.80).aspx
===== Catch ALL =====
Přesměrování všech nedoručitelných emailů(pro neexistující příjemce) do jedné schránky
http://www.techieshelp.com/create-a-catch-all-mailbox-in-exchange-2013/
===== Nedostupnost OWA a ECP =====
Lokálně(na serveru) nebylo možné spustit OWA a ECP - objevila se prázdná stránka(This page can’t be displayed)
Nakonec pomohlo v konfiguraci site ''Exchange Back End'' obnovit ''Bindings'' pro port ''444''.
Nejprve vybrat peo SSL certifikát ''Not Selected'' a pak opět zvolit pro SSL Cerificate ''Microsoft Exchange''
Server Error in '/owa' Application.
________________________________________
Runtime Error
Description: An exception occurred while processing your request. Additionally, another exception occurred while executing the custom error page for the first exception. The request has been terminated.