Joomla! 3.2 nun mit Versionskontrolle

joomla-logoTatsächlich kommen einige interessante Neuerungen mit der Version 3.2 von Joomla daher. Neben der Einführung einer Versionskontrolle sind insbesondere das Admin-Menue als auch die Theme-Verwaltung vereinfacht worden. Das Framework on Framework Konzept wurde konsequent integriert, um Entwicklern weitere Unterstützung zur Programmierung von Erweiterungen zur Hand zu geben. In Punkto Sicherheit nimmt die Zwei-Faktor Authentifizierung in Joomla! 3.2 Einzug.

SaaS Web bietet neben zahlreichen anderen Webanwendungen auch das freie Joomla!-CMS als SaaS Lösung an. Hier geht es zu den Website CMS.

WordPress: Auf der sicheren Seite mit SaaS Web

WordPress LogoEine im Juni erschienene Studie zur Sicherheit der meistgenutzten Content Management Systemen stellt fest, dass 80% der Einbrüche auf WordPress Systeme auf das Konto der PlugIns zu buchen ist, hauptsächlich aufgrund veralteter Versionen. Lediglich 20% sind auf das Core zurückzuführen. Aktuell berichtet Heise über großangelegte Phishingversuche auf WordPress Installationen.

SaaS Hosting mit SaaS Web: SaaS Web bietet den Rundum Service für das gehostete CMS: Monitoring, Backups und Updates/Upgrades. So braucht sich der Kunde keine Gedanken zu machen, ist aber dennoch gut bedient! Ein weiterer Vorteil für den Kunden liegt auf der Hand: mehr Zeit für das Wesentliche!

ownCloud Client Update

ownCloud LogoEndlich erhält der ownCloud Client die Fortschrittsanzeige für den Dateisync. Neben zahlreichen kleineren Updates wie z.B. Performance-Optimierungen und Bandbreitennutzung-Parameter wurde auch der Wizard verbessert und in mehreren Schritten aufgeteilt.

Hier geht es zu den Detailinformationen und hier zum Download.

PRISM, Tempora & Co.

Es lässt sich schwer verhindern, dass ausländische Nachrichtendienste ihre heimischen Dienstleister zur Kooperation bewegen. Eine einfache Lösung ist möglichst auf diese Dienste zu verzichten (Google, Yahoo, Amazon, Ebay, Facebook, etc). Damit ist das Problem natürlich nicht gelöst, aber doch wesentlich entschärft.

Zudem ist es sinnvoll eher kleine Anbieter als Partner zu beauftragen. Je zentraler Nachrichtendienste auf Daten zugreifen können, umso mehr werden sich diese drauf stürzen.

Verschlüsselung der Kommunikationskanäle (SSL/TLS) und der Daten sind weitere Maßnahmen, die konkret greifen. Es muss nicht zwingend die härteste sein; schon ein paar Tage oder Stunden zum Entschlüsseln macht das großangelegte Abhören bereits unmöglich, zumindest sind die ausgewerteten Daten dann häufig veraltet.

Schließlich sind es aber wir, die entscheiden wer/wie/wo Daten abhört etc. Wir, die Demokratie als oberstes Gebot sogar in ferne Länder mit Waffengewalt einführen, wir sollten entscheiden. Sollte es nicht der Fall sein, dann sind wir vielleicht doch nur eine Minderheit oder doch keine Demokratie.

Populäre Content Management Systeme vs. Sicherheit (WordPress, TYPO3, …)

BSI-LogoDie Sicherheit der meistgenutzten Web-CMS auf dem Prüfstand.

Die untersuchten Content Management Systeme sind: Drupal, Joomla!, Plone, TYPO3 und WordPress. Die Ergebnisse sind in den verschiedenen Angriffsmethoden unterteilt wie z. B. SQL Injection oder XSS (Cross-Site-Scripting).

Darstellung_Schwachstellentypen

Allgemein geht aus der Studie hervor, dass die Anwendungen recht sicher und die Update-Prozesse der Hersteller gut sind. Die Autoren empfehlen schließlich die Standardkonfiguration der eingesezten CMS anzupassen (z. B. Admin-Login ändern) und automatisiert Updates einzuspielen.

Hier können Sie die gesamte Studie runterladen.

Git Flow – Professionelles Arbeiten mit Git

gitflow

Git ist bereits ein hervorragendes Versionierungssystem mit dem gerade verteilte Teams sehr gut zusammen arbeiten können.

