No al Trusting Computing

Errore Exchange 2007 – Impossibile visualizzare tutti gli strumenti.

Exchange 2007 1 Commento »

Non so cosa provochi questo tipo di problema, ma la soluzione è abbastanza semplice. Per qualche strana ragione,generalmente dopo l’upgrade di Exchange 2007 a seguito di un rollup o equivalente, viene ignorato il settaggio della lingua negli strumenti di diagnostica. Ci si accorge subito del problema perchè, accedendo agli strumenti di Exchange 2007, compare questa allarmante finestra:

Errore_lingua_exchange2007

Per risolvere è necessario intervenire sul registro di sistema del server, quindi regedit e sfogliare le chiavi fino a:

1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\v8.0\AdminTools\Toolbox

Errore2_lingua_exchange2007

Rinominare il contenuto di queste chiavi dall’italiano all’inglese :

ExTRA-DRM = Database Recovery Management
ExTRA-MailFlow = Mail Flow Troubleshooter
ExTRA-DMBMount = Database Troubleshooter
ExTRA-MsgTrack = Message Tracking
ExTRA-Perf = Performance Troubleshooter

Alla prossima :)

Exchange 2007 – Cancellare le cassette postali disconnesse

Exchange 2007 Nessun commento »

Logo_Exchange2007

Definizione di “cassetta postale disconnessa” dal sito Microsoft.

Se non sbaglio la cancellazione automatica di una cassetta postale disconnessa avviene dopo 30 giorni, però potreste aver bisogno di cancellarla manualmente. Apriamo la shell di Eschange 2007 e digitiamo:

1
Get-MailboxStatistics | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid,Database |fl

Otterremo una lista simile a questa:

1
2
3
4
5
6
7
DisplayName : Sala Riunioni
MailboxGuid : 17457d07-07f0-4a0f-847a-c531f29eac09
Database    : SRV03\Utenti Aziendali\Mailbox Database
 
DisplayName : Mario Rossi
MailboxGuid : ebd39944-d444-4edc-b65c-f6fa74f493a8
Database    : SRV03\Utenti Aziendali\Mailbox Database

Adesso possiamo eliminare le cassette postali una alla volta:

1
Remove-Mailbox -Database  -StoreMailboxIdentity  -confirm:$true

oppure tutte insieme:

1
2
$Disconnesse = Get-MailboxStatistics | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid,Database
$Disconnesse | ForEach { Remove-Mailbox -Database $_.Database -StoreMailboxIdentity $_.MailboxGuid -confirm:$true }

Il codice appena postato prevede la conferma di cancellazione da parte dell’utente. Se cambiaste $true in $false cancellereste tutti gli utenti senza notifiche di conferme.

La protezione interna di Exchange 2007

Exchange 2007 Nessun commento »

Logo_Exchange2007Ho deciso di abilitare la protezione interna di Exchange 2007 da aggiungere a quella perimetrale gestita da Panda GateDefender Performa. Questo perchè ho sempre le code di invio piene di shifezze. In prima battuta pensavo fosse un client infetto, che spammava alla grande dalla lan. Controllando più approfonditamente i log e facendo dei test di inoltro ho escluso questa ipotesi ed alla fine è venuto fuori che l’installazione è vulnerabile ad attacchi di tipo “spam backscatter/NDR“.

Abilitare la protezione interna di Exchange 2007 è molto semplice, ma bisogna fare un pò d’attenzione alla configurazione dei parametri che interessano i filtri del contenuto e l’rbl per lo spam. Dico questo perchè il classico “avanti, avanti, fine” (che ovviamente ho tentato spudoratamente, sperando che tutto andasse bene in 2 minuti d’orologio) mi ha portato inesorabilmente a farmela nei pantaloni perchè non ricevevo più email dall’esterno. Quindi leggendo i manuali su technet e controllando in giro nei newsgroup microsoft sono riuscito (bene) nell’intento.

Per prima cosa abilitiamo la tutte le funzionalità di protezione di Exchange (parlo della versione 2007 SP2). Aprimo la shell e digitiamo i seguenti comandi, uno per volta:

1
2
3
cd "C:\Program Files\Microsoft\Exchange Server\Scripts"
./install-AntispamAgents.ps1
Restart-Service MSExchangeTransport

Ok, abbiamo installato il motore che gestirà la protezione del nostro server Exchange, adesso dobbiamo verificare il corretto funzionamento degli update e successivamente personalizzare i “livelli di guardia”. A questo proprosito vi anticipo che non ci sono vere e proprie regole uguali per tutti. La gestione delle soglie SCL e come queste vegono classificate dal mail server non sono così standard come ci si aspetterebbe… e dopo ve lo dimostro. Comqune, proseguiamo e lanciamo il comando che abilita la protezione:

1
Enable-AntispamUpdates -Identity MIO_MAIL_SERVER -IPReputationUpdatesEnabled $True -UpdateMode Automatic -SpamSignatureUpdatesEnabled $True

Se il server è lo stesso da dove lanciate i comandi (quindi se non state usando powershell da un client) potete omettere la variabile -Identity <Nome_del_vostro_server>. Bene, eseguiamo Windows Update e successivamente verifichiamo il corretto funzionamento degli aggiornamenti lanciando:

1
Get-AntispamUpdates

Dovremmo visualizzare in shell qualcosa del tipo:

1
2
3
4
5
6
7
UpdateMode                  : Automatic
LatestContentFilterVersion  : 3.3.8203.600
SpamSignatureUpdatesEnabled : True
LatestSpamSignatureVersion  : 3.3.8204.1232
IPReputationUpdatesEnabled  : True
LatestIPReputationVersion   : 3.3.8204.036
MicrosoftUpdate             : Configured

Stiamo procedendo bene. Riavviamo il servizio di trasporto:

1
Restart-Service MSExchangeTransport

A questo punto aggiungiamo qualche buon server RBL per il controllo dello spam, direi che per cominciare utilizzeremo RBL conservative. Da sole limitano un buon 90% delle schifezze che arrivano per posta, più avanti potremo utilizzare server più restrittivi, a patto di tener sott’occhio la quarantena perchè il rischio di falsi positivi potrebbe aumentare. Le rbl che consiglio sono:

1
2
3
zen.spamhaus.org
list.dsbl.org
combined.njabl.org

Sempre da shell:

1
2
3
Add-IPBlockListProvider -Name:zen.spamhaus.org -LookupDomain:zen.spamhaus.org
Add-IPBlockListProvider -Name:list.dsbl.org -LookupDomain:list.dsbl.org
Add-IPBlockListProvider -Name:combined.njabl.org -LookupDomain:combined.njabl.org

Poi controlliamo il risultato con:

1
2
3
4
5
6
7
get-IPBlockListProvider
 
Name                       LookupDomain               Priority
----                       ------------               --------
combined.njabl.org         combined.njabl.org         1
list.dsbl.org              list.dsbl.org              2
zen.spamhaus.org           zen.spamhaus.org           3

Ok, andiamo al punto forte, la configurazione delle soglie SCL. La gestione dei livelli è numerica, da 0 a 9. Il valore più basso (0) indica che la mail è quasi sicuramente attendibile. Quello più alto (9) indica che la mail è quasi sicuramente indesidetata.

Adesso con i comandi che seguiranno imporremo ai filtri di Exchange 2007 di eliminare tutte le email che hanno il massimo livello di probabilità che la mail sia spam, rifiuteremo quelle con SCL uguale/maggiore di 8 (con tanto di motivazione) e invieremo alla nostra casella postale “quarantena@miodominio.it” (opportunamente configurata) le email che potrebbero essere dei falsi positivi:

1
2
3
4
set-ContentFilterConfig  -SCLDeleteThreshold 9 -SCLDeleteEnabled:$true
set-ContentFilterConfig -SCLRejectThreshold 8 -SCLRejectEnabled:$true
set-ContentFilterConfig -RejectionResponse "Questa email è stata rifiutata perchè indesiderata!"
set-ContentFilterConfig -SCLQuarantineThreshold 6 -SCLQuarantineEnabled:$true -QuarantineMailbox:quarantena@miodominio.it

Questo il risultato:

1
2
3
4
5
6
7
get-ContentFilterConfig | Select SCL*
SCLRejectThreshold     : 8
SCLRejectEnabled       : True
SCLDeleteThreshold     : 9
SCLDeleteEnabled       : true
SCLQuarantineThreshold : 6
SCLQuarantineEnabled   : true

Invece, se volete dare un’occhio a tutta la configurazione del Filtro del Contenuto eseguite:

1
get-ContentFilterConfig

Bene, adesso iniziamo a tener sott’occhio le email, a questo proposito consiglio di alzare il livello di logging del connettore di ricezione, in modo di poter fare delle analisi qualora le email non arrivassero.

  • Problemi.

