martedì 6 ottobre 2020

Generazione certificati

 Quando si deve creare un nuovo certificato occorre partire sempre dalla CSR.

Esistono dei tool online che semplificano molto la vita:

https://decoder.link/csr_generator

Quando si crea una CSR, andranno anche inseriti i nomi di dominio per cui il certificato sara valido.

NOTA

remote.zappacorta.it, parlando di certificati, e' un nome di dominio, anche se magari rappresenta un host pubblicato su internet.

Durante la creazione del CSR, viene anche generata la chiave privata ad esso associata. Conservare questa chiave ed avere cura di non perderla mai!

Dopo aver inserito la CSR, la dovrete dare in pasto al vostro provider di certificati SSL.

Dopo aver ricevuto il certificato dal provider, potrebbe essere necessario convertirlo in altri formati..

Usate questo link:

https://decoder.link/converter


Disjoint name space

 Disjoint name space


Spesso mi sono imbattuto nella domanda se in Ad sono e' in uso un disjoint namespace (soprattutto nella migrazione di Exchange)

Cosa si intende con questa terminologia?


Se il suffisso del nome host e quello di AD sono uguali, non si parla di disjoint namespace.


Alcuni esempi di nomi NON disgiunti:

=====================================================

Dominio AD:

nome netbios: tecnotwo

nome dns: tecnotwo.local


Nomi SERVER:

nome netbios DC1         DC1

nome dns DC1 DC1.tecnotwo.local

nome netbios exchange1:     exchange1

nome dns exchange1:      exchange1.tecnotwo.local

=====================================================


=====================================================

Alcuni esempi di nomi digiunti:

=====================================================

Dominio AD:

nome netbios: tecnotwo

nome dns: tecnotwo.local

Nomi SERVER:

nome netbios DC2         DC2

nome dns DC2 DC2.threepigs.com

nome netbios exchange2: exchange2

nome dns exchange2: exchange2.fourpigs.com

=====================================================

Dominio AD:

nome netbios: codetwenty

nome dns: tecnotwo.local

Nomi SERVER:

nome netbios DCA           DCA

nome dns DCA                 DCA.tecnotwo.local

=====================================================

REFERENCE

https://docs.microsoft.com/en-us/exchange/disjoint-namespace-scenarios-exchange-2013-help




Installazione e configurazione di un certificato in Exchange

 Installazione e configurazione di un certificato in Exchange


Ormai e' praticamente d'obbligo usare certificati SSL validi ed "ufficiali" (non self-signed) per evitare di avere problemi, soprattutto con i dispositivi mobili ed in ambienti ibridi.

Partiamo dal punto in cui abbiamo a disposizione un .pfx da caricare.

Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\certificates\YOUR_CERTIFICATE.pfx -Encoding byte -ReadCount 0)) -FriendlyName "New_SAN"

Consiglio di usare il parametro friendlyname per poterlo identificare facilmente.

A questo punto il certificato e' disponible in Exchange. Occorre assegnarlo ai servizi.

Enable-ExchangeCertificate -Services "IIS,POP,IMAP,SMTP"

L'assegnazione di un certificato ad un servizio non rimuove automaticamente l'associazione con i precedenti.

Per motivi di "ordine" consiglio di rimuovere questa associazione. Per farlo si puo usare il seguente comando:

Enable-ExchangeCertificate -Services "None" -Thumbprint XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Personalmente ho avuto qualche problema con questo comando, e non sempre ha funzionato.

Ad ogni modo, occorre essere sicuri al 100% prima di cancellare un certificato. Sarebbe bene assicurarsi di poterlo ricaricare in caso di necessita.

Remove-ExchangeCertificate -Thumbprint 5C5E9124B0960BBFB570596AAE6902742D95361E


APPENDICE

Comandi utili per l'interrogazione dei certificati Exchange

Get-ExchangeCertificate | where {$_.IsSelfSigned -match "False"} | fl

Get-ExchangeCertificate | where {$_.IsSelfSigned -match "False" -and $_.Status -match "Valid"} | fl

Get-ExchangeCertificate | where {$_.IsSelfSigned -match "False" -and $_.Status -notmatch "Invalid"} | fl

Get-ExchangeCertificate | where {$_.IsSelfSigned -match "False" -and $_.Status -notmatch "Invalid" -and $_.Issuer -notmatch "CN=XXXX-YYYY-CA"} | fl

Get-ExchangeCertificate | select Thumbprint, Services, NotAfter, Subject, CertificateDomains | where {$_.Services -match "SMTP"} | fl

GESTIONE FRIENDLY NAME TRAMITE GUI

se avete caricato il certificato tramite EMC, potreste voler lo stesso assegnare un nome al certificato. Per farlo occorre cercare il certificato nello store dei certificati della macchina locale ed assegnare ad esso un nome.

mmc-add plugin-certificate-computer-personal

REFERENCE

https://practical365.com/exchange-server/remove-ssl-certificate-exchange-server-2013/

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-7

https://stackoverflow.com/questions/24682939/multiple-and-or-in-powershell-where-object-statement