Man kann der Torte allerdings noch eine Kirsche verpassen in dem man Git Flow nachrüstet und somit eine wirklich professionelle Umgebung schafft. Mit Git Flow lassen sich verschiedene Branches automatisiert erstellen und mit vorgegeben Regeln wieder mergen.

So geht’s (wenn git bereits installiert ist):

– Git Flow installieren
– Git Bash öffnen und in das Repo wechseln

Git Flow für ein Repo aktivieren:
git flow init

Von einem Branch zum anderen wechselt man einfach mit:
git checkout [branch-name]

Beispiele:

  • Hotfix-Branch starten:
    git flow hotfix start [hotfix-branch-name]
  • Hotfix-Branch beenden:
    git flow hotfix finish [hotfix-branch-name]

Hotfix-Branches werden automatisch mit den master- und staging/developer-Branches gemerged. Der Feature-Branch wird mit dem staging/developer-Branch gemerged. Um anschließend online zu gehen, muss der Umweg über den Release-Branch gemacht werden, der dann mit dem master-Branch gemerged wird.

ownCloud 5 veröffentlicht!

ownCloud LogoownCloud 5 ist nun released worden und bringt zahlreiche Neuerungen mit: neues Design, neues Fotoalbum, … dazu sind wesentliche Funktionen verbessert worden wie die Dateifunktionen (löschen/wiederherstellen, Suchfunktion, Cache, ..) oder Features wie der Kalender und das Adressbuch.

ownCloud ist der (Open Source) Online Speicherplatz in der (eigenen) Cloud – eine konkrete Alternative zu Dropbox, Google Drive und wie sie alle heissen.

Bücher aus der Cloud

Endlich gibt es auch Konkurrenz zum Amazon Kindle!

Club Bertelsmann, Weltbild samt Hugendubel und Thalia haben sich mit der Telekom verbündet. Auf der gemeinsamen Plattform Tolino bieten die Buchhändler 300.000 E-Books über ein internetfähiges Lesegerät an.

Das neue Lesegerät sei technisch nicht nur gleichwertig zum Amazon-Kindle, sondern in einigen Details besser. Ein großer Vorteil sei, dass man nicht an einen bestimmten Händler gebunden sei. „Das ist ein Meilenstein im deutschen Buchhandel, auf den wir lange hingearbeitet haben. Jetzt haben wir ein offenes System für die gesamte Branche und ein kundenfreundliches dazu“, kommentiert Carel Halff, Vorsitzender der Weltbild-Geschäftsführung. Offen heißt, dass alle Händler aufgerufen sind, sich daran zu beteiligen. Zentral ist nur die Technik.


Ganzer Artikel auf FAZ Online

SaaS Web setzt nun auf Dedicated Private Cloud Infrastruktur

SaaS Web LogoSchon immer hat SaaS Web Skarlierbarkeit und hohe Erreichbarkeit mittels Virtaulisierung als Fokus gehabt.

Jetzt geht es eine Stufe nach oben: die Infrastruktur wird nach und nach auf VMware vSphere umgezogen und damit eine eigene Dedicated Private Cloud geschaffen. Die Außenanbindung beträgt 10 Gbit/s (redundant ausgelegt). Die Datastores sind ebenfalls redundant gehostet.

Die neue Hosting Plattform soll eine deutlich höhere Sicherheit bieten, sowohl in Bezug auf die Erreichbarkeit bei Lastspitzen als auch nach Ausfällen. Die Erreichbarkeit beträgt nun 99,99% im Jahresdurchschnitt.

Die gewonnene Flexibilität ist enorm, das System kann innerhalb weniger Minuten um das 100-fache an Kapazität erweitert werden (CPU/RAM/Storage); So können auch populäre/medienwirksame Webprojekte mühelos bedient werden.

ownCloud überzeugt Investoren – 2,5 Millionen Dollar für Weiterentwicklung

ownCloud, die Open Source Alternative zu Dropbox, Google Drive und Konsorten, hat eine wichtige Kapitalspritze in Höhe von 2,5 Millionen Dollar erhalten. ownCloud ist nicht nur eine freie Software, sie ermöglicht den Einsatz der Plattform beim Betreiber seiner Wahl bzw. auch on Premise in den eigenen vier Wänden. SaaS Web bietet Pakete für den Unternehmenseinsatz (siehe hier); für einen ersten Eindruck gibt es auch ein kostenloses Angebot.

Webserver NginX überholt Microsoft IIS in der November Netcraft Survey

