seeseekey.net - Invictus Deus Ex Machina

Wenn man einen OpenVPN-Server in der Standardkonfiguration betreibt, wird man sich unter Umständen wundern, an welcher Stelle ist das OpenVPN Log zu finden ist. Das liegt daran das der OpenVPN-Server das ganze in /var/log/syslog speichert. Möchte man nun die OpenVPN betreffenden Punkte filtern so sollte man auf der Konsole folgendes eingeben:

grep VPN /var/log/syslog

Alternativ kann man auch die OpenVPN-Konfiguration anpassen. Dazu muss die Datei /etc/openvpn/server.conf bearbeitet werden. Dort gibt es eine Option log-append, welche wie folgt angepasst wird:

log-append /var/log/openvpn.log

Nach einem Neustart des Service mittels:

service openvpn restart

wird die neu eingestellte Logdatei genutzt.

Unter Ubuntu gibt es neben den halbjährlichen Versionen auch solche welche über einen längeren Zeitraum unterstützt werden. Diese sogenannten Long Term Releases erscheinen dabei alle zwei Jahre und werden fünf Jahre lang unterstützt. Bei Ubuntu kann man das System nun so konfigurieren das nur LTS Versionen oder jedes Release zum Upgrade angeboten wird. Möchte man diese Einstellung ändern, so muss man im Terminal:

nano /etc/update-manager/release-upgrades

eingeben. Im Editor öffnet sich dann folgende Datei:

# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
#  never  - Never check for a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the release that immediately succeeds the currently-running
#           release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that this option should not be
#           used if the currently-running release is not itself an LTS
#           release, since in that case the upgrader won't be able to
#           determine if a newer release is available.
Prompt=lts

Dort kann man unter Prompt die gewünschte Einstellung festlegen und bekommt damit vom System nur noch Hinweise wenn die gewünschten Versionen erscheinen.

Vor ein paar Tagen ist eine neue Version des freien Emulatorpaketes OpenEmu erschienen. Neben neuen Lokalisationen für Deutsch, Spanisch und Portugiesisch, wurde auch die Unterstützung für das Atari 2600 System hinzugefügt. Daneben wurden einige neue Shader hinzugefügt, viele Fehler beseitigt und das Sparkle Framework auf eine Version mit Mac OS X 10.10 Support aktualisiert.

Die Nutzeroberfläche von OpenEmu

OpenEmu ist freie Software und unter der GPL2 lizenziert. Bezogen werden kann OpenEmu auf der offiziellen Webseite. Der Quelltext für OpenEmu, das SDK und die entsprechenden Cores sind auf GitHub zu finden.

In einem modernen Browser findet man mittlerweile Techniken wie HTML5 und WebGL welche die Möglichkeiten der Webprogrammierung erheblich erweitern. So findet man nicht nur einfach gestrickte Webapplikationen im Netz, sondern auch anspruchsvolle Spiele, welche von Möglichkeiten von WebGL und Co. Gebrauch machen.

HexGL in Aktion

Eines dieser Spiele ist HexGL. Es handelt sich dabei um ein futuristisches Rennspiel, welches von F-Zero und Wipeout inspiriert ist. Der Quelltext für das Spiel ist dabei auf GitHub zu finden. Aktuell ist er unter der Creative Commons Lizenz BY-NC lizenziert und damit eher Freeware als freie Software. Allerdings hat der Autor eine späteren Lizenzwechsel zur MIT-Lizenz in Aussicht gestellt. Ausprobiert werden kann das Spiel auf der offiziellen Seite.

Für einen Server hatte ich vor einigen Tagen unter Ubuntu 14.04 LTS eine Netzwerkbrücke eingerichtet. Die /etc/network/interfaces Datei sah danach in etwa so aus:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet dhcp
bridge_ports eth0

Nach einem Neustart gab es dann allerdings ein Problem. Der Server war nicht mehr erreichbar. Der Grund dafür war simpel — es fehlte das Paket bridge-utils — nach der Installation desselben mittels:

apt-get install bridge-utils

funktionierte die Netzwerkbrücke wieder ohne Probleme.

Wer auf der Suche nach einem leichtgewichtigen Bildbetrachter für Mac OS X ist, sollte sich Xee in der Version 2 anschauen. Es gibt auch eine Version 3 — allerdings handelt es sich bei dieser mittlerweile um proprietäre Software — so das man mit der Version 2 vorlieb nehmen muss, dessen Entwicklung 2011 eingestellt wurde.

Xee mit einem geöffneten Bild

Trotzdem funktioniert die Anwendung unter anderem unter Mac OS X 10.10 (Yosemite) und so kann man ohne Probleme ganze Ordner anschauen. Die eingebaute Vorschau unter Mac OS X ist bei diesem Anwendungsfall etwas umständlich zu bedienen, so das man hier Xee den Vortritt lassen sollte. Zu finden ist das Projekt auf Google Code. Der Quellcode ist unter der New BSD Licence lizenziert — damit ist Xee in der Version 2 freie Software.

