Kategorien-Archiv CRNET

VonChristian Rehkopf

Spamhaus spinnt wohl

Da hat eine von diesen DNS-Blacklisten doch tatsächlich das ganze /17er Provider-Netz auf eine Blacklist gesetzt, das sind 32.000 IP-Adressen. Nicht zu fassen. Dumm nur, das unser Netz darin liegt.

Naja, ist ja nicht das erste mal, das es falsche Positive gibt, und darum sollte man das auch nicht ungeprüft benutzen. Es gibt natürlich genug die das dennoch machen, die reden derzeit nicht mit uns.

Sollten Sie betroffen sein, unser Netz ist 212.53.159.0/24, also 212.53.159.0 – 212.53.159.255. Das sollte beim Empfänger auf die Whitelist.

Grundsätzlich sollte man diese DNS-Blacklists mit Vorsicht genießen, und sich nicht auf eine verlassen. Sinnvoll erscheint mir das nur, wenn man mindestens 3 unabhängige Blacklists benutzt und diese vergleicht, also 3 testen und erst blocken, wenn es 2 positive gibt. Meine Wahl wären Spamcop, Spamhaus und die Manitu-Liste. Aber wie gesagt, nur wenn mindestens 2 von 3 triggern.

Was gerade jetzt passiert ist, als wenn eine Bürgerwehr eine ganze Strasse sperrt, weil in einem Haus 2 Mieter eine zu laute Party feiern. Das ist auch technisch gesehen total 90th.

Ich weiss schon, warum ich das nicht benutze, sondern mich auf zuverlässigere Methoden verlasse.

Update 1.10.2013, 14:20

Hallo zusammen,

nachdem Spamhaus nach 24 h immer noch nicht reagiert hat, hab ich mich nun entschlossen, vorübergehend über einen anderen Server zu relayen. Sie müssen nichts dazu machen, das ist nur eine Info.

Mein Mailserver leitet den gesamten ausgehenden Verkehr nun über einen Zwischenserver weiter, den Artfiles (bei denen wir hosten und auch den Netzblock beziehen) uns zu diesem Zweck zur Verfügung gestellt hat, und der in einem anderen IP-Adressbereich steht.

Die SPF-Records aller Domains im DNS sind bereits angepasst, es sollten also keine Probleme auftreten.

 

VonChristian Rehkopf

TYPO3-Extension responsive_template

Eine sich anpassende Website mit TYPO3.

Bei WordPress schon fast normal, bei TYPO3 allerdings nicht: Websites, die Ihre Darstellung der entsprechenden Browserbreite anpassen, und zwar von einer angemessen Größe auf großen Monitoren, bis hin zu kleinen Handydisplays hochkant.. Die Extension „responsive_template“ soll das können. Als jemand, der die letzten Jahre mit „TemplaVoila“ und „Templates für Templavoila“ eine große Routine entwickelt hat, eine kleine Herausforderung.

Die erste Herausforderung war allerdings, ein leeres TYPO3 zu installieren, denn die derzeit aktuelle Version 4.7.14 läuft erstmal nicht. Erst mit manuellem Patch der localconf konnte man überhaupt das Backend aktivieren, aber das ist ein anderes Thema.

Die Extension „responsive_template“ lässt sich dann direkt über den Extension-manager installieren. Nach dem Aktivieren ist dann eine Rootpage anzulegen, ein Template zu erzeugen und wiederum über den Extension-Manager das Install-Script auszuführen.

Anschließend braucht man erstmal einige Seiten, vorzugsweise teilweise mit Unterseiten, und einen SYS-Folder für Footer und Slider. Die Slider kann man wiederum in einen SYS-Folder unterbringen, für den Footer brucht man eine Seite, damit man Zugriff auf die Spalten hat.

