Homematic xml api zugriff schützen

Benutzer der XML API auf der Homeatic Zentrale (CCU) hatten ziemlich sicher bereits die selbe Idee wie ich:  Unterwegs komfortabel die Heizung der Wohnung mit dem Handy zu regulieren. Problem ist jedoch die Sicherheit: Die XML API bietet keinerlei Authentifizierung an.  Der erste Versuch war das absichern mit VPN. Der Komfort bleibt hier jedoch etwas auf der Strecke, da man mit dem Handy immer zuerst eine VPN Verbindung nach Hause aufbauen muss. Einfacher geht es natürlich direkt per https (Dank DynDNS Dienst der FritzBox).

Die Autorisierung habe ich über einen Reverse Proxy  in Form von NGINX auf meiner qnap Nas realisiert. Dieser soll eine Passwort Abfrage vor die API setzen.  Anstelle einer NAS würde sich hier natürlich auch ein Raspberry PI anbieten. Längerfristig will ich zwar die CCU durch die NAS komplett ersetzen, dazu fehlt mir aber erst einmal die Zeit.

Was ist nun zu tun:

Über die APP Manager auf der Administrations- Oberfläche installiert man zuerst das NGINX Paket.  Nun verbindet man sich per SSH auf die NAS und wechselt dort in das NGINX Verzeichnis: /share/CACHEDEV1_DATA/.qpkg/Nginx/nginx. Direkt dort habe ich eine Passwort Datei mit dem Namen htpasswd angelegt (vim). Deren Inhalt ist eine Liste mit Usernamen und gehashten Passworte die auf diversen Websites oder mit dem Kommando htpasswd erzeugt werden können. Leider nur nicht direkt auf der Nas:

Der zweite Schritt ist nun die NGINX Konfiguration. Im Unterverzeichnis conf befindet sich die Datei nginx.conf.

In dieser gibt es einen Bereich der mit Server { eingeleitet wird.  Darin habe ich einen neunen location Bereich eingeleitet.

Wird die Adresse der nas anschließend gefolgt von /homeatic aufgerufen wird  NGINX die Anfrage an die CCU umleiten.

Wesentlich sind die Parameter auth_basic_user_file welcher den Pfad zur zuvor erstellen Passwortdatei enthält, charset um Zeichensatz Probleme mit der API zu lösen und proxy_pass welcher die Adresse der CCU im Lokalen Netzwerk angibt.

Zuletzt muss noch nginx auf der NAS neu gestartet werden. Was dazu der vorgesehene Weg ist habe ich nicht recherchiert. Ich habe ihn einfach gekillt und neu gestartet:

 

Fertig.

 

Check_MK vs Icinga?

Gestern auf dem Münchner Linux Stammtisch stand als Thema Monitoring auf dem Programm. Scheinbar so gut besucht wie nie, lauschten 62 Teilnehmer den Dozenten Mathias Kettner (mein Chef), der für Check_MK sprach, und Bernd Erk (von Netways), welcher Icinga 2 vorstellte.

Wie zu erwarten war, gab es natürlich eine Diskussion, welches Konzept das bessere ist. Einer der Diskussionspunkte war: “Ein Automatisches Discovery oder eine Manuelle bzw. CMDB gestützte Konfiguration?”

Klar, darüber kann man streiten. Discovery wurde als Argument für Check_MK gesehen, Manuelles Konfigurieren als Argument für Icinga. Was wohl aber gerne verdrängt wird: selbst der Manuelle Ansatz lässt sich mit Check_MK einfacher einrichten als mit Icinga. Statt mit dem Discovery zu arbeiten, kann man alle Checks auch manuell zuweisen. Ob man dies nun in Wato macht, in den Konfigurationsdateien, oder diese von einem externen Tool generieren lässt, kann man selbst entscheiden.

Link zu den Manual Checks
Link zu den Manual Checks in Wato

Einmal angeklickt, präsentieren sich die verschiedenen Check Typen:

Liste der Manual Checks in Wato
Unvollständige Liste der Manual Checks in Wato

Was ist nun aber der Vorteil, wenn man den manuellen Ansatz per Check_MK konfigurieren möchte? Die Regelbasierte Konfiguration:

Maske zum manuellen anlegen eines Checks
Maske zum manuellen Anlegen eines Checks

Statt einen Check “Explicit” einem Host zuweisen zu müssen, kann man alternativ dazu die frei definierb

aren “Host Tags” verwenden, oder auch einen Regulären Ausdruck (bei Verwendung einer Tilde am Anfang des Hostnamens wird der folgende String als regulärer Ausdruck behandelt).

Das Ganze findet sich dann wie folgt in den Konfigurationsfiles wieder:

Da es sich hier um Python handelt, ist es ein Leichtes, dies extern generieren zu lassen. Die Verwendung von Schleifen ist dadurch hier auch möglich.

Meine Meinung ist: Der Wunsch einer Manuellen Konfiguration ist weder ein Argument gegen Check_MK noch eines für Icinga.

Und jetzt nicht böse sein Bernd, du hast gestern gesagt: Die durchschnittliche Icinga Umgebung sind 10-20 Hosts. Bei Check_MK liegt sie (meine Erfahrung beim Consulting) etwas höher: zwischen 500 und 1000. Warum das so ist, konnte sich gestern sicher jeder denken :-)