Wer sich gerne ab und an die Sterne anschaut und der Astronomie nicht abgeneigt ist, sollte sich die freie Software Celestia anschauen. Bei dieser Software handelt um eine 3D-Simulation des bekannten Universums. Im Gegensatz zu vielen anderen Astronomieprogrammen kann man sich bei Celestia frei im Raum bewegen. Über hunderttausend Sterne sind in der Datenbank von Celestia zu finden.

Celestia unter Windows.

Celestia kann auf der offiziellen Seite für Linux, Mac OS X und Windows bezogen werden. Lizenziert ist Celestia unter der GPL. Der Quelltext ist auf SourceForge zu finden.

Möchte man Testen ob man vom Shellshock-Fehler betroffen ist, gibt man auf der Konsole folgendes ein:

env x="() { :;} ; echo Anfällig für Shellshock" /bin/sh -c "echo Shellshock-Test"

Wenn man betroffen ist gibt diese Kommandozeile:

Anfällig für Shellshock
Shellshock-Test

aus. Ist man nicht betroffen erhält man folgende Ausgabe:

Shellshock-Test

Versuche Shellshock von Außen zu nutzen kann man feststellen indem man seine Logdateien nach diesem Beispiel:

cat logfile.log | grep };

abgrast. Bei einem Webserver Log könnte das ganze dann z.B. so aussehen:

192.168.1.15 - - [27/Sep/2014:19:32:19 +0200] "GET / HTTP/1.1" 200 18804 "-" "() { foo;};echo;/bin/cat /etc/passwd"

Alternativ kann man ein Skript nutzen, welches von einem Golem Autor erstellt wurde. Der Quelltext für das Skript ist dabei auf GitHub zu finden.

Bedingt durch unseren Hackerspace den wir in Neubrandenburg betreiben, habe ich mich die letzten Tage etwas intensiver mit dem Thema Freifunk beschäftigt. Wir wollten dabei einen Router mit DSL-Modem an das Freifunknetz anschließen. Die Vorstellungen die man davon hat sind am Anfang meist etwas diffus. Meine Anfangsvorstellung war das es einen Verein Freifunk e.V. gibt, der einen mit Rat und Tat zur Seite steht. Also wenn man Freifunker werden möchte, besucht man die Webseite, dort findet man dann die drei Punkte:

  • Welches Gerät muss ich kaufen?
  • Wo finde ich die Software?
  • Wir regeln den Rest.

Ganz so einfach ist es allerdings nicht. So bewegte ich mich auf der Suche nach Informationen quer durch die Webseite freifunk.net. Dabei wurde ich öfter als mir lieb war von 404-Meldungen des Webservers überrascht. Viele Informationen sind einfach nicht da wo man sie erwartet und so wird das ganze zur Suche der Nadel im Heuhaufen. Im Worum geht’s?–Video klingt das ganze noch einfach und blumig.

Damit wir nun etwas Klarheit in die Dunkelheit bringen, fangen wir mit der Organisationstruktur der Freifunk-Community an. Einmal gibt es da den Förderverein Freie Netzwerke e. V. welcher auch die Domain freifunk.net betreut. Auf der Webseite wird die Tätigkeit des Vereines wie folgt beschrieben:

Der Verein konzentriert sich auf die finanzielle und ideelle Förderung von Projekten zu offenen und freien Kommunikationsinfrastrukturen. Die Mitarbeit im Verein und des Vorstands erfolgt ehrenamtlich. Er ist finanzieller und rechtlicher Hauptträger des Projekts freifunk.net, der Kampagne freifunkstattangst.de sowie weiterer Projekte und Webseiten lokaler Freifunk Communities in Deutschland.

Es geht darum über den Förderverein Geld einzusammeln, um es in die Projekte der Communities zu stecken. Darüber hinaus fungiert der Förderverein als juristische Person für den Providerstatus und als Vertragspartner bei Veranstaltungen, Förderprojekten, für Installations-Standorte, etc

Die lokalen Freifunk-Communities selbst möchten an ihrem Standort dezentrale Mesh-Netzwerke aufbauen. Dabei wird Freifunk gerne auf die Formel Gratis-WLAN mit Internetanbindung reduziert. Wenn man es aber genau betrachtet, ist das nur ein netter Nebeneffekt. Genauer wird das ganze in der Vision erklärt. Dort wird eine zentrale Fragen an den Interessenten gestellt:

Wie wäre es, wenn auch online jeder mit jedem kommunizieren könnte, ohne eine Firma bei der man sich anmelden müsste?

welche sehr gut beschreibt, warum die Freifunker das tun was sie tun. Doch wie fängt man an? Neben der rechtlichen Form (z.B. ein gemeinnütziger Verein) die man sich als lokale Community geben kann, gibt es viel profanere Probleme, welche es zu lösen gilt.

Ein Freifunk-Router (CC-BY / Jens Ohlig)

Bevor man sich mit der Hardware beschäftigen kann, muss man sich erst mit der Software — in diesem Fall der Firmware — beschäftigen. Schließlich muss eine kompatible Firmware für die gewünschte Hardware gefunden werden. Die Anzahl der Firmware-Varianten ist dabei vor allem für den Einsteiger erst einmal unüberschaubar. Man bekommt das Gefühl das jede lokale Community ihre eigene Firmware-Version nutzt. Als Einsteiger möchte man hier mehr an die Hand genommen werden.

