Archive for Mai. 2008

Exchange 2007: Log-File Analyse mit logparse

Wer sich längere Zeit an Postfix und die sehr übersichtlichen Log-Files gewähnt hat (wie ich) hat bei Exchange 2007 erstmal ein paar Probleme wenn es um die Handhabung der Log-Dateien geht. Es gibt jedoch dafür – wie konnte es anders sein – ein Tool von Microsoft. Für die Analyse der Exchange 2007 LogFiles kann der IIS Log Parser verwendet werden.

Nach der Installation des Log Parsers sollte der Pfad zur LogParser.exe in die Path Variable aufgenommen werden. Damit auch genügend Daten geloggt werden die man analysieren kann, sollte für den Empfangs-/Sende-Connector das logging auf verbose eingestellt werden (MS Technet Artikel).

Set-ReceiveConnector "Connector Name" -ProtocolLoggingLevel verbose
Set-SendConnector "Send Connector Name" -ProtocolLoggingLevel verbose

Die Log-Dateien werden anschließend in folgenden Pfaden angelegt:
\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpReceive
\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpSend

Default mäßig wird jedes Log-Verzeichnis maximal 250 MB groß. Wie die Einstellungen der Logfile größe geändert werden kann finden Sie hier.

Möchten Sie den Pfad der Log-Dateien ändern geht dies auch wieder über das cmdlet

Set-TransportServer  ExchangeHUBHosName -ReceiveProtocolLogPath "C:\WINDOWS\system32\LogFiles\SMTP\IN"
Set-TransportServer  ExchangeHUBHosName -SendProtocolLogPath "C:\WINDOWS\system32\LogFiles\SMTP\OUT"

Um sich nun die ersten Daten anzeigen zu lassen, wechseln Sie der einfachheitshalber in das Verzeichnis der Exchange 2007 Log-Files und geben folgenden Befehl ein:

LogParser.exe „select * from ...\SmtpReceive\RECV*.log” -i:CSV -nSkipLines:4 -o:datagrid
  • -i gibt das Trennzeichen an was bei Exchange das Komma ist.
  • -nSkipLines gibt an wieviele Zeilen am Anfang jedes Logfiles übersprungen werden. Hier 4, da dier ersten 4 Zeilen nur der Logfile-Header steht
  • -o gibt das Ausgabeformat an

Ja nach Umfang der Abfrage und der zu bearbeitenden Datenmenge kann dies die Netzwerkverbindung unter Umständen sehr belasten!!

Um die Ausgabe auf einzelne Felder zu beschränken müssen die Felder in Eckigen Klammern angegeben werden: Weiterlesen

Exchange 2003/2007: Tarpiting

Noch nie was davon gehört? Dann wirds Zeit. Tarpiting ist eine der “neueren” Erungenschaften um eMail Server vor Spam zu schützen. Da man das Rad aber nicht zweimal erfinden muss:

http://www.linux-magazin.de/heft_abo/ausgaben/2007/01/her_mit_dem_abfall
http://www.tecchannel.de/sicherheit/spam/450998/index8.html

Für Exchange 2003 unter Windows 2003 SP1 gibt es dieses Feature auch schon. Muss aber manuel über die Registry aktiviert werden (KB842851)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMTPSVC\Parameters
TarpitTime : DWORD-Wert (Angabe der Verzögerung in Sekunden - Dezimal)

In Exchange 2007 ist tarpiting schon von hause aus aktiviert, was bei einem Kunden leider zu Problemen geführt hat. Ein SMTP-Client versuchte diese Verzögerung durch das SMTP-Kommando rset zu verkürzen da er diese Verzögerung als ein Netzwerkproblem ansah.

Der Standartverzögerung bei Exchange 2007 sind 5 Sekunden.

Get-ReceiveConnector -Identity "ConnectorName" | select name,tarpitinterval
Name                                    TarpitInterval
----                                    --------------
Client <Servername>                     00:00:05

Nachdem Tarpiting deaktiviert wurde (00:00:00)  gab es keine Probleme mehr:

set-ReceiveConnector -Identity "ConnectorName" -tarpitinterval 00:00:00

Der Maximalwert sind übrigens 10 Minuten.

Debian: NiX Spam blacklist gegen mail.log prüfen

Ich hab mir geraed mal den Spaß gemacht auf meinem Server zu prüfen, welche der IP-Adresse die bei heise auf der NiX Blackliste stehen Verbindungen zu meinem Server aufgebaut haben.

Das script für eine automatische Auswertung sieht wie folgt aus:

#!/bin/bash
wget http://www.ix.de/nixspam/nixspam.blackmatches
cat nixspam.blackmatches | awk '{print $2}' | sort -n > nixspam.blackmatches_ips
blacklist=/root/tmp/nixspam.blackmatches_ips
  cat $blacklist |while read line
  do
    cat /var/log/mail |grep "NOQUEUE: filter: RCPT from" | grep $line -m 1| awk '{print $10}' | cut -d "[" -f 1
  done;
rm nixspam.blackmatches*

Ich hatte nicht gerade wenig Treffer.

Exchange 2007: Offline Adressbuch update/erneuern

Leider muss ich immer wieder feststellen, dass das OAB im Exchange des öfteren Probleme macht. Am Client macht sich durch die Fehlermeldung 0X8004010F beim Senden/Empfangen bemerkbar.

Bevor Sie jedoch anfangen am OAB rum zu schrauben, werfen Sie vorher einen Blick in die entsprechende Datenbank, ob das OAB auch korrekt eingestellt ist.

In diesem Fall wäre das Problem schon gefunden. Sollte hier alles okay sein, können Sie überlegen das OAB zu updaten.

Dies geht über folgendes cmdlet:

Update-OfflineAddressBook -Identity "Standard-Offlineadressbuch"

Sind die Probleme mit dem OAB anschließend behoben ist erstmal alles gut. Wenn jedoch nicht ist suchen angesagt. Exchange 2007 produziert standart mäßig nicht gerade die aussagereichsten Eventlog Einträge. Dies lässt sich jedoch auch wieder über cmdlets ändern. Der Vorgabewert für den OAL Generator ist “lowest”. Weiterlesen

Debian: telnet per bash

Nachdem ich mir gerade einen Wolf gesucht hab wie ich telnet per bash steuern kann… hier das Ergebniss…

#!/bin/bash
expect << EOF
set timeout 20
spawn telnet 192.168.0.1 25
expect "220 192.168.0.1 ESMTP ... ready"
send "helo 192.168.0.1\r"
expect "250 192.168.0.1 Hello 192.168.0.2*"
send "mail from: user@domain.tld\r"
expect "250 OK"
send "rcpt to: user2@domain.tld\r"
expect "250 OK"
send "data\r"
expect "354 Enter mail*"
send "server is down\r"
send ".\r"
exit
EOF