Category Archives: Linux

Count SMTP connections without TLS

As I manage my own mail server with postfix, I was curious to see how many connecting mail server do not use best practise and drop their mail without transport encryption. In the end I was possible to create my own list of shame of domains.

First it is important that postfix supports TLS encryption. There are a lot of good guides on the web.
Then you need to ensure that the correct logging is enabled in /etc/postfix/main.cf:

smtpd_tls_loglevel = 1

Now you can have a look at your logs for example with this cool tool: postfix-logwatch.
But for my list of shame I needed to write a new script:


#! /bin/bash

logpath="/var/log/messages*" # Adapt to your needs
ignoreDomain="test.org"      # for example your local domain

yesTLS=$(zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'Anonymous TLS connection established' | wc -l)

noTLS=$(zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'smtpd.*: client=' | wc -l)

NoTLSwoMe=$(zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'smtpd.*: client=' | grep -v $ignoreDomain | wc -l)

echo "List of Shame:"
zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'smtpd.*: client=' | grep -v $ignoreDomain | sed 's/.*client=\(.*\)\(\[.*\)/\1\t\t\2/' |sort | uniq -c |sort

echo "-----------------------------------------"
echo -e "Connections with TLS:\t\t\t" $yesTLS
echo -e "Connections wo TLS - incl. local:\t" $noTLS
echo -e "Connection wo TLS - remote:\t\t" $NoTLSwoMe
echo -e $(echo 100*$NoTLSwoMe/$yesTLS| bc)"% of the remote connections dont use TLS"

The script should work without to much modification on any postfix installation.

It is kind of depressing to see how many big domains ignore transport encryption. But with this script I found already two mail servers which just had configuration errors.

Speichernot

Jetzt haben wir seit langem wieder einmal eine Lan organisiert. War ganz lustig und hat Spaß gemacht, nur sind komische Probleme aufgetreten. Nichts was uns wirklich gehindert hat, aber für mich eigenartig. So ist die IP-Vergabe mittels DHCP recht langsam verlaufen und wir konnten nicht mehr DNS meines Servers verwenden. In folge war Windows Sharing am Server nicht mehr erreichbar. Heute habe ich dann ein wenig tiefer gesucht und habe in /var/log/messages einen jammernden postfix gefunden, der sich über Platzmangel beschwerte. Ich hatte keine Ahnung wer da kräftigt was weggeschnippelt hat und habe nach suchen den Übeltäter gefunden: /var/log/messages war 1,7 Gig groß und hatte über 2 Millionen Zeilen. Jetzt habe ich logrotate drauf getan, damit das nicht mehr passiert. Der Server selber läuft schon seit 2004, sodaß sich da schon einiges ansammeln kann. Damals waren meine Linuxkenntnisse noch nicht so umfangreich, das Programm mir unbekannt.

Vor einiger Zeit ärgerte ich mich über Linux, aber ein so lange funktionierendes System zu haben, welches trotzdem immer aktuell ist finde ich toll. Ein anderes System hält wohl gar nicht solange als daß das Problem auftreten kann.

—–

Specto

Wieder ein nützliches Programm gefunden, daß mir helfen soll weniger Zeit vor dem Rechner zu verbringen.

Der Name: Specto.
Das Einsatzgebiet: jede spannende Seite, wo RSS versagt hat. Und wenn man nicht Yahoo-Pipes verwenden will. Funktioniert auch mit Emailkonten.

Die vom Entwickler beschrieben Situation hat mich restlos überzeugt:
… that Kiddo woke up one day and restored his last 30 tabs browser session and started opening new tabs and windows to check for updates in his geeky life. No, there has to be a better way !

Zur Ehrenrettung von Yahoo-Pipes, hier ein RSS-Feed von Ctrl+Alt+Del.

—–

Weltkarte

Für alle die eine Orientierungshilfe im Internet brauchen, hat xkcd eine Karte zusammengebastelt. (Lustiger ist’s wohl für welche, die sich da auskennen. Man möge auch die Rose bachten.)

—–

Sexy Linux

Daß Linux auch optisch sexy sein kann, ist ja schon ein alter Hut, doch endlich ist es auch mein System daheim. Als mal wieder der Drang nach schöner Optik zu stark wurde, habe ich mein System genauer angeschaut. Die bestehende Mißkonfiguration beseitigte ich indem ich den ATI Treiber raushaute und die notwendigen Module hinzufügte. Endlich sah ich direct rendering: Yes. Danach kam der Rest von alleine, mit der einen Ausnahme, daß ich nicht den allerneuesten Mesatreiber hernehmen konnte, da es da noch Probleme gibt.

