Blog Home  Home Feed your aggregator (RSS 2.0)  
HP's Blog - Tuesday, June 30, 2009
Hans-Peter Schelian's Weblog
 
# Tuesday, June 30, 2009

Ich habe seit vielen Jahren den hMailServer in verschiedenen Installationen, sowohl als eigenständigen E-Mail Server als auch im Zusammenspiel (als ESMTP Server) mit MS Exchange Server, im Einsatz. In kleinen und mittleren Betrieben ist hMailServer sicherlich eine günstige (da Lizenzkostenfrei) alternative zu einem hochpreisigen Produkt wie dem Microsoft Exchange Server. Vor allem dann, wenn es hauptsächlich um E-Mail geht und die Groupware Funktionen eines Exchange Server nicht benötigt werden.

Wobei ich gleich hier erwähnen möchte, dass die hier beschriebene Version des hMailServer über IMAP nun auch öffentlichen Ordner zur Verfügung stellt.

Nun aber zum eigentlichen Thema dieses Beitrags,:

“Ziemlich” Sicheres erkennen von SPAM !!!

In der heutigen Zeit ist das Thema SPAM so aktuell wie noch nie.

Ich persönlich erhalte täglich zwischen 300 und 1000 SPAM Mails (Das liegt sicherlich auch daran, dass ich schon seit über 20 Jahren mit teilweise den gleichen E-Mail Adressen arbeite).

Auch wenn es mittlerweile sehr gute SPAM Filter gibt, so kann man doch meistens die als SPAM erkannten Mails nicht einfach löschen, da hier und da doch einmal ein E-Mail welches man benötigt vom SPAM Filter als SPAM erkannt wird.

Was bleibt ist, die SPAM Mails in einen Ordner umzuleiten und diese bevor man sie löscht zu überfliegen um die eine oder andere “normale” Mail auszusortieren bevor man die “richtigen” SPAM Mails löscht.

Wenn man nun aber, wie ich bis zu 1000 SPAM Mails am Tag erhält, dann ist das fast ein Tagfüllender Job, vor allem dann, wenn man E-Mails zeitnahe bearbeitet.

Wenn man doch nur mehr Zuverlässigkeit in der Erkennung der SPAM Filter erreichen könnte !!!

Man kann !! (wenn man den hMailServer einsetzt)

Und das ganze auch noch vollkommen ohne zusätzliche Kosten mit den Bordmitteln von hMailServer, ohne zusätzliche Installation eines weiteren SPAM Filters wie Beispielsweise SpamAssassin.

Nun aber zur Theorie und der Praxis:

Der in hMailServer integrierte SPAM Filter besteht aus mehreren Komponenten:

Zuerst sind sind das die “einfachen” SPAM Test varianten:

image

  • Verwendung SPF (nicht sehr aussagekräftig da noch viele dieses Feature nicht nutzen)
  • HELO Prüfung (lest selber wie zuverlässig diese Prüfung ist)
  • DNS-MX Record (eigentlich sollte den jeder haben, aber auch hier würde ich nicht sehr viel Aussagekraft bescheinigen)
  • DKIM-Signatur (meiner Meinung nach noch nicht verbreitet genug um aussagekräftig zu sein)

Auch wenn diese einfachen SPAM Test verfahren im einzelnen nicht sehr viel Aussagekraft haben, so kann doch das auftreten mehrerer dieser Testergebnisse ein zusätzliches Merkmal zur Erkennung von “echter” SPAM sein.

Wie man schon auf der obigen Abbildung erkennen kann ist jedem der Testverfahren ein Score zugeordnet. Dieser Score wird noch eine entscheidende Rollen in diesem Beitrag spielen. Mehr dazu später.

Nu gibt es außer den einfachen Tests noch weitere SPAM Erkennungsverfahren:

image 

Neben den für diesen Beitrag nicht relevanten Verfahren des Grey- und Whitelisting  widmen wir den beiden SPAM Erkennungsverfahren die für diese Beitrag relevant sind:

DNS Blacklist

DNS Blacklist Server sind im Prinzip Server die Listen von IP Adressen enthalten die als Herkunft von zweifelhaften Mails bekannt sind.