Endlich ist es soweit, Nginx überholt Microsoft IIS in der weltweiten Statistik (Netcraft November 2012). Microsoft IIS Webserver fällt auf 11,53% und Aufsteiger Nginx klettert auf 11,78% Marktanteil. Apache bleibt unangefochten die absolute Nummer 1 mit 55,66%.

ownCloud 4.5.1 und neue Sync Clients (v. 1.1.1)

Wieder ein großer Schritt in die richtige Richtung! Mit Version 4.5 bzw. 4.5.1 kommen zahlreiche Verbesserungen wie eine optimierte Synchronisationsroutine, eine überarbeitete Dateiversionierung oder auch eine bessere Unterstützung externer Online-Speicher (Dropbox beispielsweise) via GUI. Es gibt auch Updates bei den Sync Clients (Windows, Mac, Linux, Android und iOS – letzteres kostet 0,99 € im Apple Store). Die Clients für Windows, Mac und Linux können hier runtergeladen werden, die mobilen Clients hier.

WordPress: Wirklich individuelle Navigation erstellen und der Walker_Nav_Menu Klasse

Es kommt immer wieder vor, dass eine Website-Navigation, nicht nur den Seitennamen anzeigen soll, sondern auch Informationen, die dazu gehören, wie zum Beispiel die Description oder das Seiten-Bild, oder was auch immer… Um die Kontrolle darüber zu bekommen, braucht man die Walker_Nav_Menu Klasse.

Vorgehensweise
In der functions.php folgenden Code eingeben, es entspricht dem WP-eigenen Code. Dort werden anschließend die gewünschten Änderungen durchgeführt.

class Custom_Walker extends Walker_Nav_Menu{

  function start_el(&$output, $item, $depth, $args){

    $classes = empty ( $item->classes ) ? array () : (array) $item->classes;
    $class_names = join(“ „, apply_filters(„nav_menu_css_class“, array_filter($classes), $item));

    ! empty ($class_names) and $class_names = “ class='“ . esc_attr($class_names) . „‚“;

    $output .= $indent . „<li id=’menu-item-“ . $item->ID . „‚“ . $value . $class_names . „>“;

    $attributes = „“;

    ! empty($item->attr_title) and $attributes .= “ title='“ . esc_attr($item->attr_title) . „‚“;
    ! empty($item->target) and $attributes .= “ target='“ . esc_attr($item->target) . „‚“;
    ! empty($item->xfn) and $attributes .= “ rel='“ . esc_attr($item->xfn) . „‚“;
    ! empty($item->url) and $attributes .= “ href='“ . esc_attr($item->url) . „‚“;

    $title = apply_filters(„the_title“, $item->title, $item->ID);

    $item_output = $args->before . „<a $attributes>“ . $args->link_before . $title . „$lt;/a> “ . $args->link_after. $args->after;

    // Since $output is called by reference we don’t need to return anything.
    $output .= apply_filters(„walker_nav_menu_start_el“, $item_output, $item, $depth, $args);
  }
}

Was wollen wir jetzt ändern? Zum Beispiel keine <ul><li>-Navigation sondern einfach <div> für die einzelnen Navigationselemente. Dazu das Artikelbild unterhalb, und die Description (aus dem Menue). Das sieht dann z. B. aus aus:

// Add these lines in order to fetch the additional information you wish to display

// We need the target page id in order to fetch the page image
$page = get_page_by_path(basename($item->url));
$page_id = $page->ID;
// We should check if there is an image set or not, but we are lazy for this example
$image_url = get_the_post_thumbnail( $page_id, ‚custom-image-preview‘ );
// Same thing for the description
$description = esc_attr( $item->description );

// Remove the li
// Instead of $item_output = $args->before . „<a $attributes>“ . $args->link_before . $title . „$lt;/a> “ . $args->link_after. $args->after;
$output .= „“;

// Change the output like you need it
$item_output = $args->before . „<div class=’container-main’><a $attributes>“ . $args->link_before . $title . „</a><div class=’page-image’>“ . $image_url . „</div><div class=’menu-page-description’>“ . $description . „</div></div> “ . $args->link_after. $args->after;

Damit es nun auch angezeigt wird, muss der Aufruf von wp_nav_menu modifiziert werden. Beispielsweise so:

wp_nav_menu( array( ‚theme_location‘ => ‚my-custom-navigation‘,
    ‚menu‘ => “,
    ‚container‘ => ’nav‘, // Auto wrap navigation in <nav> area
    ‚container_class‘ => FALSE,
    ‚container_id‘ => FALSE,
    ‚menu_class‘ => FALSE,
    ‚menu_id‘ => FALSE,
    ‚echo‘ => true,
    ‚fallback_cb‘ => ‚wp_page_menu‘,
    ‚before‘ => “,
    ‚after‘ => “,
    ‚link_before‘ => “,
    ‚link_after‘ => “,
    ‚items_wrap‘ => ‚%3$s‘, // Remove the ul container
    ‚depth‘ => 0,
    ‚walker‘ => new Custom_Walker ) );

ownCloud Updates: Core & App Clients

Das neue Update behebt zahlreiche kleine Fehler wie das Erinnern des Logins an der Weboberfläche oder das Teilen von Daten mit anderen Gruppen. Dazu kommen noch die Client Updates auf Version 1.0.3 mit denen sich die Daten auch auf dem Desktop verwalten lassen. Weitere Infos zum Update finden Sie hier. Die Sync Clients können hier runtergeladen werden.

ownCloud ist die Open Source Antwort auf Dropbox und kann von kundenfreundlichen (lokalen) Providern auch angeboten werden. SaaS Web bietet sowohl ein kostenfreies Paket an zum Testen als auch für den Unternehmenseinsatz.

ownCloud – Jetzt kostenlos ausprobieren

Jetzt kostenlos testen: 100 MB eigener privater Speicherplatz. Mit ownCloud können Sie beliebige Daten speichern und jederzeit von überall darauf zugreifen. Die Daten können (für den gewerblichen Einsatz) verschlüsselt abgelegt werden und bei Bedarf auch mit anderen geteilt werden.

ownCloud ist der Open Source Storage für jedermann. Zusätzlich zu dem wohlgestaltenen Webinterface kann ein Nutzer auch mit einem Sync-Client auf seine Daten zugreifen. Die Sync-Clients sind für die meisten Betriebssysteme erhältlich, namentlich Windows, Linuc, MacOS X und Android. Eine App für iOS ist in Entwicklung. Hier geht es zu den Sync Apps bzw. hier zum Android Download.

Zum ownCloud Angebot

OrganisedMinds – Weitere Verbesserungen und neue Features

Mit dem neuen Update profitieren die Nutzer von OrganisedMinds von zahlreichen Verbesserungen und auch zusätzlichen Funktionen. Unter anderem kann ein Nutzer nun im Arbeitsraum-Umschaltbereich per Drag and Drop Aktivitäten zwischen den Räumen bewegen. Es gibt auch die Möglichkeit, sich Berichte täglich zuschicken zu lassen, mit denen der Status der Aktivitäten in einem Blick erfasst werden kann.

Hier die Übersicht der Neuerungen:

  • Vereinfachte Navigation durch die Arbeitsbereiche
  • Erweiterte E-Mail-Benachrichtigungen und -Tagesbericht
  • Aktivitäten in eigenen Arbeitsräumen übernehmen
  • Neue Einladungsfunktion

Zum Produkt

ownCloud – der eigene Datenspeicher ganz privat

owncloud bietet die Möglichkeit, ganz einfach und bequem seine Daten auf einem virtuellen Laufwerk zu speichern und von überall zuzugreifen. Auch lassen sich Mediafiles direkt abspielen. Die Daten werden verschlüsselt abgespeichert und sind somit rein privat.

Hier ein ganz aktueller Beitrag auf dem Heise Newsticker zum Thema owncloud.

Das Produkt ist bei SaaS Web erhältlich, angefangen mit einem Speicherplatz von 5 GB und bis zu 3 Benutzer bis hin zu 200 GB und 20 Benutzern. Individuelle Konfigurationen sind auf Anfrage natürlich auch möglich.

Zum Produkt

Mage+ / Magento-Fork weg von Ebay!

Schön, dass die Community reagiert hat und nach vorne schaut. Nun ist die Magento 1.7.0 Version zu GitHub als Mage+ gewandert, mit dem Ziel einfacher neue Entwickler zu finden, die sich an dem Projekt beteiligen. Das ausführliche Statement zu dem Fork und dem Wechsel von SVN zu GIT kann hier nachgelesen werden: https://github.com/mageplus/mageplus/blob/master/README.md.

SaaS Web bereitet OrganisedMinds Angebot vor