Die Firmwares unterscheiden sich dabei nicht nur durch die unterschiedlichen Features, sondern auch durch die verwendeten Routing-Protokolle zum Aufbau eines Mesh-Netzwerkes. So gibt es Firmwares welche OLSR nutzen, andere wiederum nutzen B.A.T.M.A.N. Bei der Gründung einer neuen Community muss man sich also überlegen welches Routingprotokoll man einsetzen möchte. Schließlich müssen die anderen Router mit dem selben Protokoll betrieben werden.

Die Basis der meisten, wenn nicht aller Freifunk-Firmwares ist dabei OpenWrt. Dabei handelt es sich um eine Linux basierende Distribution für kleinere Embedded Devices — welche vor allem für Router genutzt wird. Die Geschichte von OpenWrt begann dabei mit dem Linksys WRT54G, dessen Quelltext von Linksys herausgegeben werden musste da er GPL Teile (Linux) nutzte. Wenn man also nach einer passenden Hardware für Freifunk sucht, muss man sich anschauen welche Hardware von OpenWrt unterstützt wird. Dazu gibt es in der OpenWrt Wiki eine Table of Hardware und einen Einkaufsratgeber. Auch gibt es Möglichkeiten einen Preisvergleich für Router mit WLAN und für Router mit WLAN und Modem durchzuführen. Dabei werden nur Geräte berücksichtigt, welche OpenWrt unterstützen. Aus diesen Geräten muss man nun ein Gerät auswählen, welches den gewünschten Ansprüchen entspricht.

Nach der Geräteauswahl, erfolgt die Auswahl der Firmware, schließlich muss der Router mit einer passenden Software bespielt werden. Auch hier ist die Auswahl wieder einmal unüberschaubar. Möchte man das Routingprotokol OSLR nutzen, so kann man sich vom Meshkit eine passende Freifunk-Firmware generieren lassen. Allerdings werden hier nicht alle OpenWrt-Plattformen unterstützt, so das man im schlimmsten Fall wieder in die Röhre schaut.

meshkit.freifunk.net

Bei der Nutzung des moderneren B.A.T.M.A.N. bzw. B.A.T.M.A.N. Advance Protokolls, kann man auf Gluon setzen. Dabei handelt es sich um ein modulares Framework mit welchem eine entsprechende Freifunk-Firmware auf der Basis von OpenWrt erzeugt werden kann. Gluon ist dabei auf GitHub zu finden. Bei Gluon passt man eine Konfigurationsdatei an und erzeugt sich dann ein passendes Image. Das Gluon-Image verfügt dabei auch über eine Autoupdate-Funktion, mit welcher man die entsprechenden Geräte mit neuen Versionen bespielen kann.

Nach der Installation des Images auf der gewünschten Hardware, ist man im Besitz eines Freifunk-Routers. Überspitzt könnte man sagen das die Probleme damit anfangen. Auf technischer Seite gibt es bei der Standardkonfiguration das Problem, das die Luftschnittstelle unverschlüsselt ist, was unschön ist. Ein anderes Problem ist die Haftung, womit wir bei der rechtlichen Seite von Freifunk landen.

Die Freifunk-Geräte senden ihren Traffic zu einem (in der Firmware eingestellten) Gateway. Damit haben die Aufsteller der Router keine Probleme. Im Gateway wird der Traffic dann in das Internet überführt. Hier wird es dann problematisch. Natürlich haftet theoretisch niemand für die Schandtaten anderer, allerdings ist man der erste Ansprechpartner, wenn etwas schief geht — und im schlimmsten Fall hat man erst einmal eine Menge Stress mit der Judikative und der Executive — bis man dort merkt das man nicht der Übeltäter ist.

Damit man diesem Problem aus dem Weg geht, sollte man sich beim VPN-Anbieter seines Vertrauens, einen Zugang beschaffen und den Gateway-Traffic über diesen Zugang in das Internet routen. Damit kann man sein Freifunk-Netzwerk unbeschwert in Betrieb nehmen.

Viele der älteren Semester, haben von Commander Keen gehört oder es unter Umständen gespielt. Dabei handelte es sich um eine Spielserie von id Software. Sie revolutionierte nicht nur den Side Scroller auf dem PC, sondern schenkte uns auch den Dopefish. Seit kurzem ist Commander Keen: Keen Dreams nun freie Software.

Der Quelltext auf GitHub

Der Teil Keen Dreams ist dabei einer der wenigen Teile welche nicht von Apogee verlegt wurde. Stattdessen kam hier Softdisk zum Zug. Softdisk wollte vor kurzem die Rechte einiger alter Titel abstoßen und so wurde eine Kampagne ins Leben gerufen um Geld für den Aufkauf dieser Rechte zu sammeln. Dies gelang auch. Der unter der GPL2 und höher lizenzierte Quelltext ist nun auf GitHub zu finden.