Über den Konstanten-Editor in den Template-Tools kann man dann recht einfach die Anpassungen vornehmen. Als wichtigstes sind hier zunächst die Seiten einzutragen, die Footer und Slider beherbergen, auch können hier Logo und (ganz wichtig:) eine eigene CSS-Datei verlinkt werden. Die beiden letztgenannten bringt man sinnvoller Weise im Fileadmin unter, damit diese beim Nächsten Update nicht verloren gehen.

Eine der Stärken dieser Extension sind die mitgelieferten Seitenvorlagen und das Page-Setup. Hier ist sonst bei „normaler“ Erstellung einer Seite relativ viel Zeit, Vorarbeit und Fachwissen notwendig, nun kann man direkt nach dem Konstanten-Editor im Seitenbaum Seiten anlegen und selbigen die verschiedenen Vorlagen zuweisen. Für diese „Basics“ musste man nicht eine Zeile TYPOSCRIPT tippen oder html-templates vorbereiten – ein unschätzbarer Vorteil auch für Einsteiger.

Wenn man dann ein paar Seiten angelegt und mit etwas Text befüllt hat (die Extension „Lorem Ipsum“ hift), kann man sich mal im Frontend umsehen. Die Seiten präsentieren sich schlicht, farblich fast neutral und sehr aufgeräumt – was ich persönlich besser finde, als die Farborgien von TTV, bei denen man ersteinmal 5 KB CSS produzieren muss, um es farbneutral zu bekommen.

Das Logo wird immer im Retina-Modus angezeigt, der Slider kann ungepatcht nur Bilder crossfaden, beides linkt immer auf die Startseite, falls zu einem Sliderimage keine andere Page-ID angegeben wurde. Die Dokumentation ist … sagen wir mal „sehr knapp“, aber ist ja auch nicht für Laien gemacht. Allerdings ist sie so knapp, das man vieles nur nur durch Ausprobieren herausbekommt.

Die Responsive-Funktion checkt den zur Verfügung stehenden Platz beim Aufruf. Eine Größenänderung während man sich auf einer Seite befindet, ist nur für den Slider Wirkungslos, aber der Rest der Seite skaliert wie erwartet, und auch das Menu blendet ab einer bestimmten Größe von Dropdown auf Select-Feld. Es werden ungepatcht im Dropdown-Menü 4 und im Selector 2 Ebenen Navigationstiefe unterstützt, wobei dich letztgenanntes auf die Einrückung bezieht, die Seiten sind verlinkt, als wären sie in der 2. Ebene.
Die Extension liefert aber „nur ein Leeres Blatt“ – jegliche gestalterischen Aktionen müssen auf die Fähigkeit der Anpassungen abgestimmt werden.

Die Extension „responsive_template“ unterstützt auch mehrsprachige Seiten (schon von Hause aus 3). Sie läuft unter den Versionen 2.7 und 6.1 von TYPO3 (Stand heute).

Insgesamt eine runde Sache, die eine gute Grundlage bildet, um Seiten aufzubauen. Der Autor selber hat die Grenzen dieser Lösung gut erkannt, die aber auch TYPO3 setzt.
Eine Extension, die man im Auge behalten sollte, wenn man gern eine TYPO3 Seite haben möchte, die auch direkt auf mobilen Endgeräten genutzt werden kann. Die Alternative sind sind nicht-skalierende Layouts, die durch Doppeltap auf die entsprechende zoomen, oder eine Erkennung des Gerätes mit jeweils eigenen CSS-Dateien für das Layout. Alles 3 Varianten, die in der Praxis üblich sind.

Gute Arbeit „klaus_ger“ 🙂 Wenn eine Website damit produktiv online geht, werd ich es auch explizit erwähnen.

VonChristian Rehkopf

Website testen mit wget – auf der Suche nach 404ern

Kaputte Links und fehlende Bilder bleiben bei einem Relaunch einer Website nicht aus – insbesondere dann nicht, wenn Großteile des Inhaltes direkt in die Datenbank übertragen wurden und ganz besonders nicht, wenn man zu allem Überfluss auch noch ein anders CMS nimmt als vorher.

