Archive for Jan. 2009

Exchange 2007 manuell enfernen

Mir ist heute bei der Deinstallation eines Exchange Servers folgendes passiert.

Ein Exchange Server auf dem die Rollen Mailbox, Hub und Transport installiert waren, machte Probleme, daher habe ich diesen ganz normal über die Systemsteuerung deinstallieren wollen. Nachdem dies nicht ging - da er das OWA Verzeichnis anmeckerte was nicht mehr existierte – habe ich dieses über

New-OABVirtualDirectory -WebSiteName 'Default Web Site'
-InternalURL 'http://<servername><domain.tld>/OAB'

wiederherstellen wollen. Nachdem dies alles auch nicht funktionierte, hab ich vom IIS die Sicherung von vor der Exchange Installation wiederhergestellt und anschließend lediglich die CAS sowie Hub Rolle deinstalliert. Anschließend wollte ich die Mailbox Rolle entfernen.

Nach der Deinstallation der oben genannten Rollen, startete die Installationsroutine vom Exchange und war der Meinung, auf diesem System sei kein Exchange installiert. Es waren jedoch noch alle Dienste sowie Dateien vom Exchange vorhanden. Ein Blick ins AD mit Hilfe von adsiedit ergab, dass das Setup alle AD Einträge gelöscht hatte. Somit ging eine Deinstallation nicht – das Setup schaut im AD nach und meldet anschließend das System sei kein Exchange Server, eine Neuinstallation ging aber auch nicht, da eben noch lokal alles vorhanden war und das Setup daran scheiterte.

Nach einem Neustart des Systems froh dieses ein. Der MSExchangeIS und MSExchangeSA Dienst versuchten zu starten, fanden aber im AD keine Einträge. Nach langem warten konnte ich mich dann wieder auf dem System anmelden und hab daraufhin alle Exchange Dienste in der Registry deaktiviert.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExch...
Start: 4

Anschließend habe ich den Exchange wie folgt manuell deinstalliert. (origianl Artikel)

  1. Alle Exchange Dienste stoppen
  2. Folgende Reg-Keys löschen:
  3. Unter HKEY_LOCAL_Machine\System\CurrentControlSet(001/002)\Service
    - Alle MSExchange* keys
    - msftesql-Exchange
    - msftesqlFD-Exchange
    - msftesqlIDX-Exchange
    HKEY_LOCAL_Machine\Software\Microsoft\Exchange Key
  4. Die Exchange Dateien:
    C:\Program Files\Microsoft\Exchange Server
    Evtl. sollten die Datenbanken und das Queue Verzeichnis vorher gesicht werden
    (C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\*)
  5. Exchange 2007 Configuration der Maschine aus dem AD entfernen
    Mit Hilfe von ADSIedit den Eintrag für den Server löschen:
    CN=Configuration, DC= Domain_Name ,DC=com, CN=Services, CN=Microsoft Exchange, CN= <Organization_Name>, CN=Administrative Groups, CN= Exchange Administrative Group (AGname), CN=Servers, CN=<Server Name>
  6. Das Maschinen Konto aus alle Exchage Gruppen entfernen:
    Exchange Servers und Exchange Install Domain Servers.
  7. Die Gruppe Exchange Organization Group aus der lokalen Admin Gruppe entfernen
  8. Entweder rechte Mauste auf Exchangeserver.msi und uninstall wählen oder
    MsiExec.exe /X{24B2C164-DE66-44FE-B468-A46D9D5E6B31}

Debian: dpkg post-removal Fehler 10

Eigentlich wollte ich heute morgen nur Roundcube v.0.2 über .deb Pakete installieren. Die Installation scheiterte daran, auf dem System andere Pakete nicht in der korrekten Version vorlagen, ich diese aber aus unstable bzw. testing nicht installieren wollte. Ein Versuch nun die halbfertigen Pakete wieder zu deinstallieren scheiterte. dpkg gab im script post-removal immer den Fehler 10 zurück. Leider habe ich den genauen Wortlaut der Meldung nicht mehr.

Nach langem suchen habe ich die Pakete dann doch deinstallieren können. Dazu habe ich die Datei /var/lib/dpkg/info/roundcube-core.postrm umbenannt. Anschließend ließ sich das Paket auch mittels

dpkg --purge --force-all --debug=100 roundcube-core

problemlos deinstallieren.

Spamassassin: SPF prüfen

Spamassassin kann von hause aus auch den SPF-Record prüfen und dieses in den Score Wert einer eMail mit einfließen lassen. Dazu muss lediglich das entsprechende CPAN Modul installiert sowie das Plugin über Spamassassin geladen werden.

cpan -i Mail::SPF::Query

Um das Plugin zu laden muss in der Datei /etc/spamassassin/v312.pre folgende Zeile ergänzt werden.

loadplugin     Mail::SpamAssassin::Plugin::SPF