Man kann unter hMailServer mehrere solcher DNS Blacklisten einrichten.

image

Ich habe hier die beiden oben dargestellten Blacklist Server eingerichtet.

Man kann bei jedem der Blacklist Server wieder einen Score vergeben (mehr dazu später):

image 

SURBL Server

Wie bei den DNS Blacklisten kann man bei den SURBL Servern auch mehrere einrichten. Wie aus der nachfolgenden Abbildung zu sehen ist, begnüge ich mich mit einem:

image 

Und wen wundert es, wenn ich sage, man kann jedem SURBL Server wiederum einen Score zuweisen kann.

Nun möchte ich nicht auf die Arbeitsweisen der einzelnen SPAM Prüfverfahren eingehen, dafür kann man die Links verwenden und von Menschen die wirklich was davon verstehen die Einzelheiten zu den einzelnen Verfahren nachlesen.

Jetzt aber endlich zum Thema “SPAM score” auf das ich im gesamten Verlauf des Beitrags schon mehrfach hingewiesen habe.

Auf der Einstiegsseite des Anti Spam Konfiguration des hMailServer finden wir unter anderem den folgenden Eintrag:

image

Die einzelnen Testverfahren besitzen jeweils einen score, der von hMailServer beim durchlaufen der SPAM Filter zu einem Wert (dieses SPAM mark treshold) addiert werden.

Erst wenn die Summe der Score aus den einzelnen Testverfahren diesen Schwellwert (hier sind es 5) übersteigen wird die Mail als SPAM gekennzeichnet.

Unabhängig dieser Kennzeichnung wird aber der Score (Summe aller SPAM Score der Prüfverfahren welche die Mail als SPAM identifiziert haben) auch als X-Header in das E-Mail eingefügt.

Dieser X-Header lautet: X-hMailServer-Reason-Score

Dieses Header kann man mit den meisten E-Mail Programmen aber auch direkt mit dem Regelassistent des hMailServer abfragen.

Und genau hierdurch haben wir eine einfache Möglichkeit mit hoher Genauigkeit SPAM Mails erkennen zu können..

Am besten veranschauliche ich das an einem Beispiel:

Eine eingehende Mail wird von hMailServer empfangen und wird durch die “einfachen” SPAM Tests durchlaufen.

Daraus resultiert ein SPAM core von 2 weil kein die HELO Prüfung fehlgeschlagen ist.

Nun wird der DSN Blacklist Test durchlaufen und auf dem Server bl.soamcop.net wird die IP Adresse des Absender gelistet, dadurch wird der Score um 3 erhöht. Somit ist der SPAM score nun 5.

Als nächstes erfolgt der SURBL SPAM Test und auch dort wird der Mail Inhalt als mögliche SPAM Mail erkannt was den SPAM core noch einmal um 3 erhöht. Das bedeutet der SPAM core ist nun 8.

Nun, da ich ein Kriterium an der Hand habe um “sichere” SPAM Mails von “eventuellen” SPAM Mails unterscheiden zu können kann ich ein weiteres Feature des hMailServer verwenden um Mails mit einem SPAM Core > X direkt zu löschen.

Dies kann ich, mit dem ebenfalls im hMailServer direkt enthaltenen Regelassistenten, welcher unter dem jeweiligen Account des Benutzer (Im Administrationstools zu finde ist, einfach bewerkstelligen.

image

Hier richte ich eine neue Regel mit den nachfolgenden Kriterien ein:

image

Bei den Aktionen wird Delete E-Mail ausgewählt.

image

Ich habe zusätzlich noch ein “Stop Rule Processing” verwendet, damit nach dem löschen der Mail nicht noch versucht wird weitere Regeln zu durchlaufen. (Ist ja keine Mail mehr vorhanden Smile)

Nach diesem Prinzip kann man natürlich ohne Grenzen andere Regeln definieren, wie das verschieben von Mails in einen speziellen IMAP Ordner die manuell geprüft werden müssen usw.

Die X-Header die von hMailServer eingefügt werden können alternativ auch von Mail Clients (z.B. Thunderbird, Outlook usw.) zur Ausführung von lokalen Regeln und Skripten verwendet werden.

Übrigens: Die hier beschriebenen Feature sind enthalten im hMailServer Version 5.1.2

Tips und Tricks | Server
Tuesday, June 30, 2009 4:14:40 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]  
Autor: Hans-Peter Schelian  |  Trackback
# Monday, June 29, 2009