Windows kann mit Aero auch annähernd das Selbe, wenn auch mit großer Verzögerung. Mac waren die Ersten, aber wie bei Windows kann es Linux durch das Fehlen mehrerer Arbeitsflächen nicht das Wasser reichen was optische Spielerein und Raffinessen betrifft.

Natürlich sind viele Effekte reine Spielerein, aber man soll die positiven Einflüße, auf den Arbeitsfluß nicht unterschätzen.

Ich habe bewußt die einzelnen Schritte ausgelassen, da es online genügend ausführliche Seiten und Wikis gibt, wo die Vorgehensweise besser beschrieben wird, als ich es könnte. Aus selben Grund keine Bildschirmfotos, sondern nur einen Link zu Beryl.

Pimp my .bashrc

Was ich früher schon mal hatte und wieder vergaß: wie man in der Bash History keine doppelten Einträge hat. Das ist nämlich sehr unnötig und verschwenderisch. Und so geht es:

in der ~/.bashrc
export HISTCONTROL=ignoredups

Und was ich von jemanden aus irgend einem Forum schamlos kopiert habe:
alias fs='du -h --max-depth=0 $1' #fs=foldersize -requires ONE input
Damit zeigt fs an wie groß der Ordner mit Inhalt ist.

—–

iFolder

War in letzter Zeit sehr beschäftigt, war die beiden letzten Wochenenden in der Steiermark.

Sonst habe ich mich noch mit iFolder gespielt. Das ist ein weiteres OpenSource Projekt aus dem Hause Novell. Es ermöglicht eine einfache Synchronisation von Dateien, indem man einen lokalen Ordner zu einem iFolder macht. Daraufhin werden bei Bestehen einer Netzwerkverbindung Änderungen an dem Ordner an den Server und durch den an alle anderen eingerichteten Clients weitergegeben. Das Bedeutet, daß man sich nicht mehr manuell um die Synchronisation kümmern muß, sondern alles sehr bequem und anwenderfreundlich im Hintergrund geschieht.

Der große Vorteil dabei ist, daß man seine Daten auch am Laptop dabei hat, wenn man fern ab von einem Netzwerk ist. Bisher habe ich meine Daten ziemlich exklusiv über Samba gespeichert, worauf ich von außen meist keinen Zugriff hatte.

Nicht zu verachten ist auch die Möglichkeit auf die Daten via Webinterface (auch via https) von jedem (auch fremden) Rechner zugreifen zu können. Ich weiß es gibt schon viele solcher Web2-Anwendungen die das können, aber diese Lösung integriert sich wunderbar in mein System und ich vertraue meinem Server mehr…

iFolder kommt auch mit einer Rechteverwaltung, so kann ich anderen Lese- und/oder Schreibrechte geben.

Der Nachteil dabei jedoch: die Daten werden auf jedem Rechner lokal gespeichert, das heißt bei N Clients N mal den Platzbedarf (eigentlich N+1, da am Server nochmal). Deswegen hat Samba immer noch eine Existenzberechtigung für die Verwaltung aller großen und/oder nicht so wichtigen Dateien.

Hier das obligatorische Bildschirmfoto:

PS: Neben der hier beschrieben Serverstruktur gibt es auch die flexiblere Workgrouparchitektur.

—–

Gentoo Ebuilds for Ekiga aka Gnomemeeting Opal

After playing around with the ebuilds for Gnomemeeting, I finally got Ekiga (which is the new name for Gnomemeeting) to build and emerge under Gentoo.

Why Ekiga is so exciting to have? Because it provides the so long wanted SIP-Support.

Here is the link to fetch the ebuild and its dependencies (pwlib and opal). You should get enough info to figure out what to do. I would be more than happy to recieve any feedback. I will also post them at bugs.gentoo.org but experience taught me, it will take some time before poping up in the tree.

My Asterisk now seems to work finally, even though I am still testing. All in all I am quite satisfied.

—–

PEBKAC

Da mein Laptop in der Werkstatt war, habe ich Synce und Multisync neu einrichten können, habe es aber nicht um die Burg geschafft, daß der PDA automatisch verbunden wird, obwohl das früher funktionierte. Bin soeben drauf gekommen woran es lag: Das Hotplug Skript war mit Namen sync anstatt syce gespeichert und hat damit nicht mehr zur usermap gepaßt. Typischer Fall von PEBKAC (Problem exists between keyboard and chair).

—–

Sipgate mit Gnomemeeting

Also ich gehe davon aus, daß Ihr das neue Gnomemeeting mit SIP Unterstützung habt, ansonsten besorgt es Euch. (Wenn Ihr Gentoo habt, schaut mal da.)

Da ein Bild mehr als tausend Worte sagt, schaut euch folgendes Bild an. Wenn Ihr bei sipgate.de und nicht .at seit, einfach anpassen.

sip-gentoo-mini
—–