Backup von OMD

Wer sich schon mal gefragt hat wie man seine OMD Installation sichern oder gar auf einen neuen Server übertragen kann,
der kann sich über ein neues Feature freuen welches Lars Michelsen letzte Woche in OMD eingebaut hat. Es handelt sich um eine Backup und Restore Funktion.

Backup

Sichert man innerhalb der Site reicht bereits,  das Kommando mit einem Zielpfad aufzurufen.

Als Root ist vor dem Backup Zielpfad nur die Angabe des Sitenamen nötig. Gibt man übrigens anstelle eines Zielpfades ein minus ein, wird das Backup auf STDOUT geschrieben.

Restore

Dieser klappt zur Zeit nur als root:

Hier kann man jetzt praktischerweise gleich noch einen neuen Sitenamen mit angeben.  Ersetzt man den Pfad hier mit einem minus,  liest das Kommando von STDIN.

Alle Fragen dazu beantwortet:

 

Lego Mindstorms EV3 mit python

Seit heute bin ich Besitzer eine Lego Mindstorms EV3 Sets. Das erste Modell war nach der Anleitung leicht gebaut und lies sich per IR auch schon steuern. Das Programmieren mit der von Lego mitgelieferten Software mit Click und Bunt ist jedoch nicht mein Fall.

Wer mich kennt weiß das ich inzwischen am liebsten in Python programmiere, und so wollte ich es beim EV3 auch haben. Glücklicherweise gibt es bei GitHub bereits ein Projekt was sich damit befasst. Alles was man braucht ist eine Micro SD Karte von mindestens 2GB. In der GitHub Readme findet sich der Link zu einem Image file, welches man nur noch mit dd if=python-ev3.img of=/dev/<sdcard device> bs=2M auf die SD Karte bannen muss.

Die SD Karte steckt man dann noch in den Brick und startet ihn. Was mich anfangs sehr irritiert hatte, auf dem LCD steht auch nach dem Booten noch der Start Bildschirm, trozdem kann man sich schon mit ssh root@10.0.1.1 und passwort: password verbinden.

Nach etwas suche im Internet habe ich sogar auch ein kleines Beispiel  Script gefunden und nach etwas Anpassung war mein erster Roboter fertig, der immerhin fahren kann, bei einem Hindernis dreht und das solange bis die Batterien leer sind, oder man den Taster betätigt.

Hier dann das Script dazu:

 

 

Babbel vs Busuu: Spanisch lernen.