Die prämierte und beliebte OrganisedMinds Business Collaboration Software gibt es demnächst bei SaaS Web. Allerdings wird es nicht nur das „Shared Cloud“ Angebot geben sondern auch dedizierte Umgebungen, für einzelne Unternehmen, die eine eigene Plattform wünschen. Zieldatum ist der 2. Mai.

Wie kann man automatisch verschlüsselte MySQL-Dumps erzeugen?

Jeder weiß, dass Backups wichtig sind — sei es ein Systemausfall oder man möchte einfach auf einen älteren Stand zurückgreifen, weil man einen Fehler gemacht hat.
Oft werden die Sicherungen durch Cron-Jobs erledigt. In den meisten Fällen jedoch wird ein einfacher Mysql-Dump erzeugt, ohne den Inhalt zu verschlüsseln.
In diesem Artikel beschreibe ich, wie man mit Hilfe von GPG Backups erstellen kann, ohne ein festgelegtes Passwort zu verwenden. Da es mehrere DB-Admins geben kann, die die Backups zurückspielen können, sollte jeder Admin, der berechtigt ist, mit seinem eigenen Passphrase das Backup wieder zurückspielen können.

#!/bin/bash

BACKUP_DIR=/var/backup/auto/mysql
DATE=$(date -I)
TARGET_DIR=$BACKUP_DIR/$DATE
mkdir -p $TARGET_DIR

DATABASES=$(mysql -uadmin -B -s -e“show databases;“)

for db in $DATABASES; do
TARGET=$TARGET_DIR/$db.sql.gz.gpg
echo -n dumping $db to $TARGET …
mysqldump -uadmin $db | gzip | gpg -rCAFEBABE -rAFFE4711 -rAFFEFACE -e – > $TARGET
if [ $PIPESTATUS -eq 0 ]; then echo OK; else echo ERROR; fi
done

Die Variable BACKUP_DIR gibt an, wo die Backups abgelegt werden sollen. Darunter wird ein Verzeichnis mit dem Datum in Form von JJJJ.MM.TT (date -I) angelegt, in dem die Dumps einzelner Datenbanken landen. Wer mehr als ein Backup pro Tag erzeugen will, kann dann diesen Befehl anpassen.

Beispielausgabe:


dumping mysql to /var/backup/auto/mysql/2012-04-06/mysql.sql.gz.gpg …OK
dumping test to /var/backup/auto/mysql/2012-04-06/test.sql.gz.gpg …OK

Was man bei diesem Script anpassen muss, sind die KEY/IDs der Empfänger, also wer die Daten später entschlüsseln darf. In diesem Beispiel sind drei Empfänger angegeben:

gpg -rCAFEBABE -rAFFE4711 -rAFFEFACE

Jeder Empfänger hat die Möglichkeit die Backupdateien zu entschlüsseln. GPG ermittelt den Key für den „Entschlüssler“ automatisch:

gpg -d mysql/2012-04-06/test.sql.gz.gpg | gunzip | head -n 5

You need a passphrase to unlock the secret key for
user: „XZY“
2048-bit ELG-E key, ID AFFEFACE, created…
Enter passphrase:

gpg: encrypted with 2048-bit RSA key, ID CAFEBABE…
gpg: encrypted with 2048-bit ELG-E key, ID AFFE4711…
gpg: encrypted with 2048-bit ELG-E key, ID AFFEFACE…

Die eigentliche Ausgabe erscheint dann in STDOUT:

-- MySQL dump 10.13 Distrib 5.1.56, for redhat-linux-gnu (x86_64)
--
-- Host: localhost Database: test
-- ------------------------------------------------------
-- Server version 5.1.56

Wer noch nicht viel mit GnuPG und MySQL-CLI zu tun hatte, sollte noch folgende Punkte beachten, bevor man das Beispiel ausführt:
– Keys aller Empfänger sollten vorher signiert/trusted sein, damit das Backup-Script nicht in den Interaktiv-Modus gerät
– Das Passwort für den Datenbankzugriff ist standardmäßig in der Datei ~/.my.cnf in der [client]-Sektion definiert

Viel Spaß beim Testen und Einbauen
C.

OpenStreetMap braucht Unterstützung

Nachdem ein Großteil der Kartendaten über Berlin aus der OSM Datenbank entfernt wurde, wird dringend Unterstützung gebraucht, um die fehlenden Daten zu ersetzen.