Man braucht also einen Bericht, der einem die Fehler aufzeigt.

Nur bedingt hilfreich nach einem Umzug sind die Google Webmastertools, da diese nicht in Echtzeit funktionieren. Außerdem bekamen im vorliegenden Fall alle Blog-Beiträge neue Adressen und dann ist die Liste endlos.

Und ich mach so etwas gern am eigenen Rechner ohne externe Services.

Es gibt etliche Tools, um Websites komplett zu kopieren oder zum „offline-Browsing“ herunter zu laden, eines jedoch ist auf jedem Linux-Rechner schon von Hause aus an Bord, und zwar „wget“. Gibt es auch für OS-X.

Ich hab dazu in der Kosole mir auf dem Schreibtisch einen Ordner angelegt und bin hinein gewechselt. Das hat den Grund, daß ich dann weniger Pfade tippen muss und letztendlich nur einen Ordner wieder löschen muß.

Das Zusammengesteckte Kommando war dannwget -o result.txt -d -S -m -p https://www.crnet.de und ich brauchte nach Abschluß nur in der „results.txt“ nach “ 404 “ (man beachte die Leerzeichen) zu suchen.

Allerdings haben wir den debug-Modus einschalten müssen, damit wir sehen können, was der referrer war. Es ist ja nicht nur wichtig zu wissen, was nicht gefunden wird, sondern auch wie darauf verlinkt wird.

Das sah dann z.B. so aus:

---request begin---
GET /wp-content/themes/pindol/css/skins/red/images/menu_arrow.png HTTP/1.0
Referer: https://www.crnet.de/wp-content/themes/pindol/css/skins/red/images.css?ver=1.3
User-Agent: Wget/1.12 (darwin10.3.0)
Accept: */*
Host: www.crnet.de
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response... 
---response begin---
HTTP/1.1 404 Not Found

Es ist also von der Fundstelle etwas nach oben zu scrollen, um zu sehen, das ein Bild fehlt, welches zum Style gehört (Referer). Und da zeigt sich dann auch der Grund, warum wir das im Debug-Modus machen: wir brauchen in diesem Fall das verweisende Dokument.

Nach dem ersten Durchlauf über meine gesamte Website nach dem Umzug hatte ich 2 Bilder, die noch eingespielt werden mussten, und ca. 20 Stellen, bei denen ich die Änderung des Bildverweises im verweisenden Dokument vorgenommen habe.

Nun ist meine Website 404er-frei!

VonChristian Rehkopf

Begehrlichkeiten geweckt

Also mit so einer Resonanz auf meine neue Homepage hab ich nicht gerechnet!

Eine weitere Site stellen wir gerade um von TYPO3 auf WordPress und ich habe habe 3 weitere Anfragen von Kunden im Queue.
Danke für das Kompliment!

Allerdings fallen mir zwischen den beiden Systemen auch deutliche Unterschiede auf, so daß sich das Klientel für das eine oder andere langsam herauskristallisiert, aber dazu mach ich mal einen eigenen Bereich, wenn ich alle Infos zusammengetragen habe – vielleicht sogar mit einem Pro/Contra-Formular, welches Fragen in Bewertungen „konvertiert“.

Aber auch Google interessiert sich sehr für meine Website, das liegt sicherlich auch an den „eingereichten“ Sitemaps, die mit TYPO3 ja nie so funktioniert haben, wie man sich das gewünscht hat. Mit WP 3 Klicks und ab dafür. Nicht überbewerten! Wenn eine Seite gute Menüs hat, braucht man eigentlich keine Sitemaps, die erleichtern dem Googlebot die Arbeit lediglich.

Google ist sowieso so eine Sache für sich: da beschwert sich die Suchmaschine doch tatsächlich in den Webmaster-Tools, das es den Admin-Bereich nicht scannen darf. Woher weiss der das es den gibt? Da muss doch der Trackingcode über meinen Browser die Links verfolgt haben und dem Bot verraten haben, das es da noch mehr gibt. Naja, ich hab allen Bots nun verboten da rumzuschnüffeln und gesperrt ist es auch.

Aber Beeindruckend war es schon, was google auf meinen Seiten so veranstaltet hat:
Crawler Amok

VonChristian Rehkopf

TYPO3 und die Umlaute in Dateinamen

Die TYPO3-Installationen auf den Cloud-Accounts haben (bisher) keine Umlaute in Dateinamen unterstützt. Der alte Uploader hat Umlaute noch in die Mehrzeichen-Derivate gewandelt (z.B. ä wurde ae), mit dem Umschalten auf UTF-8 ist das entfallen.

Der Effekt: im TYPO3-Backend hat schon in der Dateiliste das Vorschaubild nicht funktioniert, die Dateien konnte man auch sonst nicht verwenden, sondern musste sie umbenennen oder mit anderem Dateinamen neu hochladen.

Gestern hatten wir (endlich) mal das Dateisystem und LOCALE-Settings auf UTF-8 umgestellt, und Umlaute in Dateinamen wurden dann auf der Konsole schonmal richtig angezeigt, aber eben nicht im Backend in der Dateiliste.

Das Artfiles-Support-Team hat herausgefunden, das man TYPO3 noch zwingen muss, die Locale-Settings auch in UTF-8 zu verwenden, auch wenn man schon Zeichensatz und Filesystem dahingehend gezwungen hat. Hier also der vollständige Patch für die localconf von TYPO3:

// UTF-8 Patch
$TYPO3_CONF_VARS['SYS']['UTF8filesystem'] = '1';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'.chr(10).'SET SESSION character_set_server=utf8;'.chr(10).'';
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
// Problem Umlaute
$TYPO3_CONF_VARS['SYS']['systemLocale'] = 'en_US.utf8';

Wirkt für mich irgendwie alles doppelt, aber was soll’s, Hauptsache funktioniert.

[one_second] Für CRNET-Kunden

Wenn Sie den Eintrag in der TYPO3-localconf nicht selber vornehmen können, machen wir das für Sie, kurze Nachricht genügt.[/one_second]

[one_second] Für alle anderen, die diesen Eintrag gefunden haben, weil sie die Problematik gegoogled haben: bitte vorher auf der Konsole die LOCALE-Settings überprüfen bzw. anpassen, sonst kann das ziemlich unangenehme Effekte haben.  Die System-locale-settings von typo sollten mit dem Server harmonieren.[/one_second]

 

VonChristian Rehkopf

CRNET testet

Erstens: #hashtags und was #facebook daraus macht
Zweitens: #tinydesk #WordPress App für #iPhone
Drittens: #twitterfeed mit neuem Setup auf dieser Homepage

Posted using Tinydesk blog app

VonChristian Rehkopf

Erstes Social Tool aktiviert: Facebook

Keine 24 Stunden ist es her, das ich die neue Website in Betrieb genommen habe, und schon hab ich den nächsten Schritt getan: Facebook connected.

Ich hab hierfür das original WordPress-Plugin von Facebook verwendet, und gleich mal die Feedback-Formulare unter den Posts auf Facebook geswitched. Außerdem sollte dieser Beitrag im Anschluss an die Veröffentlichung auch direkt in der CRNET-Timeline erscheinen – na da bin ich ja mal gespannt.

VonChristian Rehkopf

Wo sind die iPad Seiten?

Auf meiner „alten“ Homepage hatte ich eine Reihe von Seiten mit folgenden Titeln:

  • Mobiles Büro mit dem Apple iPad
    • Arbeiten am iPad: Office-style Anwendungen
    • VPN am iPad (auch iPhone): LPTP PPTP IPSec
    • Arbeiten durchs iPad: Remote Consolen für Windows und Linux
    • Telefonieren mit dem iPad

Diese Seiten hatte ich im Sommer 2010 erstellt, als das erste iPad gerade ein paar Monate zu haben war, und die Bewältigung der verschiedenen Arbeitsbereiche noch eine echte Herausforderung war, es nur wenige Apps in Apple’s AppStore gab und die allerwenigsten optimiert für’s iPad.

Schon 2012, als ich den VPN-Bereich neu machen wollte (damals gab es ein Update für die Fritz-Boxen, so das man mit iOS ab Version 5 darauf tunneln konnte) fiel mir auf, das alles komplett veraltet war und überholungswürdig.

Als ich in den vergangenen Tagen meine Homepage von TYPO3 auf WordPress umgezogen habe, so konnte ich zwar die News-Datenbank konvertieren, die Seiten allerdings musste ich neu machen und mit Copy&paste übertragen.

Die iPad-Seiten waren jedoch inzwischen so veraltet und inhaltlich auch inkorrekt, das sie nicht verdient haben, diesen Weg mit zu machen.
Sie sind im digitalen Nirvana gelandet.

Was aber immer noch stimmt:

Vodafone macht’s VPN kaputt

Vodafone verwendet in seinem UMTS-Netz einen Zwangsproxy. Das ist mir schon mal bei jemandem aufgefallen, der in einem DSL-freien Gebiet per Datenfunk online ist (über Vodafone), hatte mir aber über die Konsequenzen keine Gedanken gemacht.

Bei PPTP (L2TP natürlich ebenso) ist das aber das Herumfummeln an den Datenpaketen „tödlich“. Ergebnis: es war kein Problem über WiFi-Connect einen Tunnel ins Rechenzentrum einzurichten, jeglicher Test per 3G schlug aber fehl. Stutzig machte mich der Umstand, das am Server nicht ein Datenpaket in diesem Zusammenhang ankam.

Die Gegenprobe über einen IPSec-Tunnel eines Kollegen zeigt aber: das Problem tritt bei IPSec nicht auf.

VonChristian Rehkopf

Von TYPO3 zu WordPress

Rund 1 Woche hat es gedauert, meine Homepage von TYPO3 auf WordPress umzustellen. Also eine Woche im Sinne von Stunden einer Arbeitswoche, ich hab es in 3 Tagen im Akkord durchgezogen, wovon ich „einen Tag“ mit dem Slider für die Homepage gespielt habe.

Die Unterschiede zwischen TYPO3 und WordPress sind immens, denn beiden Systemen liegt eine vollkommen konträre Denkweise zu Grunde, dazu werde ich mal einen eigenen Artikel schreiben und die beiden Systeme aus meiner Sicht vergleichen. Alle Artikel, die ich zu dem Thema gelesen habe, zeugen von starken Präferenzen in die eine oder andere Richtung, die ich zum Teil nicht nachvollziehen kann.

Ich hab mich zum Wechsel aus 2 Gründen entschieden: erstens brauchte ich eine eine „lebende“ WordPress Installation, um echte Erfahrungen zu sammeln, zweitens ist meine Homepage doch eher Bloglastig (~180 Einträge) als Seitenlastig (~70 Seiten), und etliche Seiten hätten durchaus auch Blog-Einträge sein können.

Als nächstes steht die Anbindung von Twitter und Facebook auf dem Programm, ich möchte Diskussionen unter dem Blog gern per Facebook authentifizieren lassen – vielleicht auch durch andere Soziale Netzwerke, die Liste der Plugins und Möglichkeiten ist immens. Anfangen werde ich mit dem WordPress-Plugin von Facebook selbst, es gibt aber auch andere.

Soviel dazu – später mehr.

VonChristian Rehkopf

Last-Login Datum am Mailserver speichern

Mal wieder was technisches: um unbenutzte Mailkonten zu ermitteln speichern wir jetzt das Datum des letzten Logins3d human carry a big tool in hands

Ich bin in dieser Woche mal wieder mit Argusaugen durch die Systeme geschlichen, und dabei sind mir am Mailserver Mailboxen aufgefallen, die seit 11-2009 nicht benutzt wurden. Das Datum kann ich deshalb so genau spezifizieren, weil wir im Rahmen der Mailserver-Umstellung damals die vorhandenen Mails auf Dateiebene in die neuen Postfächer kopiert haben. Diese Dateien haben hatten ein bestimmtes Format, welches beim Zugriff auf das Mailkonto geändert wurde.

Ich musste also „nur“ diese alten Dateitypen suchen und hatte etliche „Karteileichen“ identifiziert – diese unbenutzten Postfächer habe ich samt Mailkonten entfernt (juhuu – 3 GB mehr freier Platz).

Jetzt gibt es aber auch sicher solche unbenutzten Postfächer, die erst später angelegt wurden oder gar Domains, die komplett nicht mehr bei uns gehostet werden. die bekommt man nur heraus, in dem man protokolliert, wann ein User sich zuletzt eingeloggt hatte.

Das speichert man sinnvoller Weise am besten in der Datenbank beim User-Datensatz, und kann dann nach ein paar Monaten mal nachsehen, wer sich nicht eingeloggt hatte, um dann weitere Prüfungen oder Schritte zu unternehmen (reaktivieren oder löschen).

Es ist kein Geheimnis, das wir (wie Google oder Apple) Dovecot verwenden, und der kann bei jedem Login eine Aktion ausführen – gezählte Logins haben wir am Tag knapp 100000, das war mir für ein Echtzeit-Logging zu „teuer“ im Hinblick auf Ressourcen, ich hab also einen einfacheren Weg gesucht: das Logfile vom Vortag sollte gut genug sein.

Dort sieht eine Login-Zeile so aus (User/IP verändert):

Jul 31 01:23:45 m12 dovecot: imap-login: Login: user=<max.mustermann>, method=CRAM-MD5, rip=1.23.45.67, lip=10.0.0.19, mpid=19338, TLS

Derartige Zeilen haben wir fast 100.000 in so einem 50 MB Logfile am Tag. Unsere Logfiles werden jeden Tag neu geschrieben, und die des Vortages bekommen das aktuelle Datum an den Dateinamen gehängt.

Wir wollen eine Ausgabe, in der die Namen mit einfachen Anführungsstrichen umgeben und mit Komma separiert in einer Zeile stehen, um diese dann dem SQL-Server in einer einzelnen Abfrage zu übergeben, damit der das Login-Datum aktualisiert.

Ich mach es kurz, das ist das Script:
#!/bin/bash
#datum in variable malen fuer Dateiname
UPDDATUM=$(date +%Y%m%d)
#daten zusammenklauben
USERLISTE=$(grep '\-login' /var/log/messages-${UPDDATUM}|awk '{ print $8 }'| grep 'user='|awk --field-separator '<' '{ print $2 }'|awk --field-separator '>' '{ print $1 }'|sort -u|sed "s/^/\'/;s/$/\',/"|tr -d '\n'|sed 's/,$/\n/')
#und in die DB schieben
psql -Umailserverbenutzer mailuserdb -c -q "UPDATE mail_users SET last_login = now() where name in(${USERLISTE}) ;"
exit

Es gibt nur 1 Zeile mit dem SQL-Kommando, und darüber 2 Zeilen zum Setzen der Variablen, von denen es die eine in sich hat. Wer im Detail wissen will, was da passiert, soll mich unten per facebook fragen.

Das Script wird täglich durch einen Cronjob gestartet, der nach dem Log-Rotate läuft und die Sache ist geritzt. (Passwort brauche ich hier nicht)

Jetzt kann man sagen „Das stimmt nicht, das Datum ist ja dann das von heute obwohl das Login gestern war!“  Stimmt fast, das Log wird um 3:00 Uhr früh getauscht, es sind also auch logins von heute drin, und die Unschärfe von einem Tag spielt bei unserem Zweck keine Rolle, denn wir schauen auf Zeiträume von Quartalen oder Semestern, und da ist mir ein Tag Toleranz nicht wichtig.