Seit Mitte des Jahres 2013 bin ich Premium Mitglied bei Babbel. Mein Ziel bei der Anmeldung war Spanisch zu lernen. Babbel hat mir sehr gut gefallen und so habe ich auch bei sehr guten Spanisch Lektionen begonnen meine Spanisch Kenntnisse aufzubauen. Was mich störte war dann aber das Problem, das man mit den Android  Apps von Babbel  (damals) nichts weiter hatte als ein besseren Vokabel Trainer, während die Lektionen nur über die Homepage abrufbar waren.

So bin ich vor kurzem dann zu Busuu gestoßen. Noch am selben Tag habe ich auch dort eine Premium Mitgliedschaft abgeschlossen.

Die Pro’s und Kontras der beiden Dienste:

Bei Babbel gab es kurz nach meiner Anmeldung bei Busuu ein Redesign, in dessen Zuge auch die Android Apps angepasst wurde. Babbel wurde dadurch zu einer sehr aufgeräumten Seite. Die Spanisch Lektionen sind sehr qualitativ. Es gibt bei den Dialogen immer für jede Person einen eigenen Sprecher, auch gibt es einen sehr guten Wiederholmanager, der neu gelerntes regelmäßig wieder intelligent abfragt (Vergleichbar mit einer Lernkartei).

Busuu kann nicht mit der Lektions Qualität von Babbel mithalten. So gibt es bei  Dialogen teilweise nur einen Sprecher der mehrere Personen spricht.   Auch vermisse ich schmerzlich den Wiederholmanger. Busuu hat zwar viele Tests, aber bis ins Langzeit Gedächtnis schaffen es die Dinge so nicht. Dazu fehlt einfach die Wiederholung nach entsprechender Zeit. Als Premium Funktion kann man sich zwar  zu jeder Lektionen einen MP3 Podcast herunterladen. Leider ist dieser ohne Deutsche Übersetzung,  weshalb ich persönlich für mich nicht brauchbar finde.   Alles sieht auch ziemlich zusammengeschustert aus (Ein neues Design ist jedoch angekündigt).

Nach dem was ich bis jetzt geschrieben habe könnte man nun meinen Babbel ist empfehlenswert , und Busuu nicht?  So kann ich es dann aber leider nicht sagen. Ich verwende Babbel und Busuu  gleichzeitig.  Beide Dienste ergänzen sich in der Parxis ganz gut. Busuu hat da nämlich doch noch ein paar Vorteile: Es gibt eine große Community an Muttersprachler, mit denen zusammen man lernen kann. Die Lektionen sind so aufgebaut, das man an verschiedenen stellen mit Muttersprachlern kommunizieren muss um weiterzukommen. Und das ist etwas, was mir viel gebracht hat.  Auch ist bei Bussu der Aufbau der Lektionen einfacher: Erst schaut man sich die Vokabeln mit Beispiel Sätzen an,  dann kann man einen Dialog starten zu dem man Fragen beantworten muss. Jetzt folgt ein Text den man zum Thema verfasst welcher von Muttersprachlern korrigiert wird und dann ein Test zu den Vokabeln. Jeden Schritt kann man direkt wieder anwählen und Wiederholen.  Die Lektionen bei Babbel hingegen kann man nur als Ganzes machen. D.h. wenn mich nur der Grammatik Teil interessiert, muss ich trotzdem wieder durch die Abfragen der Vokabeln und weiteres durch.

Richtig schade ist bei Babbel, das man sehr gut Übersichten und Informationen im laufe der Lektion bekommt, die man anschließend aber dann nicht mehr zum nachlesen abrufen kann. Da hilft dann nur das Mitschreiben (Was dann aber, ich bin viel unterwegs, wieder etwas unpraktisch ist)

Und so verwende ich eben beide Dienste gleichzeitig. Keiner der beiden ist Perfekt, Babbel etwas perfekter und mit beidem zusammen erhöht sich die Abwechslung, was dem lernen ja auch zuträglich ist.

XMPP Clients für PC und unterwegs