Anschließend noch Spamassassin neu starten.

/etc/init.d/spamassassin restart

Die Bewertung des SPF Feldes ist in der Datei 50_scores.cf enthalten.

Links:

Spamssassin: DKIM, DomainKey prüfen

Wie im Artikel Post-ID 1357 beschrieben können eMails per dkim signiert werden. Doch selber nur signieren und eingehende eMails nicht prüfen ist ja auch nicht so ganz im Sinne des Erfinders ;-)

Spamassassin kann genau diese Prüfung nun vornehmen. Dazu müssen noch Pakete installiert werden und in zwei Dateien die Plugins dafür auskommentiert werden.

apt-get install libssl-dev make autoconf gcc g++ libtool

cpan -i Mail::DomainKeys
cpan -i Mail::SpamAssassin::Plugin::DomainKeys
cpan -i Crypt::OpenSSL::RSA
cpan -i Mail::DKIM
cpan -i Net::Server

I.d.R. klappt die Installation über cpan ohne Probleme. Scheitert diese jedoch, kann man die Paket manuell installieren, indem man in das Setup Verzeichnis wechselt und das Paket manuell compiliert.

cd /root/.cpan/<Paketname>
perl makefile.pl
make
make install

Nun noch die Plugins durch auskommentieren aktivieren:

/etc/spamassassin/v310.pre
loadplugin Mail::SpamAssassin::Plugin::DomainKeys

/etc/spamassassin/v312.pre
loadplugin Mail::SpamAssassin::Plugin::DKIM

/etc/init.d/spamassassin restart

Wenn man anschließend jedoch Spamassassin die Konfiguration auf  Fehler prüfen lässt, erhält man folgende Meldung:

spamassassin --lint
[9595] warn: plugin: failed to parse plugin (from @INC): Can't locate Crypt/OpenSSL/Bignum.pm in @INC (@INC contains: lib /usr/share/perl5 /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl) at /usr/share/perl5/Mail/SpamAssassin/Plugin/DKIM.pm line 60.
[9595] warn: BEGIN failed--compilation aborted at /usr/share/perl5/Mail/SpamAssassin/Plugin/DKIM.pm line 60.
[9595] warn: Compilation failed in require at (eval 79) line 1.
[9595] warn: plugin: failed to create instance of plugin Mail::SpamAssassin::Plugin::DKIM: Can't locate object method "new" via package "Mail::SpamAssassin::Plugin::DKIM" at (eval 87) line 1.

Das Problem ist eine nicht erfüllte Abhängigkeit zum Paket libcrypt-openssl-bignum-per. Dies wurde jedoch bereits als Bug gemeldet (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=400437).

Daher muss dieses noch nachinstalliert werden.

apt-get install libcrypt-openssl-bignum-perl

Anschließend sollten bei spamassassin –lint keine Fehler mehr auftreten.

Die Spamassassin Berwertung der DKIM Signatur ist in der Datei 50_scores.cf enthalten.

SysCP: DKIM mit SysCP 1.4.2

Mit SysCP 1.4.2 wurde DKIM integriert, was es dem Absender ermöglicht, seine eMails beim versenden mit einer Signatur zu versehen, die der Empfangende Server prüfen kann um festzustellen ob die eMail tatsächlich von diesem Server Versand wurde. Weitere Informationen siehe Post-ID 1212.

So wie es aussieht, ist aber in der SysCP Version 1.4.2 ein Bug bezüglich der dkim Veröffentlichung mittels DNS enthalten, der aber bereits gemeldet wurde.

Schlüssel erstellen

siehe Post 2487

dkim-milter Installation

Da das Paket dkim-filter erst mit Debian Lenny ein fester Bestandteil von Debian wird, muss das Paket aus den Backports installiert werden.

wget http://www.backports.org/debian/pool/main/d/dkim-milter/dkim-filter_2.6.0.dfsg-1~bpo40+2_i386.deb
apt-get install libmilter0
dpkg -i dkim-filter_2.6.0.dfsg-1~bpo40+2_i386.deb

Coorperation mit amavisd-new

Da ich als Content-Filter jede eMail durch amavisd-new laufen lasse, musste die Signierung der eMails am Ort der Rückgabe der eMails nach der amavis Prüfung erfolgen. Dazu habe ich die master.cf wie folgt angepasst.

/etc/postfix/master.cf
127.0.0.1:10025 inet    n       -       -       -       -       smtpd
   [...]
  -o milter_default_action=accept
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_milters=inet:localhost:8891
  -o non_smtpd_milters=inet:localhost:8891
  -o content_filter=

anpassen der dkim-filter Konfiguration

Nun muss noch die Konfiguration angepasst werden. Dazu muss über die Datei /etc/default/dkim-filter der Port angegeben werden, über den der Filter erreichbar ist. Weiterlesen