De B ian

Was ich auch an einem Debian 7 mit Apache 2.2 zu drehen versuche, mehr als ein B hole ich bei SSLLabs nicht raus. Apache 2.2 kennt

SSLOpenSSLConfCmd

nicht und damit scheint man am Ende.

Wer einen moderneren Apachen fährt, dem sollte ein

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder  on
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

zumindest nicht nur meiner Denke nach weiterhelfen.

Unter Ubuntu 14.04 mit Apache 2.4 reicht auch das

SSLHonorCipherOrder on
SSLProtocol All -SSLv3
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

meinen Versuchen nach für ein A Rating, sofern die Schlüssel lang genug sind.

Es ist ein Gewürge …

XMPP

Ich habe meine Metadaten gerne unter Kontrolle und mir deswegen einen XMPP Server unter Prosody gegönnt. Hier einige Notizen rund um die Installation.

Basis

Prosody Paketquellen einbinden um von der trägen Paketverwaltung in den Ubuntu Repos unabhängig zu werden:

echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list

Den Key der Paketquelle holen und in APT werfen:

wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
sudo apt-get update

Prosody installieren:

apt-get install prosody

Einstellungen für den Benutzer prosody in /etc/passwd kontrollieren, der nur /bin/false als Shell erhalten darf:

prosody:x:113:121:Prosody XMPP Server,,,:/var/lib/prosody:/bin/false

Prosody Konfiguration anpassen – unter Lua ist ein doppeltes Minus ein Kommentarzeichen:

vi /etc/prosody/prosody.cfg.lua

Die Konfigurationsdatei ist gut strukturiert und weitgehend selbsterklärend, so dass beim Lesen kaum Fragen offen bleiben. Im Zweifel alle Restfragen über die sauber strukturierte Dokumentation bei https://prosody.im klären.

In der Konfiguration

  1. den Admin für den XMPP Server festlegen
  2. die Sektion Module durchsehen und z.B. version sowie uptime deaktivieren, damit wir nach Außen hin nicht gleich alle Angriffspunkte verraten.

Ebenfalls kontrollieren, ob Registrierungen über Clients abgelehnt werden. Das scheint nötig zu sein, damit man nicht mit Konten zugespamt wird:

allow_registration = false;

Wir wollen die Verbindung zwischen Client und Server Zwangsverschlüsseln:

c2s_require_encryption = true

Das geht im Prinzip auch für s2s (Server to Server) Verbindungen. Hier liegt auch der Grund, warum wir dringend OTR Verschlüsselung haben wollen, wenn wir nicht auf der eigenen Domain chatten.

Die Passwörter der Benutzer verschlüsselt speichern, auch wenn die Nebenwirkung ist, dass manche Clients länger brauchen, um sich anzumelden:

authentication = "internal_hashed"

SSL Key einbinden. Hierbei für Zwischenzertifikate ein PEM basteln wie für Dovecot und Freunde ebenfalls üblich.

ssl = {
        key = "/etc/prosody/certs/domain.key";
        certificate = "/etc/prosody/certs/domain.pem";
}

Siehe zu intermediären Zertifikaten auch: https://prosody.im/doc/certificates?s[]=pem#certificate_chains

Unser Zertifikatsspeicher für Prosody verwendet schlicht Symlinks, um sich die Arbeit einfacher zu machen, wenn Zertifikate erneuert werden:

ls -la /etc/prosody/certs/
# Zeigt dann:
domain.key -> /etc/path/to/certs/ssl/domain.tld/domain.key
domain.pem -> /etc/path/to/certs/ssl/mailserver/domain.pem

Die Hosts einrichten:

VirtualHost "xmppserver.tld"

-- enabled = false -- Remove this line to enable this host
ssl = {
              key = "/etc/prosody/certs/domain.key";
              certificate = "/etc/prosody/certs/domain.pem";
      }

Prosody neu starten:

sudo service prosody restart

Nach Fehlern suchen:

tail -f /var/log/prosody/prosody.err