Ausgelöst durch Tempora und Prism, war ich ja auf der Suche nach Alternativen für Cloud Dienste, um meine Daten nicht weiter grundsätzlich bei Anbietern über dem Teich ablegen zu müssen.

Über Sinn oder Unsinn solcher Aktionen kann man natürlich streiten. Klar, wer will kommt an die Daten weiter dran. Ich will aber wenigstens, dass es eben nicht einfach so von Haus aus ist.  Lange Rede, nun aber zum Thema.

Für die Kommunikation habe ich inzwischen beschlossen auf XMPP umzusatteln. Nur die Suche nach den passenden Clients hat sich etwas schwieriger gestaltet. Unter Android und Linux haben ich aber inzwischen ein paar durchprobiert und bin inzwischen pro Plattform bei einem Programm hängengeblieben.

Linux

Anfangs dachte ich noch, da kann ich weiter mein Pidgin hernehmen. Aber recht gleich stellt sich heraus, dass die grundsätzliche Unterstützung für XMPP zwar gegeben ist, aber nicht sehr weit entwickelt ist. So werden z.B. die Ressourcen nicht (außer informative Anzeige) unterstützt. Nicht besser sieht es bei Kopete aus. Glücklicherweise gibt es eine recht große Auswahl an Alternativen, die sich auf XMPP spezialisiert haben. Bei Gajim bin ich dann am Ende hängen geblieben. Er kann, was man so braucht, ist einfach und in Python geschrieben. Das hat mir dann auch sofort gefallen.

Am Wichtigsten war mir, dass ich direkt einzelne Ressourcen anschreiben kann, sprich direkt sagen: diese Nachricht soll jetzt am Handy herauskommen und nicht am PC. Zwischen mehreren Gajim-Clients wird auch schon automatisch mit TSL End-zu-end verschlüsselt, dann gibts natürlich noch OTR und GPG. Was auch sehr schön ist, dass man seine eigenen Ressourcen angezeigen kann und kann damit recht einfach schnell mal ein Passwort (mit OTR verschlüsselt) oder einen Link vom PC ans Handy senden.

Android

Unter Android bin ich inzwischen halbglücklick bei IM+. Warum dazu gleich mehr. Erstmal hatte ich aber Xabber. Soweit ist dieser ganz nett, auch ist er OpenSource und kostet nichts und beherrscht sogar OTR. Ganz zufrieden war ich anfangs zwar schon, in der Praxis war es dann aber etwas problematisch. Hauptproblem waren vor allem die Benachrichtigungen. So wurden diese Teilweise ohne Icon angezeigt und waren somit im Normalfall nicht zu sehen. Weiter dann noch das Problem, das sie bei dem Nexus 4 meiner Freundin immer erst dann erschienen sind, wenn man das Handy entsperrt hat. Und das erste was dann auch meiner Freundin gleich aufgefallen ist, hier kann man ja gar nicht so einfach WhatsApp like emotions und Bilder versenden. Deswegen musste natürlich eine Alternative her.

IM+

IM+ als kommerzieller Dienst ist mir dann auch schon gleich ins Auge gefallen. Hier musste ich zwar für die (werbefreie) App bezahlen, auch für den OTR Support (Was einmalig und auch nicht viel ist), dafür hat man dann auch eine Support Adresse die man bei Problemen befragen kann.

Dies habe ich auch schon gleich genutzt. Mein erstes Misstrauen war dann nämlich die Option, einen globalen, per Web abrufbaren Nachrichtenverlauf zu aktivieren. Da fragte ich mich natürlich gleich, ob da nicht etwa alle Daten gleich zu den IM+ Servern wandern. Und das tun sie, in jedem Fall. Der Support hat mir das aber ohne Umweg gleich erklärt. Sprich das es so ist, warum es so ist und was es mir bringt. Auch wenn nicht alle der Gründe bei XMPP relevant waren, global gesehen ist es logisch.

Also was passiert: Der IM+ Server fungiert als Proxy ins Jabber Netz. Mit Erlaubnis zitiere ich mal aus der Antwort:

Connection to Jabber server is proxied.
This means that connection goes through IM+ gate servers.
When you launch IM+ on your device and press «Connect» button, IM+ connects to its gate servers (first connection stage)
and then connects your account to the server of the specific messenger service (second connection stage).

We’re using this connection type as it has a lot of benefits, here are a few of them:
– application on device runs faster and data traffic is saved, New avatars and statuses are received not by IM+ application, but by our servers. Only the updates are sent to IM+, which means fewer amount of data to be transferred and processed.
– the size of application is smaller, because some functionalities are implemented on our servers instead of being included into the application.
– connection is not dropped when you leave WiFi area or when data network coverage is not sufficient;
– you may remain connected even when IM+ is not running;
– incoming messages can be delivered to device with Push even when IM+ is closed (which also saves you battery life);
– we’re able to fix connection issues without updating application.

IM+ uses SSL encryption for connection to our servers. On the second stage authentication and encryption depend on requirements of every specific messaging service and match them. IM+ servers are operated by SHAPE Services and we do our best to ensure this data cannot be intercepted by third parties at any stage.

Die Firma selbst sitzt in Stuttgart. Ihre Server stehen in Deutschland und Kanada. Was Traffic angeht haben sie auch deutlich Recht. Obwohl mein Xabber nur Online war, aber nicht weiter genutzt wurde, hat es mehr Traffic generiert als die IM+ App, über die ich Nachrichten ausgetauscht habe. Was man sich hier aber auch wieder bewusst sein muss: Der Client befindet sich dann (wenn man es nicht abstellt, was dann wieder mehr Daten und Energie kostet) im Push Modus, was dazu führt, dass die Nachrichten praktisch wieder über Google versendet werden. Zumindest aber kann man hier wieder einstellen, dass dies nur für die erste Nachricht der Konversation der Fall sein soll und nicht für die folgenden. Also schon mal ein Teilerfolg beim Thema Daten nicht komplett über den Teich schicken und trozdem noch paar Vorteile nutzten. Ganz glücklich bin ich also aber bei diesem Punkt noch nicht.

OTR

Was das Thema Verschlüsseln mit OTR angeht bin ich bis jetzt auch noch erst teilweise glücklich. Hier ergibt sich die Schwierigkeit, dass für jede Konversation neue Schlüssel ausgehandelt werden. Das führt nun aber zu dem Problem, dass, wenn die Kommunikation eben noch Handy zu Handy war, ich aber auf den PC wechseln will, ich OTR neustarten muss. Richtig problematisch ist das vorallem dann, wenn man nicht daran denkt. Steht noch eine verschlüsselte Konversation zwischen A und B, und B2 schreibt an A, kommt die Antwort von A bei B2 nur als verschlüsselter Text an, was A aber nicht mitbekommt. Macht B2 nun einen “restart” der Verschlüsselung, schaut man mit dem B Client dann aber in die Röhre. Der bekommt das nicht mit und man schreibt dann verschüsselten Text, der von A nicht mehr gelesen werden kann.

2) Kom­mu­ni­ka­tion (Whats­App, ICQ)

Nachdem ich mir aufgrund der Aufdeckung von Prism und Tempora nun Gedanken gemacht habe, wie ich meine Mails ab nun Handhaben werden, ist nun das Thema Instand Messaging dran. Speziell die von mir am meisten benutzte Dienste ICQ, WhatsApp und auch den Facebook Messenger. Auch ganz ohne das Abhören der NSA sollte man ICQ, WhatsApp und den Facebook Messenger nicht mehr nutzen. Ganze Webseiten widmen sich den Gründen. So möchte ich z.B. auf die Seite von Johannes Kayßer verweisen. Er zitiert aus den ICQ Nutzungsbedingungen:

Sie erklären sich damit einverstanden, dass sie beim Senden von jeglichem Material oder Informationen über irgendeine der ICQ Dienstleistungen das Urheberrecht sowie jegliche weiteren eigenen Rechte an dem gesendeten Material oder der gesendeten Informationen abtreten. Sie stimmen weiterhin zu, das die ICQ Inc. bemächtigt ist, gesendetes Material und gesendete Informationen nach eigenem Ermessen auf die Arten zu nutzen, die sie als angemessen erachtet, einschließlich dem Veröffentlichen oder Verteilen des Materials.

‘Nein Danke’, denke ich mir da (ähnlich schaut es übrigens auch bei MSN alias .Net Messenger aus.)

Beim Thema WhatsApp und Facebook Messenger ist es auch nicht besser. Ungeachtet der Sicherheitsprobleme bei WhatsApp, welche vor nicht allzu-langer Zeit durch die IT Presse gingen, gefällt mir der Gedanke nicht, dass jede Nachricht wieder über den Kanal muss, dass Facebook meine private Kommunikation speichert und auch WhatsApp alles mitbekommt. Auch wenn man jetzt denkt, ich schreibe doch eh nichts Geheimes, die Summe der Daten macht es aber aus. Vielen ist nicht bewusst, welche Informationen man allein aus Verkehrsdaten  ermitteln kann. Das nun auch noch in der Kombination mit allen Inhalten.

Alternativen

Das Hauptproblem nun bei der Suche nach Alternativen ist, dass alle eigentlich bei Facebook sind und das alle auch WhatsApp nutzen und man mit der Alternative recht alleine dasteht. Aber Punkt ist auch, dass man mal den Anfang machen muss und das will ich tun.

Die Alternative nennt sich XMPP (besser bekannt als Jabber). XMPP ist die Vision eines offenen Instand Messaging Dienst. Sehr schön beschrieben von Jan Vornberger.

Jabber ist vereinfacht ausgedrückt mehr wie E-Mail. Eine E-Mail kann ich an alle schreiben ohne das ich bei dem Anbieter des Empfängers angemeldet sein muss. Einfach ein offenes Protokoll. Auch so schaut es bei Jabber aus. Jeder kann praktisch einen Jabber Server betreiben und die Benutzer können trotzdem mit den Nutzern der anderen Servern kommunizieren, ganz wie bei E-Mail, nur eben als Messenger. Das bedeutet also Freiheit. Freiheit welchen Anbieter man verwenden will, genauso wie nebenbei auch die Freiheit aus einer Fülle von Jabber Clients zu wählen. Aber Jabber bietet sonst auch noch recht komfortable Konzepte. Zum einen kann auch weiterhin der Kontakt z.B. zu ICQ hergestellt werden, in dem der Server als Gateway in das ICQ Netz fungiert und zum anderen gibt es das Konzept der Ressourcen. Das gefällt mir sehr gut.

Was sind Ressourcen? Bei Jabber kann ich mit mehreren Clients gleichzeitig angemeldet sein. Bedeutet ich kann gleichzeitig mit dem Handy, mit dem Tablet und dem PC online sein. Jedes der Geräte bekommt einen Ressourcen-Namen. Über diesen kann es dann direkt angesprochen werden. Das bedeutet, der Gesprächspartner kann entscheiden, dass er dich z.B. nur auf dem Handy erreichen will anstelle das etwas an alle Geräte geht. Das kann so gelöst sein, dass sogar für jede Resource beim Gesprächspartner ein Chatfenster offen ist. Jetzt mag man fragen, was bringt das?

Ganz einfach, man kann damit recht gut die OTR Verschlüsslung verwenden. Bei dieser wird für jede Kommunikationssitzung ein eigener geheimer Schlüssel generiert. Das bedeutet dann, wenn die Gegenstelle zwischen z.B. Handy und Laptop wechseln müsste, würde das Ganze nicht mehr hinhauen. Der zwischen dem Handy und dem eigenen Client ausgehandelte Schlüssel ist dem Laptop natürlich nicht bekannt. Lege ich nun aber fest, dass dieses Chat-Fenster nur zur Ressource Handy geht kann ich das Problem vermeiden.