Nachdem ich nun zum wiederholten male im Internet recherchieren musste und es immer schwerer wird schnell eine Antwort zu finden, hier nun mein eigener Beitrag unter dem Motto – Gedächtnisstütze.

Systemumgebung

  • Windows XP SP ( ist Egal) (ich denke bei Vista hatte ich das auch schon, bin mir aber nicht mehr sicher)
  • Nortel VPN Client
    Contivity VPN Client V04_61.07
  • Kaspersky Internet Security
    Kasoersky Internet Security 2009

Problembeschreibung

Nachdem Kaspersky Internet Security  installiert, oder die Installation modifiziert wurde, z.B. Deinstallieren des SPAM Moduls, ist es nicht mehr möglich über den Nortel VPN Client eine Verbindung erfolgreich herzustellen.

Nach dem Starten der Nortel Client Software wird eine Fehlermeldung ausgegeben:

ResetDNSService

Erläuterung und Problemlösung

Kaspersky deaktiviert während der Installation den Standard Windows Dienst DNS-Client.

DNS-Client Dienst

Ohne diesen Dienst kann aber der Nortel VPN Client seine Arbeit nicht verrichten.

Abhilfe schafft man, indem man den Start Typ des Dienstes von Deaktiviert auf Automatisch zurück stellt.

Ach so und nicht vergessen, den Dienst manuell zu starten (automatisch macht er das erst beim nächsten Systemstart)

Allgemein | Note
Monday, June 29, 2009 1:57:39 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]  
Autor: Hans-Peter Schelian  |  Trackback
# Thursday, June 04, 2009

Nach 14 Tagen (Am 16.05.2009 wurde die neue Version veröffentlicht) habe ich Heute endlich ein die Zeit gefunden um mein Blog Portal mit der aktuellen Version der Blogging Software dasBlog zu aktualisieren (Nachdem ich bereits das letzte Update ausgelassen hatte).

Die neue Version 2.3 kann man hier auf Codeplex herunterladen.

Das Update verlief vollkommen Problemlos.

dasBlog
Thursday, June 04, 2009 3:20:17 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]  
Autor: Hans-Peter Schelian  |  Trackback
# Thursday, May 21, 2009

Letzte Nacht wurde ein weiteres Maintenance Release Version 4.9.4 der DotNetNuke Community Edition (CE Edition) veröffentlicht.

 

Neue Funktionalitäten sind nicht enthalten, es wurden einige Sicherheitsprobleme sowie einige kleinere Probleme beseitigt.

 

Die Version 4.9.4 kann wie immer hier von Codeplex heruntergeladen werden.

DotNetNuke
Thursday, May 21, 2009 6:52:00 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]  
Autor: Hans-Peter Schelian  |  Trackback
# Tuesday, April 07, 2009

Soeben wurde eine Maintenance Release Version 4.9.3 von DotNetNuke CE Edition veröffentlicht.

Echte neue Funktionalitäten sind nicht enthalten.

 

Nach eigenen Angaben von DotNetNuke Corp sind die Major Highlights:

  • Add Office 2007 File Extensions to default allowable file extensions in Host Settings
  • Add reference to SQL Server 2008 to Install Wizard to make it clear that SQL Server 2008 is supported
  • Moved Whats New Module/Page to Host menu as it contains content which is not applicable to the Administrator
  • Corrected a problem with "Auto" installation option which would occur when using a non-dbo database user
  • Inline updates to Text/HTML were not HTML encoded when stored in the database
  • AppBrowser renamed to AppBrowsers in order for ASP.NET to recognize it incorrectly
  • Pages in the navigation menu linked directly to a file no longer served the file correctly
  • Can not delete Portal if search items exist in the database which are associated to the portal
  • Removed None Specified option for Folders in Page Export feature as it could cause an error if a user clicked Export without selecting a folder.
  • Fixed major performance issue when adding new portals which would cause the system to unload and reload all cached objects