Hintergrund für das Problem ist wohl ein „Power-Mitglied“, das für diese Bereiche den Löwenanteil an Daten eingebracht hatte, diese aber selbst zum Teil unter der Creative Commons Lizenz importiert hatte und den Wechsel weder erlauben kann noch möchte. Schade ist jedenfalls, dass ein solches Projekt aufgrund von Lizenzgeschichten ins Strauchen kommt… das Nachsehen haben wieder mal die Nutzer…

Heise Artikel zu dem Thema

PS: das mit den fehlenden Daten ist zwar ein Aprilscherz – der Aufruf ist aber echt 🙂

Wie kann man die Integrität der installierten Dateien auf einem Debiansystem leicht überprüfen?

Wenn man Monitoringtools wie tripwire oder rkhunter verwendet, um Veränderungen von installieren Dateien zu überwachen, hat man das Problem, dass die Tools nicht erkennen, ob die Dateien durch ein reguläres Paketupgrade verändert oder durch einen Unbefugten manipuliert wurden.

Wenn z.B. rkhunter meldet, dass die Datei /usr/bin/ldd verändert wurde, muss man manuell nachschauen, ob die Prüfsumme der Datei dem neusten Stand des Debianpaktes entspricht.

Es gibt ein Tool names debsums, der diese Aufgabe erleichtert. Die Installation erfolgt mit:

# apt-get install debsums

Nachdem das Tool installiert ist, kann man die Überprüfung auf Paket-Ebene durchführen:

# debsums file
/usr/bin/file OK
/usr/share/bug/file/control OK
/usr/share/bug/file/presubj OK
/usr/share/doc/file/README.Debian OK
/usr/share/doc/file/README.gz OK
/usr/share/doc/file/changelog.Debian.gz OK
/usr/share/doc/file/changelog.gz OK
/usr/share/doc/file/copyright OK
/usr/share/lintian/overrides/file OK
/usr/share/man/man1/file.1.gz OK

aber nicht auf Dateiebene:

# debsums /usr/bin/ldd
debsums: invalid package name ‚/usr/bin/ldd‘

Man muss zuerst herausfinden, zu welchem Paket die Datei /usr/bin/ldd gehört.

# dpkg -S /usr/bin/ldd
libc-bin: /usr/bin/ldd

Damit man die Suche nicht jedes ausführen muss, hab ich ein kleines Shellscript geschrieben, der die diese Aufgabe übernimmt und mit den Ergebnissen debsums aufruft:

#!/bin/bash
EC=0
PKGS=$(dpkg -S „$@“ | awk -F‘:‘ ‚{print $1}‘ | sed -e ’s/, /\n/g‘ | sort | uniq)
for i in $PKGS; do
debsums „$i“ | grep -v OK
dec=$PIPESTATUS
echo -n „=== Package ‚$i‘ : “
if [ $dec -eq 0 ]; then echo OK; else echo MODIFIED; EC=$dec; fi
done
exit $EC

In diesem Beispiel habe ich das Skipt check-inst.sh genannt. Die Nutzung ist einfach:

# ./check-inst.sh /usr/bin/ldd
=== Package ‚libc-bin‘ : OK

Man kann das Skript mit mehreren Dateinamen aufrufen:

# ./check-inst.sh /usr/bin/file /usr/bin/ldd
=== Package ‚file‘ : OK
=== Package ‚libc-bin‘ : OK

Wenn man keinen absoluten Pfad verwendet bekommt man Suchergebnisse von installierten Paketen:

# ./check-inst.sh apache2
=== Package ‚apache2‘ : OK
=== Package ‚apache2.2-bin‘ : OK
=== Package ‚apache2.2-common‘ : OK
=== Package ‚apache2-doc‘ : OK
=== Package ‚apache2-mpm-prefork‘ : OK
=== Package ‚apache2-suexec‘ : OK
=== Package ‚apache2-utils‘ : OK
=== Package ‚bash-completion‘ : OK
=== Package ‚libapache2-mod-fcgid‘ : OK
=== Package ‚libapache2-mod-php5‘ : OK
=== Package ‚libapache2-mod-ruby‘ : OK
=== Package ‚libapache2-mod-suphp‘ : OK

Wenn die Ergebnisse OK sind, kann man mit ruhigem Gewissen sein Monitoringtool auf den neuen Stand bringen. Z.B. bei rkhunter:

# rkhunter –propupd –update

Hier ist eine Beispielausgabe, die die vom Benutzer modifizierten Dateien anzeigt:

# ./check-inst.sh /usr/bin/pear
/usr/bin/pear FAILED
/usr/bin/peardev FAILED
/usr/bin/pecl FAILED