Per quel che mi riguarda posso benissimo dire che tutta questa procedura non ha funzionato bene al primo colpo. Nel mio caso ho un livello aggiuntivo di protezione perimentrale, un attrezzo che si occupa quasi esclusivamente di taggare le email indesiderate (Panda Gatedefender Performa). Alla fine ho “scoperto” che modifica l’header di tutte le email in ingresso, ingannando sistematicamente il filtro di exchange che alzava di parecchio la soglia SCL, considerando spam quasi tutte le email in ingresso.
Una volta eliminata la protezione perimentrale incappo nel secondo problema. I provider più grandi come Libero.it, Gmail.com ecc… hanno diversi server smtp sparsi per il globo. Alcuni di questi sono vittime di attacchi da parte di spammer ed inevitabilemte gli ip di questi server finiscono nelle famose liste nere. Il livello SCL che rilevo è sempre piuttosto alto, tra il 5 ed il 7, quindi mi trovo alcune email da amico@libero.it nella lista della posta indesiderata. Anche la composizione delle stessa email pregiudica il proprio livello di attendibilità. Quasi non ci credevo, finchè non ho provato io stesso, inviando 3 email, da privato@gmail.com a aziendale@azienda.it, con oggetto e corpo del messaggio più o meno sensato e più o meno formattato.

SCL_Outlook

Quindi occhio, è evidente che l’algoritmo che genera il valore SCL fa controlli molto più complessi che una normale ricerca del dominio mittente.

Una lista di tutti i principali controlli che potete fare da shell è la seguente:

1
2
3
4
5
6
Get-AntispamFilteringReport.ps1
Get-AntispamSCLHistogram.ps1
Get-AntispamTopBlockedSenderDomains.ps1
Get-AntispamTopBlockedSenderIPs.ps1
Get-AntispamTopBlockedSenders.ps1
Get-AntispamTopRecipients.ps1

Buon divertimento :)

Exchange 2007 – Dimensionare l’uso della memoria

Exchange 2007 Nessun commento »
Nota bene: Questi passaggi sono riferiti alla versione 2007 di Exchange, non devono essere utilizzati su altre versioni (2000-2003) poichè cambia il valore di blocchi da calcolare.

Microsoft Exchange 2007 non controlla, di default, l’utilizzo della memoria che gestisce la cache del database. Questo vuol dire che finche ci sono richieste I/O del database di posta allora Exchange allocherà tutta la memoria a disposizione sul server. In questo modo è possibile che il server diventi estremamente lento ad effettuare qualsiasi operazione che non sia l’uso della posta elettronica.

Possiamo imporre l’uso di un determinato quantitativo di memoria.
Anzitutto facciamo 2 conti. Quanta memoria ha il server e quanta vorrei dedicare ad Exchange?
Nel mio caso ho 24 Gb di ram totale, voglio mettere a disposizione di Exchange 4Gb. Questo valore va convertito in blocchi di 8Kb, e per farlo seguite questi semplici passaggi:

1
2
1 Gb = 1.024 Mb = 1.048.576 Kb… Ok?
4 Gb = 1.048.576 x 4 = 4.194.304Kb

Bene, questa è la conversione Gb>Kb, ma a me serve sapere il numero di blocchi da 8Kb, quindi divido per 8, ed otterrò 524.288 blocchi.

Adesso impostiamo il valore, e per farlo eseguite dal prompt di dos del server in Active directory il comando adisiedit.msc.

  1. In ADSI Edit, dal menu Azione, scegliere Connetti a.
  2. In Impostazioni di connessione, sotto Punto di connessione, fare clic su Selezionare un contesto dei nomi noto e scegliere Configurazione dall’elenco corrispondente.
  3. In Computer, fare clic su Selezionare o digitare un dominio o un server e nella casella corrispondente selezionare o digitare il nome del proprio controller di dominio.
  4. Fare clic su Avanzate.
  5. In Avanzate, selezionare Specificare le credenziali, quindi digitare il nome utente e la password nelle caselle corrispondenti.
  6. Nella casella Numero porta, digitare 389.
  7. In Protocollo, fare clic su LDAP.
  8. Fare clic su OK per chiudere la finestra di dialogo Avanzate.
  9. Fare clic su OK per chiudere la finestra di dialogo Impostazioni di connessione.
  10. In ADSI Edit si è connessi al contenitore Configurazione del proprio controller di dominio.
  11. Passare all’oggetto seguente: Configuration/Services/Microsoft Exchange/<Your Organization>/Administrative Groups/<Your Administrative Group>/Servers/<Server Name>/Information Store.
  12. Fare clic con il pulsante destro del mouse su Archivio informazioni e scegliere Proprietà.
  13. Nella scheda Editor attributi, fare clic su msExchESEParamCacheSizeMax, quindi scegliere Modifica.
  14. In Editor attributo numero intero, digitare la dimensione massima della cache del database, specificata come numero di pagine da 8 KB, quindi fare clic su OK (quindi il valore che abbiamo calcolato all’inizio dell’articolo)
  15. Riavviate il servizio “Archivio informazioni di Microsoft exchange dal gestore dei servizi (services.msc)

Adesso exchange 2007 userà “solo” il quantitativo di memoria impostato.

Tema WordPress e icone di N.Design Studio
Articoli RSS Commenti RSS Collegati