Die Version 4.9.3 kann man hier auf Codeplex herunterladen.

DotNetNuke
Tuesday, April 07, 2009 4:43:00 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]  
Autor: Hans-Peter Schelian  |  Trackback
# Wednesday, March 04, 2009

Für alle die sich noch immer mit Windows XP beschäftigen “müssen”, oder einfach nur als Memo für mich.

Unter Windows XP Prof wird unter bestimmten Voraussetzungen, im Datei Explorer unter dem Begriff “Auf diesem Computer gespeicherte Dateien” Verknüpfungen zu “Dateien von …” und zu den “Gemeinsamen Dateien” angezeigt.

Auf diesem Computer gespeicherte Dateien

Wen dies stört, kann dies mithilfe der Gruppenrichtline einfach abstellen.

Hierzu startet man den Richtlinien Editor “Start\Ausführen\gpedit.msc” und öffnet den Zweig:

Benutzerkonfiguration\Windows-Komponenten\Windows Explorer

Dort findet man die Richtlinie:

Gemeinsame Dokumente vom Arbeitsplatz entfernen

Diese aktiviert man und beim nächsten öffnen eines Datei Explorers sind die Ordner mitsamt der Gruppe “Auf diesem Computer gespeicherte Dateien” nicht mehr sichtbar.

Dies und Jenes
Wednesday, March 04, 2009 2:10:51 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [3]  
Autor: Hans-Peter Schelian  |  Trackback
# Monday, March 02, 2009

Auch wenn wir uns im Zeitalter von NET Framework 3.5 befinden ist dieser Beitrag in der Überschrift mit .NET 2.0 beschrieben, da sich in an dem Konzept der Anwendungseinstellungen seit .NET 2.0 keine Änderungen ergeben haben.

Mit dem Konzept der Anwendungseinstellungen wurde ein mehr oder weniger durchgängiges Konzept zur Speicherung und Verwendung von Anwendungs- und Benutzerspezifischen Daten eingeführt.

Bei der Einstellungen für eine Anwendung wird dabei zwischen zwei Bereichen (Benutzer / Anwendung) unterschieden.

Im Bereich Benutzer können die Einstellungen aus dem Programmcode sowohl gelesen als auch geschrieben werden.

Beispiel (Überprüfen ob eine Einstellung korrekt ist, wenn nicht dann aktualisieren und speichern):

// Lagereinheit Report
reportName = Settings.Default.Lagereinheit_ReportName;
if (!File.Exists(reportName))
{
    string tempName = File.GetFilenName(reportName);
    tempName = Application.StartupPath + "\\Reports\\" + tempName;
    if (File.Exists(tempName))
    {
        Settings.Default.Lagereinheit_ReportName = tempName;
        Settings.Default.Save();
    }
}

Im Bereich Anwendung können die Einstellungen aus dem Programmcode lediglich gelesen werden (Schreibgeschützt), der obige Programmcode würde also einen Fehler erzeugen, da die Anwendungseinstellungen Schreibgeschützt sind.

Was aber, wenn man eine Einstellung die als Anwendungseinstellung definiert ist, durch Programmcode ändern und in die Config Datei zurückschreiben muss.

Dann kann man dazu folgende statische Methode verwenden:

private static void setAppSetting(string SettingdName, string SettingValue)
{
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.PreserveWhitespace = true;
    xmlDoc.Load(config.FilePath.Trim());
    XmlNode appSettingNode = xmlDoc.SelectSingleNode("configuration/applicationSettings");
    XmlNode settingNode = appSettingNode.SelectSingleNode(string.Format("//setting[@name='{0}']", SettingdName));
    XmlNode valueNode = settingNode.SelectSingleNode("value");
    valueNode.InnerText = SettingValue;
    xmlDoc.Save(config.FilePath.Trim());
}

Nachfolgend ein Beispiel wie man diese Methode im Programmcode einsetzt um eine “normerweise Schreibgeschütze” Einstellung zu ändern.