/usr/share/php/pearcmd.php FAILED
/usr/share/php/peclcmd.php FAILED
=== Package ‚php-pear‘ : MODIFIED

Das Skript gibt den ExitCode 0 zurück, wenn alle Überprüfungen erfolgreich waren, ansonsten den Fehlercode des erst fehlgeschlagener Überprüfung. Dies ist nützlich, wenn man zunächst nur an ExitCode interessiert ist und die Fehlergebnisse von einer Logdatei auslesen möchte.

Viel Spaß beim Ausprobieren
C.

E-Mails signieren und verschlüsseln mit Enigmail und Thunderbird

Mit Enigmail kann man ohne großen Aufwand seine Mails signieren und/oder verschlüsseln (auch Attachments). Enigmail ist als Plug-In allerdings nur für Thunderbird und Seamonkey erhältlich und erfordert die Installation von GnuPG (http://www.gnupg.org/) bzw. Gpg4Win (http://www.gpg4win.org/). Hier ein kleines How-To wie man die Verschlüsselung in 5 Minuten einrichtet.

Bevor es los geht: in diesem Tutorial gehe ich davon aus, dass Sie bereits eine funktionierende Version von Thunderbird (mindestens Version 2) installiert haben. Auch behandelt dieses Tutorial nur die Einrichtung auf Windows (selbst nur mit Win7 Ultimate getestet). Für andere Plattformen sind die Besonderheiten allerdings größtenteils in Bezug auf die Installation von GnuPG/Gpg4Win beschränkt, daher sollte es nicht schwierig sein, diese Anleitung für MacOS X oder Linux zu nutzen. Die englischsprachige Dokumentation finden Sie hier: http://enigmail.mozdev.org/documentation/quickstart-ch1.php.html#id2487302. Obwohl in der offiziellen Dokumentation empfohlen wird GnuPG zu installieren, befasst sich diese Anletung mit der Nutzung von Gpg4Win.

  • Schritt 1: Gpg4Win installieren.
    Zuerst also die Software Gpg4Win runterladen und installieren. Beim Installieren, einfach die vorgegebenen Optionen und Pfade übernehmen. Ein Neustart des Rechners ist anschließend erforderlich.
  • Schritt 2: Mit Kleopatra ein Schlüsselpaar erzeugen.
    Gpg4Win bringt einige Tools mit, um zahlreiche individuelle Anpassungen zu ermöglichen. Sie starten jetzt Kleopatra – sollte in der Startleiste von Windows erscheinen, sonst unter „Alle Programme“ > „Gpg4Win“ > „Kleopatra“ auffindbar.
    Zum Erstellen eines Schlüsselpaares klicken Sie zunächst auf „Datei“ > „Neues Zertifikat“, und danach auf „Persönliches Open-PGP Schlüsselpaar erzeugen“. Wenn Sie selbst aussuchen wollen welches Verschlüsselungsverfahren genutzt werden soll, klicken Sie auf „Erweiterte Einstellungen“.

    • Schritt 2a: Erweiterte Einstellungen. Legen Sie die Verschlüsselungsmethode, die Nutzung des Zertifikates und die Gültigkeitsdauer fest. Beide Verfahren angebotene RSA und DSA (+Elgamal) sind gut,allgemein empfohlen wird doch offenbar häufiger DSA. Die Haken lassen Sie wie vorgeschlagen gesetzt, also zum Signieren und Verschlüsseln. Als Laufzeit sind 2 Jahre wie vorgeschlagen eine gute Auswahl.

    Sie klicken nun auf „weiter“ und schließlich auf „Schlüssel erzeugen“. Jetzt müssen Sie eine Passphrase eingeben, was nichts anderes als ein Passwort ist. Suchen Sie sich etwas kompliziertes aus, jedoch, woran Sie sich erinnern können… Am Besten sind Kombinationen aus Klein- und Großbuchstaben, Zahlen und Sonderzeichen. Die Länge Ihrer Passphrase sollte nicht weniger als 8 Zeichen betragen.

    • Schritt 2b: Öffentliche Schlüssel auf keys.gnupg.net ablegen. Sie können nur Ihren öffentlichen Schlüssel auf dem Community Server ablegen, wichtig für Kommunikationspartner, die so Ihre Identität prüfen können. Dort sind ggf. auch Informationen darüber zu finden, wie die Vertrauenskette um die gewünschte Identität aufgebaut ist.
  • Wenn Sie möchten können Sie nun auch eine Sicherung des kompletten Schlüsselpaares vornehmen (auf USB-Stick beispielsweise) oder den öffentlichen Schlüssel an Bekannte schicken.

  • Schritt 3: Enigmail Add-On installieren.
    Über „Extras“ > „Add-Ons“ gelangen Sie zu der Add-On Verwaltungsseite von Thunderbird. In dem Suchfeld oben geben Sie „Enigmail“ ein, wählen Sie das passende Suchergebnis aus und folgen dann den Instruktionen zum Installieren.
    • Schritt 3a: Enigmail konfigurieren. Die Standard-Einstellungen sind im Prinzip in Ordnung. Wenn Sie den Experten-Modus einschalten erscheinen alle verfügbaren Optionen, in verschiedenen Reitern angeordnet. Dort können Sie beispielsweise die Cachezeit der Passphrase definieren, uvm..

    Ein Neustart von Thunderbird ist zum Abschließen der Installation bzw. für die Inbetriebnahme von Enigmail erforderlich.

  • Schritt 4: E-Mails signieren und/oder verschlüsseln.
    Im Fenster zum Verfassen von neuen E-Mails einfach können Sie Auswählen, ob Sie signieren wollen oder verschlüsseln. Dazu selektieren Sie einfach die entsprechende Zeile im „OpenPGP“ Menue. Sonst ist alles wie gehabt. Das Add-On zeigt nun fortan an, wenn diese signiert oder verschlüsselt wurde, ob die Identität echt ist oder nicht. Auch lassen sich Informationen zu dem öffentlichen Schlüssel anzeigen.

Es ist jederzeit möglich nachträglich Anpassungen durchzuführen. In Thunderbird finden gibt es ein Menue „OpenPGP“ unter dem zahlreiche Optionen zur Verfügung stehen.

Wichtige Anmerkung: Enigmail hat noch einige Problemchen mit E-Mails, die in HTML geschrieben werden. Es wird geraten, das Verfassen der E-Mails in Thunderbird auf plain text zu ändern. Dazu gehen Sie einfach unter „Extras“ > „Konteneinstellungen“ > „Verfassen und Adressieren“ und entfernen den Haken bei „Nachrichten im HTML-Format verfassen“.

Mozilla Projekt Homepage: https://addons.mozilla.org/de/thunderbird/addon/enigmail/
Englischsprachige Dokumentation zu Gpg4Win: http://www.gpg4win.org/doc/en/gpg4win-compendium_11.html

PHP 5.4.0 released


Neben vielen kleinen Fixes und Verbesserungen, wurden folgende wesentliche Funktionen hinzugefügt:

  • Traits: Methode zur Wiederverwendung von Code

    Erläuterung: Traits ist ein Mechanismus zur Wiederverwendung von Code, der in Programmiersprachen mit einfacher Vererbung wie PHP verwendet wird. Ein Trait kann verwendet werden die Beschränkungen der einfachen Vererbung aufzuweichen indem er erlaubt, dass Mengen von Methoden frei in mehreren unabhängigen Klassen die in verschiedenen Klassenhierarchien stecken wiederzuverwenden. Die Semantik der Kombination von Traits und Klassen ist so definiert, dass die Komplexität reduziert wird und die üblichen Probleme vermeidet, die mit Mehrfachvererbung und Mixins in Verbindung gebracht werden.
    Ein Trait hat Ähnlichkeit mit einer Klasse ist aber nur dafür vorgesehen Funktionalität in einer feingranularen und konsistenten Art und Weise zu bündeln. Es ist nicht möglich einen Trait aleinstehend zu instantiieren. Es handelt sich um einn Zusatz zur traditionellen Vererbung und erlaubt horizolntale Komposition von Verhaltensweisen, d.h. die Verwendung von Klassenmethoden ohne Vererbung vorauszusetzen.

  • Built-in webserver für CLI (Command Line Interpreter)
  • Code wurde von alten „deprecated“ Funktionen gesäubert

Darüber hinaus soll PHP 5.4 deutlich leistungsfähiger sein, vor allem dank der verbesserten Zend Engine.

Es wurde auch einige Funktionen entfernt, die sich ggf. beim Upgrade durch mangelnde Kompatibilität bemerkbar machen könnten.

  • Register globals, magic quotes und safe mode wurden entfernt
  • break/continue $var Syntax wurde abgeschafft
  • allow_call_time_pass_reference wurde aus der php.in entfernt
  • default_charset ist jetzt UTF-8