SpamAssassin: Benutzerdefinierte Regeln


Es ist sehr leicht möglich, eigene benutzerdefinierte Regel für SpamAssassin festzulegen. Dazu muss nur die local.cf um wenige Zeilen erweitert werden. SpamAssassin ist ein Programm, welches eingehende eMails scannt und diese nach einem Punkteschema beurteilt, ob diese Spam sind oder nicht. Das Programm ist serverseitig, nicht für eMail-Clients, etc geeignet.

Beispiele für benutzerdefinierte Regeln
Nach Betreff scannen

header RULE1 Subject=~ /depp/i
score RULE1 5.0
describe RULE1 Schimpfwort in eMail vorhanden

Sobald das Wort “depp” im Betreff vorkommt, wird die Spam-Beurteilung der eMail um 5 Punkte erhöht. In der Tabelle wird dann die oben genannte Beschreibung angegeben.

From-Adresse scannen

header RULE2 From =~ /blubb@domain.tld/i
score RULE1 5.0
describe RULE1 Abesnder ist blubb@domain.tld

Nun wird überprüft, ob der Sender mit der eMail Adresse “blubb@domain.tld” entspricht. In diesem Fall wird jedoch auch testblubb@domain.tld erkannt.

Body: eMail-Inhalt scannen

body RULE3 /hack/i
score RULE3 7.0
describe RULE3 Wort "hack" enthalten

Mit dieser Regel wird nach dem Wort “hack” in der eMail gesucht.

Änderungen übernehmen
Um die Änderungen zu übernehmen, muss SpamAssassin neugestartet werden.
Dies kann man mit folgenden Befehl machen:

spamassassin -D --lint

Um sicherzugehen, dass alle Änderungen korrekt übernommen wurden, sollte man auch den SpamAssassin-Daemon neustarten. Das ist auf jedem System etwas anders, je nachdem wie SpamAssassin eingerichtet wurde. Standardmäßig sollte folgender Befehl funktionieren:

/etc/init.d/spamassassin restart

Hilfreiches
Wer genauere Regeln erstellen möchte, kann sich auf der folgenden Seite einen Überblick von vielen verschiedensten Möglichkeiten ansehen: http://johnbokma.com/spam/spamassassin-cookbook.html

MySQL & PHP: Vergleichen eines eingegebenen Passwortes mit ENCRYPT von MySQL


Ich stand gerade vor dem Problem, ein eingegebenes Passwort von einem HTML-Formular mit einer MySQL Datenbank zu vergleichen. Der Haken war jedoch, dass die Passwörter mit der ENCRYPT()-Funktion von MySQL verschlüsselt wurden.

Lässt man also ein Passwort in die MySQL Datenbank mit ENCRYPT(“passwort”) speichern, wird das Passwort zufällig verschlüsselt und wird bei so einen Beispiel-Vergleich mit PHP nie richtig sein:

mysql_query("SELECT password FROM users WHERE password=ENCRYPT('eingegebenes_passwort')")

Verzweifelt habe ich dennoch versucht, die Passwörter zu vergleichen.
Die Lösung war eigentlich einfach – wenn man es weiß…:

mysql_query("SELECT password FROM users WHERE password=ENCRYPT('eingegebenes_passwort', password)")

Das heißt, MySQL vergleicht – irgendwie – das eingebene mit dem vorhandenen Passwort und gibt danach das Passwort zurück, wenn das eingegebene Passwort richtig gewesen ist.

Ich hoffe es sparrt Euch viel Ärger und Nerven 🙂

Linux: archey – Systeminformationen anzeigen


Ich habe kürzlich ein nettes Tool namens “archey” entdeckt, welches die wichtiges Systeminformationen mit einem Befehl ausgibt – sogar etwas optisch aufbereitet. Wie das aussieht? So:

Schlicht und simpel – genauso wie die Installation.

Starten
Sobald das Programm installiert ist, kann es mit folgenden Befehl ausgeführt werden:

archey

Installation
Zuerst die benötigen Pakete installieren:

apt-get install lsb-release scrot

Dann das Programm herunterladen & installieren:

wget http://github.com/downloads/djmelik/archey/archey-0.2.8.deb
dpkg -i archey-0.2.8.deb

Zum aufräumen das Setup danach löschen:

rm archey-0.2.8.deb

Und fertig. Nun kann man das Programm einfach mit “archey” aufrufen.

Autostart nach Login
Optional kann man sich die Übersicht direkt beim Login anzeigen – auch das ist sehr leicht zu realisieren.

echo "archey" >> ~/.bashrc

Danach wird die Übersicht beim Start angezeigt, jedoch nur bei dem Konto wo der Befehl ausgeführt wurde.

Linux: Split Screen in screen oder tmux


Split Screen. Genau das habe ich vor wenigen Tagen mal gebraucht, wo ich gleichzeitig die Serverauslastung und Logs überwachen wollte. Natürlich habe ich auch dafür eine Lösung gefunden. Split Screen kann man mit dem Programm screen oder auch mit tmux machen – hier werde ich die Befehle für beide Programme erläutern.

Zuerst mal zwei Beispiel-Screenshots, wie das aussehen kann:

screen
tmux

Oder wenn man etwas mehr Fenster benötigt, kann es mal so aussehen:

screen

Welches Programm du verwenden möchtest, ist dir überlassen – Ich persönlich verwende und empfehle screen.

Nun die Auflistung aller relevanten und hilfreichen Tastenkürzel für screen und tmux. Bitte beachte bei screen: Sobald du ein Terminal teilst, musst du in das neue Terminal wechseln und dort eines neues Terminal erstellen, da du ansonsten dort nichts eingeben kannst (siehe Tastenkürzel in Tabelle)!

Befehlsauflistung
Die Auflistung der Befehle für screen:

Neues Terminal erstellenSTRG + A C
Terminals minimierenSTRG + A D
Nächstes TerminalSTRG + A Leertaste
Vorheriges TerminalSTRG + A Backspace
Zu Terminal x wechseln (0-9)STRG + A x
Terminals auflistenSTRG + A
Terminal vertikal teilenSTRG + A |
Terminal horizontal teilenSTRG + A SHIFT + S
Terminal nicht mehr teilenSTRG + A SHIFT + Q
Zwischen geteilten Terminal wechselnSTRG + A TAB

Die Auflistung der Befehle für tmux:

Neues Terminal erstellenSTRG + B C
Nächstes TerminalSTRG + B N
Vorheriges TerminalSTRG + B P
Terminal vertikal teilenSTRG + B SHIFT + 5
Terminal horizontal teilenSTRG + B SHIFT + 2
Zwischen geteilten Terminal wechselnSTRG + B O
Derzeitiges Panel schließenSTRG + B X

Bei Fragen, Wünschen oder Anregungen bitte die Kommentare benutzen 🙂