Leider ist es nun so, das die unter Linux verbreiteten Instant Message Clients die Ressourcen etwa gar nicht (Pidgin) oder nur sehr rudimentär (Kopete) unterstützen.  Zur Zeit bin ich also am Evaluieren von Alternativen für Linux (die aber ggf. auch unter Windows laufen) und Android.

Dem werde ich dann aber einen weiteren Artikel widmen.

Prism und Tempora

Tja, gewusst habe ich es schon immer. Aber das Ausmaß hat dann noch etwas schockiert. Alles wird von dem Amis abgehört und auch von den Briten mitgeschnitten.
Speziell das Mitschneiden der Seekabel durch die Briten hätte ich so nicht erwartet.

Ich muss sagen, ich bin beeindruckt. Man muss sich nur mal überlegen, welche Bandbreite die Verbindungen haben. Die gleich Bandbreite brauchen natürlich noch mal die Server des britischen Dienstes um das alles Mitzulesen.
Und dann liest man ja erst mit, die Daten sind jetzt noch nicht zu Hause im Rechenzentrum, in welches sie schätzungsweise gut verschlüsselt übertragen werden. Dort angekommen sollen sie dann auch noch gespeichert werden (einen Monat lang). Man überlege nun die unheimliche Menge an Daten, welche anfallen. Ausgewertet muss das Ganze jetzt ja auch noch werden. Die Nadel im Heuhaufen also.

Aber darum soll es hier nun nicht gehen.

Und nun?

Ich habe mir nun überlegt, was meine Reaktion auf das Ganze sein soll und wo vor allem meine private Daten liegen. Dann habe ich mir überlegt, wie schützenswert die Daten sind und wie ich damit umgehen soll. Habe dann alles wie folgt eingeteilt

  1. Mail (Google Apps)
  2. Kommunikation (WhatsApp, ICQ)
  3. Communities (Facebook, YouTube, Google+)
  4. Datensammler (Broswer, Internet Werbung)
  5. Android
  6. Cloud Dienste

1) Mail

Meine Mail-Kommunikation ging nun schon einige Zeit über Google Apps. Damit konnte ich vor allem meine eigene Domain gut nutzen, ohne die Verfügbarkeit eines eigenen Servers gewährleisten zu müssen und auch die minimalistische Weboberfläche hatte es mir angetan. Das Ganze dann auch noch optimal mit meinem Android Handy zu haben war nur das i Tüpfelchen.

Nun ist es so dass ich jede Mail, die bei mir ein und ausgeht, speichere (außer Newsletter). Schon seit 2001. Da kommt einiges zusammen. Über 20.000 Mails. Diese liegen, wenn man gmail benutzt, natürlich bei Google. Das war mir klar und damit konnte ich leben. Das amerikanische Dienste darauf nun aber ohne weiteres zugreifen können und die Briten jede Mail von Haus aus bereits mitlesen können, weil sie einmal über den Teich wandert, mag mir nicht gefallen. Deswegen mussten die Mails wieder auf einen deutschen Server.

Also habe ich meinen Web.de Account reaktiviert, den ich glaube, schon seit 1999 habe und dort wieder eine Club Mitgliedschaft abgeschlossen (die ich vor Jahren schon mal hatte, als der CLUB aufgemacht hat). Einiges hat sich dort getan. Die Oberfläche ist zwar nicht so schön aufgeräumt, aber was soll’s. Schmerzlich vermisse ich jedoch da eine Konversation-Ansicht.

Jetzt muss man es natürlich erst einmal schaffen mehr als 20.000 Mails umzuziehen. Das dachte ich, mache ich mir leicht. Nutze ich den POP3 Sammeldienst von web.de. Leider erkennt dieser meine Google Apps-Adresse nicht. Meine erste Idee war nun das alles über Thunderbird zu verschieben. Massenhaft doppelte Mails waren die Folge. Die kann man jedoch über eine Thunderbird-extension recht einfach wieder reparieren:  Remove Duplicate Messages.