Einen Fehler finden und wohl erst einmal schlicht hinnehmen:

The version of LuaExpat on your system does not support stanza size limits, which may leave servers on untrusted networks (e.g. the internet) vulnerable to denial-of-service attacks. You should upgrade to LuaExpat 1.3.0 or higher as soon as possible. See http://prosody.im/doc/depends#luaexpat for more information.

Siehe hierzu auch https://prosody.im/doc/depends#luaexpat und den Hinweis, dass man in diesem Fall auf compression verzichten sollte (das ist der Default).

Die Benutzer anlegen – den oben eingetragenen Admin hierbei nicht vergessen:

prosodyctl adduser admin@xmppserver.tld

Jetzt mit den ersten Clients eine Verbindung aufbauen und den Verbindungen zusehen, wie sie reinkommen:

tail -f /var/log/prosody/prosody.log

Einen Blick in den Benutzerkontenbereich werfen:

ls -la /var/lib/prosody/xmppserver.tld/accounts

Dort nachsehen, ob die *.dat Dateien auch wirklich nur verschlüsselte Passwörter enthalten.

Am Ende den gesamten Server auf den Prüfstand stellen: https://xmpp.net/

Sicherheit

Siehe zum folgenden Abschnitt: https://code.google.com/p/prosody-modules/wiki/mod_log_auth und auch https://jabber.lqdn.fr/securing-our-jabber-server-with-fail2ban-securisation-du-serveur-jabber-avec-fail2ban/

Im Modules Verzeichnis von Prosody ein weiteres Modul hinterlegen:

# /usr/lib/prosody/modules
wget http://prosody-modules.googlecode.com/hg/mod_log_auth/mod_log_auth.lua

Das Modul umbenennen, damit es läuft:

mv mod_log_auth.lua mod_auth_log.lua

Das Modul in der Konfiguration einschalten

# /etc/prosody/prosody.cfg.lua
"auth_log" -- Anbindung fuer fail2ban http://prosody-modules.googlecode.com/hg/mod_log_auth/mod_log_auth.lua

Prosody neu starten und kontrollieren, ob nun die Connects mitgeschrieben werden:

tail -f /var/log/syslog
tail -f /var/log/prosody/prosody.log

Einen Filter für fail2ban anlegen:

vi /etc/fail2ban/filter.d/prosody-auth.conf

Inhalt:

# Fail2Ban configuration file for prosody authentication
[Definition]
failregex = Failed authentication attempt \(not-authorized\) from IP: <HOST>
ignoreregex =

In der jail.local hinterlegen:

# XMPP
[prosody-auth]
enabled  = true
port     = 5223
filter   = prosody-auth
logpath  = /var/log/prosody/*.log
maxretry = 10

Die Dienste neu starten:

sudo service prosody restart
sudo service fail2ban restart

In Check_MK die Service discovery für den XMPP-Server-Host neu anschubsen, damit man auch dort sieht, was passiert.

Die nächsten Schritte: Für meine Schule muss das auch noch eingerichtet werden – dann allerdings mit LDAPs Anbindung, damit es jeder gleich nutzen kann und die Benutzerverwaltung einfacher wird.

Tunnelbau

Die OMD steht in der Schule hinter der Dom0, die für diesen Rechner gleichzeitig das Gateway ins Netz ist:

cat /proc/sys/net/ipv4/conf/eth0/forwarding 
cat /proc/sys/net/ipv4/conf/eth0/forwarding

Die Ausgabe muss jeweils 1 lauten.

Zwei iptables Regeln sorgen dafür, dass die Ports und der Traffic zur OMD durchgereicht werden:

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 9393 -j DNAT --to-destination 192.168.0.2:443
iptables -A FORWARD -p tcp -d 192.168.0.2 --dport 9393 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Ein Aufruf von https://domnullundgateway.tld:9393/checkmk/ sorgt so dafür, dass Anfragen an die OMD, die intern unter https://192.168.0.2 zu erreichen ist, weiter geleitet werden.

Damit man diese Regeln nicht immer wieder neu setzen muss, stehen sie in /etc/network/interfaces am Ende der Konfiguration der Netzwerkkarte eth0 jeweils nach einem up.

Warmtal

IMG_20150425_164422

Im Warmtal bei Langenenslingen befindet sich der Hohle Fels. Da wollte ich mal vorbei schauen, in der Hoffnung, hier eine der Selemannsküche vergleichbare Formation zu finden. War aber nix.

IMG_20150425_165852

Direkt im Warmtal liegt die Höhle nicht, sondern in einem kleinen Seitental und dort hinter viel Gebüsch verborgen.

IMG_20150425_170008

Und so richtig spannend ist sie auch nicht. Der Eingang ist evtl. 1,5m hoch und 4m breit. Von dort aus geht aus ca. 3m weit in eine schmucklose Halle, an deren Ende Verzweifelte versuchten, ein wenig mehr Länge mit einem Spaten zu gewinnen.

https://www.openstreetmap.org/#map=19/48.17040/9.34681

Wer länger graben würde, würde sicherlich noch ein wenig mehr Hohlraum finden – aber warum sich hier die Mühe machen?

Ich hab das Löchlein nun in OSM verortet und noch ein paar Wege dazu gepackt, ein paar andere der Realität angepasst und ein Naturschutzgebiet eingezeichnet, bei dem es wohl um Pflanzen auf extrem mageren Böden geht.

Arch Dovevot Postfix

Auf allen meinen Laptops schleppe ich eine Kopie des lokalen Mailservers meiner Workstation mit mir herum – inzwischen eine Mail-Sammlung die rund 7 Jahre zurück reicht und mehrere GB umfasst. Hier einige Notizen zur Installation von Dovecot und Postfix unter Arch für die ausschließlich lokale Nutzung. Sicherheit ist nur dadurch gegeben, dass dieser Mailserver von Außen nicht zu erreichen ist – auch weil noch eine Firewall die Zugriffe blockiert.

Die aktiven Zeilen in der /etc/postfix/main.cf

compatibility_level = 2
queue_directory = /var/spool/postfix
command_directory = /usr/bin
daemon_directory = /usr/lib/postfix/bin
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = localhost.localdomain
mydomain = localdomain
myorigin = $mydomain
inet_interfaces = localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks_style = host
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/postfix/aliases
alias_database = $alias_maps
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP $mail_name
debug_peer_level = 2
debugger_command =
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
	 ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/bin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
inet_protocols = ipv4
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Die aktiven Zeilen in der /etc/dovecot/dovecot.conf

ssl = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:~/Maildir
mail_privileged_group = mail
auth default {
      mechanisms = plain login
      passdb pam {
      }
      userdb passwd {
      }
      socket listen {
        client {
          # Assuming the default Postfix $queue_directory setting
          path = /var/spool/postfix/private/auth
          mode = 0660
          # Assuming the default Postfix user and group
          user = postfix
          group = postfix
        }
        # deliver and some other programs need also auth-master:
        #master {
        #  path = /var/run/dovecot/auth-master
        #  mode = 0600
        #}
      }
    }
protocol imap {
  mail_plugins = $mail_plugins autocreate
}

Damit die Anmeldung als lokaler Benutzer funktioniert, noch die /etc/pam.d/dovecot:

auth     required     pam_unix.so nullok
account  required     pam_unix.so

Man könnte nun die Dienste jeweils aktivieren

systemctl enable dovecot.service
systemctl enable postfix.service

und somit permanent auf den lokalen Mailserver zugreifen – muss man aber nicht. Da diese Konfiguration bei mir auf einem MSI Wind U 100 läuft, spare ich mir die Ressourcen lieber und starte den Mailserver per Bash-Script, wenn ich auf mein lokales Mail-Archiv wirklich zugreifen muss. So lange man den Server localhost.localdomain im Thunderbird nicht anklickt, funktioniert dieser ja auch so für alle anderen IMAP Konten – und wenn man aus Versehen doch klickt, dieser aber nicht gestartet wurde, dann motzt Thunderbird halt, dass der Server nicht zu erreichen sei.

Rossberghöhlensystem

rbh1

Die bei uns übliche Nebelhöhlen – Sommerrodelbahn – Rossberghöhlen-Tour für jüngere Besucher musste heute unser französischer Austauschschüler über sich ergehen lassen.

Ich finde den Rossberg auch heute noch [1, 2, 3] super. Das Rossberghöhlensystem mit den zwei im Binder benannten Höhlen (Rossberghöhle 1 und 2), einigen sehr schönen Dolinen, einer dritten Kleinhöhle und am gleichen Hang auch einigen Bohnerzgruben macht Lust auf mehr.

https://www.openstreetmap.org/#map=19/48.35469/9.17895

Ich habe heute versucht die Höhlen mit Hilfe von OSM Tracker genauer einzumessen. Irgendwie … am Ende habe ich das Gefühl, bei der Positionierung dann doch mehr geschätzt zu haben, als dass ich exakte Daten eingetragen hätte. Der Kontakt zu den Satelliten war relativ bescheiden – oder meine Hardware taugt nix.

Schön war es in der RBH 1 vor allem auch deswegen, weil die Sonne den Boden erhitzte und der Wasserdampf in Schwaden durch die Höhle zog. Sah richtig cool aus.

rbh3

Im Eingang zur kleinsten, von uns heute Rossberghöhle 3 genannten, Höhle am Hang steht ein Baum. Nach dem niedrigen Schlupf folgt eine kleine Halle, in der Kinder aufrecht stehen können.

rb-doline

Der gesamte der Sonnenmatte gegenüberliegende Hang bis vor zur Hardtstraße ist ein einziges Dolinenfeld. Teilweise wünscht man sich einen Spaten, weil der Geruch der Senken sehr stark an Höhle erinnert und viele kleine Spalten nach mehr Hohlraum dahinter aussehen.

rbh2

Der Einstiegsschacht in die RBH 2 verlangt nach einer Strickleiter. Seit viel zu vielen Jahren ist hier Ende für uns.

Bambus

Die Meldungen rund um Maas gewandeltes Verhältnis zur Vorratsdatenspeicherung gleichen sich. Entweder wird der schnelle Meinungswechsel seit Dezember hervor gehoben oder es steht die Umfallerpartei SPD ganz Allgemein im Zentrum. Es läuft darauf hinaus: Herrn Maas scheint seine Partei, seine Karriere oder ein Mit-mir-wird-es-nicht-ganz-so-schlimm wichtiger zu sein.

„Schade“ wäre bei diesem Thema nun das falsche Wort, auch wenn es wenigstens noch Verständnis dafür mitbringt, dass viele KritikerInnen wohl unter derart massivem Druck ebenfalls nicht bestehen würden.

Widerstandsfähigkeit ist es jedoch genau die Eigenschaft, die ich mir wünschen würde. Die Standhaftigkeit einer Frau Leutheuser-Schnarrenberger [1] gepaart mit ihrer Intelligenz und ihrem Einsatz für die Menschen- und Bürgerrechte kommt mir in den Sinn.

Ich fürchte: Auch was Diskriminierung und Verfolgung von Minderheiten, Krieg, Folter oder die Todesstrafe … angeht [2], würden jederzeit die gleichen Mechanismen greifen können. Heute. In Deutschland. Da hilft auch kein „das ist doch was ganz anderes“-Geheul, denn es ist Teil von uns, lieber mitzumachen, als für unsere Werte einzustehen und damit isoliert zu sein.

Maas ist eben auch nur Bambus.

PS: Ich habe Frau Leutheuser-Schnarrenberger deswegen heute eine Dankes-E-Mail geschrieben und den Landesverband von Herrn Maas auf CC genommen.

Erpfingen I

IMG_20150412_141357

Janis zwang ich heute von seiner Englisch und NWT-GFS ins Freie nach Erpfingen. Ich wollte mir das Guppenloch einmal näher ansehen. Wenn ein Hügel schon so heißt, dann muss es dort ja auch ein Loch zur Guppe geben.

Das gibt es auch. Aber leider passt da nicht jeder rein. Der Eingang ist ca. 30cm breit und verschlankt sich nach oben. Platz nach oben wäre ja genug vorhanden – ca. 3m hoch ist die Kluft am Eingang zur Höhle, nutzt aber nix. Wer sich wirklich hinein quälen will, muss sich auf die Seite legen und schlufen bzw. schlängeln. Selbst für den dürren Janis war da kein aufrechtes Weiterkommen möglich und für mich damit erst recht nicht. Ich sollte aber wieder hier her kommen, bevor der Bauch zu groß wird.

https://www.openstreetmap.org/#map=19/48.35988/9.18662

Auf dem Weg zur Guppenloch Höhle (der ganze Berg nennt sich so, da wird die Bezeichnung des Lochs im Guppenloch schwer) kamen wir noch an einer der Erpf-Quellen vorbei, die bei OSM nach fehlte.

https://www.openstreetmap.org/#map=19/48.35129/9.19190

Das im Binder erwähnte Brechlöchle ist das nicht. Ob es die eigentliche Erpfquelle ist – weiß ich nicht genau.

Die Geotop-DB und auch das PDF des Landkreises Reutlingen zu deren Geotopen machen klar: es handelt sich hier um das Brechlöchle – eine der intermittierenden Quellen der Erpf.

Muetesloch

CIMG5013

Heute wollte mal wieder keiner Löcher suchen – also bin ich allein auf die Alb zum Muetesloch / Heilenbergschacht / Ha[n]smutterlesgsta[n]k … Die Höhle war absolut perfekt in OSM eingemessen, wenn auch der Pfad zur Höhle auf Grund von Waldarbeiten nicht mehr zu erkennen ist.

CIMG5011

Das Einstiegsloch ist beeindruckend: Ich vermute 2m Breite und 3m Länge – groß genug, um den rund 8m entferntem Boden der Höhle etwas Licht zu gönnen. Dort sieht man vor allem Äste liegen – und nicht die in allen möglichen Quellen erwähnten Knochen 🙂

https://www.openstreetmap.org/#map=19/48.34016/9.18775

Die Geschichten rund um den Namen der Höhle – sofern nicht Heilenbergschacht verwendet wird – sind etwas verworren. Ich konnte nicht herausfinden, wie „Hans“ dazu gekommen ist. Muete verweist auf Muote / Muoti verweist auf Wodan oder Wotan … und letzten Endes handelt es sich wohl um die Vorstellung, dass aus diesem Loch irgendwelche bösen Geister steigen würden (Details sind zu finden in: Wilhelm Schneider, Die Erpfinger Höhle – ein vor- und frühgeschichtlicher Opferplatz, Tübingen, 1999 der selbst wiederum Walther Keinath und Hermann Fischer zitiert). Der Namensteil Gestank / Gestak wird immer wieder damit erklärt, dass hier die Menschen der Umgebung ihre Tierkadaver (oder auch Pestleichen) entsorgten. Bei der prallen Sonne heute roch es nur noch Wald, Harz, Moos und Gras.

Kobelhöhle

IMG_20150407_164815

Die Kobelhöhle über Stetten unter Hohlstein war weniger schwer zu finden. Sie ist am in der Geotop-DB angegebenen Ort.

Was dort allerdings nicht steht ist, dass es sich um eine Schachthöhle handelt.

IMG_20150407_164826

Geschätzte 10m geht es vom vergitterten Einstiegsloch aus abwärts. Was dann unten folgt … Binder (der zu dieser Höhle überhaupt keine Informationen vorhält) wie auch Geotop-DB schweigen sich hierzu aus.

https://www.openstreetmap.org/#map=19/48.32514/9.17023

Und damit ist das Loch im Wald erst einmal ein Fall für Einseiltechniker.