// auf normalem Weg lesend auf die Anwendungseinstellung zugreifen
if (Properties.Settings.Default.ApplicationVerladestelle == "DDC") 
{
	// Und hier mit Hilfe der setAppSetting Methode einen neuen Wert zuweisen und in die config Datei schreiben
    setAppSetting("ApplicationVerladestelle", "DCW");  
}

Settings.Default.Reload();  // Nicht vergessen, die aktuellen Werte noch mal zu laden
Code | Tips und Tricks
Monday, March 02, 2009 4:43:27 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [7]  
Autor: Hans-Peter Schelian  |  Trackback
# Friday, February 20, 2009

Bei meinem Dell Notebook “Precision M90” ist plötzlich folgendes Problem aufgetreten:

Nach dem Start des Rechners fährt Windows XP SP 3 ganz normal hoch, jedoch die Netzwerkverbindung über WLAN wird nicht hergestellt.

Das Taskleistensymbol der Intel PROSet/Wireless Netzwerkkarte verbindet sich nicht mit einem der vorkonfigurierten Profile sondern bleibt gelb (nicht verbunden).

Ich öffne also die Steuerung der Intel PROSet/Wireless und sehe das einige WLAN Netzwerke vorhanden sind, auch mein WLAN im Büro.

Ich markiere also das gewünschte Netzwerk und betätige den Button “Verbinden”.

Aber anstelle die Verbindung herzustellen, öffnet sich das Eigenschaft Fenster des ausgewählten Profils, mit dem Profil-Namen und der SSID den Netzwerkes usw. Ich denke, OK, dann gebe ich die Daten halt noch mal ein bzw. bestätige die Daten und speichere das Profil noch einmal. Aber genau dabei tritt das Problem auf.

Ich bekomme eine Meldung:

image

Klar ist das Profil schon vorhanden, und ja ich möchte das existierende Profil überschreiben, beim verwenden des vorhandenen Profils ist ja irgendein Problem aufgetreten (denke ich zu diesem Zeitpunkt jedenfalls noch).

Also auf ”Ja” geklickt und …. schon ist das nächste Problem da !

image 

Ein Profilkennwort Surprised

Ich habe gar kein Kennwort !!!!!

Bei weiteren Versuchen das System irgendwie auszutricksen kommt es dann auch mal zu folgender Meldung

image

Nach vielem hin und her, habe ich dann versucht was geschieht, wenn man sich mit einem anderen Benutzer (oder einen neuen) Benutzer an diesem Rechnern anmeldet. Und siehe da, das (mein) Problem muss wohl irgend etwas mit meinem auf diesem Rechner gespeicherten Profil zu tun haben.

Ich suche also unterhalb von meinen persönlichen Daten in “C:\Dokumente und Einstellungen\[USERNAME]\Anwendungsdaten\” nach dem möglichen Speicherort der Profileinstellungen meiner Intel PROSet/Wireless Karte und werde schnell im Unterverzeichnis “Intel” fündig.

Nachdem ich noch die DAteiberechtigungen geprüft habe aber dabei auch nicht wirklich ein Problem feststellen kann, entschließe ich mich dazu das Verzeichnis Intel einfach zu löschen und hoffe dass ich danach so vorgehen kann als wenn ich bei einem neuem Benutzer die Konfiguration durchführe, und ich sollte damit recht haben.

Das Löschen des Verzeichnis C:\Dokumente und Einstellungen\[USERNAME]\Anwendungsdaten\Intel wobei [USERNAME] für den jeweiligen Benutzernamen steht, brachte den gewünschten Erfolg und ich konnte die neuen Profile einfach wieder anlegen.

Natürlich hatte ich das Verzeichnis bevor ich es gelöscht hatte, erst einmal gesichert, man weiß ja nie !

Ich bin mir nicht sicher wodurch dieses Problem entstanden ist und war bisher auch nicht in der Lage dieses Problem zu reproduzieren, aber eventuell hilft diese Beschreibung ja doch jemand anderem bei der Problembehebung.

Allgemein | Tips und Tricks
Friday, February 20, 2009 9:12:34 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]  
Autor: Hans-Peter Schelian  |  Trackback
Copyright © 2010 Hans-Peter Schelian - Schelian IT Beratung. All rights reserved.