Die Alternative war nun das Perl Script Imapsync, welches es bei GitHub kostenlos gibt und auch noch recht gut dokumentiert ist. Kurz musste ich da nur suchen, da ich die Google Mails in den Ordner ‘Archiv’ haben wollte. Das war aber dann recht einfach: –regextrans2 “s/(.*)/Archiv/”. Mit diesem Regex werden einfach die Zielordnernamen mit Archiv ersetzt.

Offenes Problem ist nun nur noch meine Domain. Bei Web.de kann ich diese so nicht einbinden. Zumindest habe ich nichts entsprechendes gefunden, werde dazu aber noch den Support befragen. Vorübergehend lass ich mir die Mails von Google erst einmal weiterleiten, was zwar wieder alles über den Teich schickt, aber das löse ich baldmöglichst.

Jetzt liegen aber die Mails zugänglich für deutsche Behörden, könnte man sagen. Ja stimmt, bedingt. Sie sind nun geschützt durch den Artikel 10 Grundgesetzt (G10). Ich kann darauf vertrauen, dass ohne richterliche Anordnung keine Behörde darauf zugreifen wird. Und das ist ok für mich.

Was auch noch bleibt, Mails werden natürlich weiter unverschlüsselt im Netzt übertragen. Damit kann ich in den meisten Fällen leben. Primar ging es mir um den Zugriff auf mein Konto. Sollte es doch mal wieder vertraulich sein, gibt es auch noch PGP. Meine Public Keys werden ich bald wieder verteilen. Auch unter “Über mich” werde ich diese ablegen.

VMware ESX Monitoring

Da ich oft die Frage bekomme wie man den mit Nagios VMware Hostsysteme oder vCenter überwachen kann, möchte ich kurz auf zwei YouTube Videos hinweisen die genau das Zeigen.

Die Videos zeigen das ESX Monitoring nach einer komplett frischen Installation von  OMD. Die Performance der Abfrage ist im vergleich der klassischen Wege mit dem manuell konfigurierten Checks nahezu   perfekt. In zwischen 5 und 30 Sekunden pro Anfrage werden komplett ALLE Informationen vom ESX System abgefragt und dann über die Check_MK Piggyback funktion automatisch im  Monitoring verteilt. Aber das sieht man gleich in den beiden Videos :)

Die Videos können beide wenn es die Internetverbindung zulässt in HD betrachtet werden.

Website auf Einbruch überwachen (mit Check_MK)

Im Nagios Portal hat Jörg Linge ein recht Nettes Script gezeigt mit welchem er einen WordPress blog darauf überwacht, ob Manipulationen stattgefunden haben. Als Basis benutzt er hierzu Git und checkt dann ob das Repository sauber ist (working directory clean). Das ist es nämlich immer dann nicht, wenn Dateien veränder oder hinzugefügt wurden ohne dies zu commite.

Für mein Monitoring habe ich das ganze nun etwas angepasst, so das es einerseits als Check_MK local Check funktioniert, andererseits dann noch über ein Konfigurationsfile eingestellt werden kann und zuletzt noch die neue Piggybag Funktion aus Check_MK (ab 1.2.3i1) nutzt, welche es ermöglicht in der Agenten Ausgabe eines Hosts Huckepack Daten für einen mitzubringen.

Also zuerst mal die Konfigurationsfile, welche nach /etc/check_mk/git.cfg muss:

Diese Konfiguration setzt nun voraus das es im Monitoring  Hosts mit den Namen nagios_host1 sowie anderer_host gibt. Ansonsten folgt ein (pro host eindeutiger) Servicenamen und der Pfad zur Seite mit dem Git welche überwacht werden soll.

Der Check selbst muss nach /usr/lib/check_mk_agent/local

Und einfach ausführbar sein.

Jetzt Inventarisiert man erst den Host welcher den Agenten ausführt, dann nagios_host1 und anderer_host und schon haben die beiden im Blick ob etwas manipuliert wurde.