Die Vorratsdatenspeicherung umgehen

Fische schwimmen in Schulen, damit der einzelne Fisch für Raubfische unsichtbar wird. Vögel fliegen im Scharm, damit der einzelne Vogel für den Raubvogel im Schwarm untergeht und nicht gezielt rausgepickt werden kann. Einzelne Internetbenutzungen verschwimmen in der Masse der Netzwerkbenutzung …

Schön wars, denn die Zeiten sind „mal wieder“ vorbei. Die Bundesregierung führt mal wieder den Überwachungsstaat ein. Vermutlich hält das wieder genau so lange, bis das Bundesverfassunggericht die Fassung über den Unsinn verliert und den völlig unsinnigen Quatsch beendet. Bis dahin ist es an Ihnen, in der Masse unter zutauchen.

Wie funktioniert die Vorratsdatenspeicherung fürs Internet eigentlich ?

Zunächst müssen wir mal zwischen Internetprovidern und Zugangsprovidern unterscheiden. Internetprovider sind üblicherweise Anbieter von Webspace im Netz. Wie der Kunde ins Netz kommt, ist nicht ihr Problem. Zugangsprovider sind solche, die die Leitung von der Wohnung ins Rechenzentrum betreiben z.b. die Telekom.

Die VDS ( Vorratsdatenspeicherung ) wird nur den Zugangsprovider auferlegt. Die müssen jede Verbindung mit Zeit, Quelle und Ziel speichern. Der Inhalt ist egal. Und da beginnt für Sie jetzt schon eins der Probleme der VDS. Selbst wenn Sie Zugang zu den Daten hätten, Sie könnten sich damit von einem Verdacht nicht freisprechen. Warum nicht ? Wenn der Inhalt der Kommunikation nicht mitgespeichert wird, kann man  nicht sagen, welche Domain eine Email oder ein Webseitenaufruf erreichen sollte. Das liegt daran, daß auf einem Server tausende von Webaccounts und damit Domains betrieben werden können. Sie würden staunen, wie wenig Aufrüfe die normale Webseite am Tag hat, somit kann man viele davon auf einen Server packen. Haben wir so einen Server und speichern nur die Zielipadresse der Kommunikation zu diesem Server, kann man aus den Daten nicht ablesen welche, Domain/Webseite aufgerufen wurde.

Aus diesem Grund ist diese Form der Überwachung völlig nutzlos und zwar für beide Seiten. Der Überwacher kann nicht beweisen, daß Sie die Seiten des „Terrornetzes“ aufgerufen haben, und Sie nicht, daß Sie es nicht gemacht haben. Trotzdem müssen wir damit leben.

Die VDS heißt jetzt übrigens „Mindestdatenspeicherung“, weil es nicht so schlimm klingt. Die Speicherfrist liegt bei 10 Wochen, was auf das Ergebnis übrigens gar keinen Einfluß hat. Bei der Arbeitsgeschwindigkeit deutscher Ermittlungsbehörden, würden auch Jahre nicht ausreichen, mal ganz davon abgesehen, daß man die VDS leicht umgehen kann.

Wie man die VDS austrickst

Dazu gibt es jetzt eine einfache Methode und eine etwas teurere.

Die einfache Methode heißt „Tor“. Tor ist ein Netzwerk aus vielen hunderten Servern, die in den Netzwerkverkehr quer über die Welt verteilen und dabei den Eingangspunkt und den Ausgangspunkt der eigenen Kommunikation im Tornetz verschleiern, da er im Tornetz zufällig hin und her geleitet wird. Im praktischen Endergebnis kann man den Aufruf einer Webseite Ihrer IP nicht mehr zuordnen. Nachteil der Methode ist, daß theoretisch jemand den Datenstrom unterwegs manipulieren kann. Onlinebanking ohne erhöhte Sicherheitsvorkehrungen sollte man also nicht machen. Durch die ständig wechselnde IP dem Webserver gegenüber, kann es bei sicherheitskritischen Anwendungen wie Onlinebanking zu Problemen kommen, da der Webserver einen User nicht mehr sicher authentifizieren und gegen Cookiediebstahl absichern kann.

Die teurere Methode macht im Grunde das Gleiche, bleibt aber unter Ihrer Kontrolle. Dazu mieten Sie bei einem Internetprovider, wie meinem Arbeitgeber, einen Server mit VPN Software und zwei IP Adressen. Zu einer IP bauen Sie die VPN Verbindung auf, mit der anderen IP schickt der Server Ihre Verbindung ins Netz. Damit kann ein Überwacher in den Daten des Zugangsproviders keine Verbindung zu einem anderen Server mehr finden und Sie damit nicht fälschlicherweise beschuldigen.

Der praktische Nebeneffekt ist, daß wirklich Ihre gesamte Datenkommunikation zu Ihrem Server verschlüsselt ist. Sie können mit einem eigenen VPN auch direkt aus einem unsicheren Flughafen WLAN arbeiten, da zuerst alle Daten verschlüsselt an Ihren eigenen VPN Server geleitet werden. Ihre auf dem Laptop oder Handy installierte VPN Software sollte Ihnen zudem melden, falls jemand an Ihrer Kommunikation rumspielt oder versucht Sie auszuspionieren.
Wieviele Freunde und Verwandte Sie über Ihren eigenen Server mit einem VPN Zugang versehen, bleibt Ihnen überlassen. Im Zweifel gilt hier, je mehr Leute es sind, desto unwahrscheinlicher ist es, eine Verbindung Ihnen zuzuschreiben. Es könnte ja jeder der Benutzer gewesen sein. Zudem sind Sie nicht verpflichtet zu protokollieren, wann welcher Benutzer was gemacht hat. Sie sind ja kein Zugangsprovider.
Praktischerweise können Sie so gleich noch die eigene verschlüsselte private Cloudlösung benutzen, wo mit die ganzen Spione in den US Firmen außen vorbleiben. Auch Emailkommunikation können Sie über Ihren eigenen Server sicher abwickeln, sogar mit verschlüsselten Emails.
Achtung: Diese Anleitung erfolgt ohne Gewähr. Einfaches Copy&Paste wird Sie nicht weiterbringen. Sie müssen sich trotzdem selbst einen Überblick verschaffen, wie z.b. RSA Keys erzeugt werden.

Was braucht man um einen eigenen VPN Server aufzustellen ?

Zuerstmal einen eigenen Server im Internet, sonst macht das keinen Sinn und auf einem Webspace geht das i.d.R. nicht. Dann brauchen Sie viel Geduld, denn das Setup eines IPSEC Servers ist unter Linux nicht ganz trivial. Sie benötigen min. die vier Pakete : pptpd, ipsec,pluto und xl2tpd . IPSEC wird z.b. von OpenSwan oder LibreSwan zur Verfügung gestellt.

Hürde 1: /etc/pptpd.conf

PPTP ist eine extrem simples und heute unsicheres VPN Protokoll von Windows, welches bereits mit Windows XP funktioniert. Es hat den einzigen Vorteil, daß es mit Windows ohne weitere Zusatzsoftware funktioniert. Wenn Sie das nicht benötigen oder auch nur den Hauch von Sicherheit haben möchten und auch nur der VDS ein Schnäppchen schlagen wollen, dann, und auch nur dann, können Sie das einsetzen.
# TAG: speed
speed 115200
 
# TAG: option
# Die Vorgabedatei ist an dieser Stelle falsch. Unter SuSE-Linux 8.1 
# befindet sich die „options“-Datei des PPP-Servers unter diesem Pfad.
option /etc/ppp/options.demo
 
# TAG: debug
debug
 
# TAG: localip
# TAG: remoteip
# In diesem Beispiel werden 11 IP-Adressen (192.168.0.200 bis 192.168.0.210 )
# für PPTP-Verbindungen zur Verfügung gestellt. Ein PPTP-Client erhält also eine dieser Adressen.
# localip 192.168.0.234
remoteip 192.168.0.200-210
 
# TAG: ipxnets
# Für die meisten Anwendungen wird IPX wahrscheinlich nicht mehr benötigt. 
# Entsprechend ist es hier ausgeklammert
#ipxnets 00001000-00001FFF
 
# TAG: listen lokale ipaddresse
listen a.b.c.d 
 
# TAG: pidfile
pidfile /var/run/pptpd.pid
/etc/ppp/options.demo:
 
#debug
#debug dump 
lock
refuse-chap 
# Aktiviert die 128-bit Verschlüsselung. Verbindungen lassen sich nur verschlüsselt aufbauen
 
require-mppe 
require-mschap-v2
noipx
 
# Add an entry to this system’s ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system. {proxyarp,noproxyarp}
proxyarp
 
# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
# Two Servers can be remotely configured
ms-dns 8.8.8.8
Die IP 8.8.8.8 ist das Google DNS Cache und kann gegen den DNS Ihres Rechenzentrumsbetreibers ausgetauscht werden.
Weiter geht es mit der Xl2tpd Konfiguration:
/etc/xl2tpd/l2tp-secrets
# Secrets for authenticating l2tp tunnels
# us          them secret
# * marko      blah2
# zeus marko blah
# *         *          interop
 
* * HierkommtIhrTunnelPassworthin!
„* *“ meint, auf jede unserer IPs von jeder externen IP. Also einfach von überall auf der Welt wird das gleiche Passwort benutzt. Sie können aber für bestimmte IP Blöcke oder einzelne IPs eigene Passwörter verwenden. Damit kann man fein granulieren, wer Zugang bekommt und wer nicht.
Das L2TP ist erstmal nur für den sicheren Kanal zu Ihren VPN Server zuständig, es ist noch keine Authentifizierung oder Datenverschlüsselung erfolgt.
/etc/xl2tpd/xl2tpd.conf
[global]
listen-addr = a.b.c.d
debug tunnel = yes
 
[lns default]
ip range = 192.168.20.2-192.168.255.255
local ip = 192.168.20.1
assign ip = yes
require chap = yes
refuse pap = yes
require authentication = yes
name = OpenswanVPN
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
/etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns  8.8.8.8
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000

2. Hürde – IPSEC

 /etc/ipsec.conf
version 2.0 # conforms to second version of ipsec.conf specification
 
# basic configuration
config setup
plutodebug=“all“
plutostderrlog=  „/var/log/pluto.err“
# For Red Hat Enterprise Linux and Fedora, leave protostack=netkey
protostack=netkey
nat_traversal=yes
# forceencaps=yes
virtual_private=%v4:10.0.0.0/8,%v4:174.16.0.0/12,%v4:192.168.0.0/16,%v4:!192.168.0.0/24
oe=off
# Enable this if you see „failed to find any available worker“
# nhelpers=0
 
#You may put your configuration (.conf) file in the „/etc/ipsec.d/“
include /etc/ipsec.d/*.conf
/etc/ipsec.d/demo.conf
 
conn roadwarrior2
# dpdaction=clear
authby=secret
type=tunnel
# disablearrivalcheck=no 
        auto=add
        pfs=no  
rekey=no
    
left=%defaultroute
leftnexthop=a.b.c.d             z.b. 543.44.89.131
leftprotoport=17/1701
leftrsasigkey=HIER KOMMT IHR SERVER RSA KEY HIN
        leftsubnet=a.b.c.d./MASKE z.b.  53.44.89.128/25
 
right=%any
rightsubnet=vhost:%no,%priv   
rightprotoport=17/%any
 
# rightsubnet=192.168.0.0/24
# rightnexthop=192.168.0.254
        rightrsasigkey=HIER KOMMT IHR CLIENT RSA KEY HIN
Jetzt noch fix die Passwörter für die Benutzer und wir sind schon durch. DIE RSA Keys können zum Automatischen Aufbau der Verbindung benutzt werden, dies ist z.B. bei VPN Gateways im Büro wichtig, wo niemand über eine Desktopoberfläche einen Usernamen und Passwort eintippt.
/etc/ppp/chap-secrets
 
# Secrets for authentication using CHAP
# client server secret   IP addresses
 
demo          *       „823Ksmx83ejdkso3,389dmdasd“     *
Damit können Sie sich als User demo, mit dem Passwort „823…“ von überall aus einloggen. Wie man an den „*“ sehen kann, ist eine Feinjustierung nach Usernamen, Ziel und QuellIP möglich. Tragen Sie statt der * einfach die IP ein, für die das Passwort gelten soll. Sie können beliebig viele Zeilen mit Passwörtern eintragen.
Nun Starten die ganzen Dienste noch und verbinden sich mit Ihrem Android Handy zu Ihren VPN Server. Geben Sie als erstes die IP des VPN Servers ein, dann das Tunnelpasswort und danach Benutzernamen und Passwort.
Sind Sie jetzt vor dem Überwachungsstaat geschützt ?
Jein. Ihre Internetkommunikation ist erstmal sicher ( außer mit PPTP als VPN ) , Ihre Privatsspähre bleibt damit etwas gewahrt. Zur VDS gehört aber auch eine Totalüberwachung wer mit wem  telefoniert hat. Dagegen kann Sie das VPN nur schützen, wenn sie einen eigenen VOIP Dienst auf Ihrem Server installieren und nur noch darüber mit Leuten „telefonieren“. Gegen die anlasslose Überwachung Ihres Telefonanschlußes und des Mobiltelefons können Sie an dieser Stelle nichts machen, außer es nicht mehr zu benutzen.
Wenn Sie sich zu diesem Schritt genötigt sehen, schliessen Sie sich bitte einer der vielen Initiativen gegen die VDS an und klagen Sie in Karlsruhe gegen die VDS. Denn genau das ist die Folge eines Überwachungsstaates, daß man sachen nicht mehr macht, auch wenn Sie nicht kriminell sind. Privatsspähre und Massenüberwachung passen nicht zusammen. Die zweifelhaften Aussagen von Politikern um die VDS zu rechtfertigen, sind ohnehin schon mehrfach als knallharte Lügen in den normalen Medien enttarnt worden.
Kleines Beispiel: Sigmar Gabriel gibt immer gern Norwegen und Breivik als Rechtfertigung an, Fakt ist aber, die haben den auf der Insel in Flagrantie erwischt, völlig ohne VDS, die es damals in Norwegen eh nicht gab. Auch in Frankreich hatte die VDS keinen Einfluß, weil die Täter bereits unter Überwachung durch den Staatsschutz standen. Wieviel das genutzt hat, konnte man Live im Fernsehen miterleben.
Gegen Brieftauben, tote Briefkästen und Wäscheleinencodes von Terroristen hilft im Übrigen nur die gute alte analoge Polizeiarbeit. Echt Profiterroristen können sie so nicht aufhalten oder identifizieren. Die machen genau das gleiche wie Sie: die VDS umgehen. Es gibt noch ein ganzes Rudel anderer Methoden, wie man Kommunikation effektiv verschleiern kann. Aber das ist für Sie zu viel Aufwand.

Teamspeak und Skype unterbrechen den Sound

Kennen Sie das ? Sobald Teamspeak läuft, sind alle anderen Sounds im Pulseaudio gemutet.

Ursache ist eine Priorisierung der Audioquellen damit Sprachtools immer zu hören sind.
Teamspeak markiert seinen Datenstrom als „Voice“ Klasse, MPlayer dagegen als „Music“.

Das Verhalten kann man durch eine kleine Einstellung in der Datei /etc/pulse/default.pa ändern. Dort kommentiert man den Eintrag „load-module module-role-cork“ einfach aus.

Anschliessend muß man Pulseaudio neu starten und da wird es schwierig.

Erstmal muß man alle Audioanwendungen beenden, sonst endet das böse. Danach:

# pulseaudio -k
# pulseaudio –start

Danach dauert es etwas bis Pulseaudio wieder bereit ist und das Problem ist weg.

FFMPEG – Desktopsessions direkt encoden

Jeder Gamer kennt das Problem, man möchte seine Gamesession aufzeichnen und später bei Youtube hochladen. Unter Windows gibt es einige gute Tools das zu tun, z.b. Fraps. Unter Fedora Linux ist das noch einfacher, da im GNOME bereits der Desktop-Recorder integriert ist, sollte man jedenfalls meinen.

Wenn es funktionieren würde, gäbe diesen Beitrag wohl nicht, also was brauchen wir tatsächlich alles :

1. Pulse Audio
2. FFMpeg

Pulse Audio ist bereits drauf, sonst könnte man nichts hören, wichtig wäre aber für Pulse noch das Tool „pactl“ aus dem „pulseaudio-utils“ RPM . Damit ermittelt man zunächst mal den sogenannten Sink auf dem alles zusammen gemischt wird:

# pactl list sinks
Sink #0
    State: RUNNING
    Name: alsa_output.pci-0000_00_14.2.analog-stereo
    Description: Internes Audio Analog Stereo
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 8
    Mute: no
    Volume: front-left: 95197 / 145% / 9,73 dB,   front-right: 95197 / 145% / 9,73 dB
            balance 0,00
    Base Volume: 65536 / 100% / 0,00 dB
    Monitor Source: alsa_output.pci-0000_00_14.2.analog-stereo.monitor
    Latency: 25933 usec, configured 26000 usec
    Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
    Properties:
        alsa.resolution_bits = „16“
        device.api = „alsa“
        device.class = „sound“
        alsa.class = „generic“
        alsa.subclass = „generic-mix“
        alsa.name = „ALC887-VD Analog“
        alsa.id = „ALC887-VD Analog“
        alsa.subdevice = „0“
        alsa.subdevice_name = „subdevice #0“
        alsa.device = „0“
        alsa.card = „0“
        alsa.card_name = „HDA ATI SB“
        alsa.long_card_name = „HDA ATI SB at 0xfe300000 irq 16“
        alsa.driver_name = „snd_hda_intel“
        device.bus_path = „pci-0000:00:14.2“
        sysfs.path = „/devices/pci0000:00/0000:00:14.2/sound/card0“
        device.bus = „pci“
        device.vendor.id = „1002“
        device.vendor.name = „Advanced Micro Devices, Inc. [AMD/ATI]“
        device.product.id = „4383“
        device.product.name = „SBx00 Azalia (Intel HDA)“
        device.form_factor = „internal“
        device.string = „front:0“
        device.buffering.buffer_size = „352768“
        device.buffering.fragment_size = „176384“
        device.access_mode = „mmap+timer“
        device.profile.name = „analog-stereo“
        device.profile.description = „Analog Stereo“
        device.description = „Internes Audio Analog Stereo“
        alsa.mixer_name = „Realtek ALC887-VD“
        alsa.components = „HDA:10ec0887,10438444,00100302“
        module-udev-detect.discovered = „1“
        device.icon_name = „audio-card-pci“
    Profile:
        analog-output-lineout: Line Out (priority: 9900, available)
        analog-output-headphones: Analoge Kopfhörer (priority: 9000, not available)
    Aktive Profile: analog-output-lineout
    Formats:
        pcm

Das Rote ist nicht der benutzbare Name, immer die Monitor Quelle nehmen. Das geben wir direkt im FFMpeg Befehl als Audioquellenangabe an:

# ffmpeg -f x11grab -s 1440×900 -i :0.0 -r 25 -f pulse -i alsa_output.pci-0000_00_14.2.analog-stereo.monitor -c:v libx264 -preset slow -pix_fmt yuv420p -s 1440×900 -strict experimental -acodec aac -ab 128000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f avi testvideo.avi

Diese Bashzeile müssen Sie nur entsprechend an Ihre Bildschirmauflösung anpassen und natürlich Ihr passendes Sink ermitteln. Der Rest ist an sich klar :

– X11grab: aktiviert den Screengrabber
– Audioinput von Pulse Audio
– h264 Codec fürs Video
– das Preset Slow sorgt für gute Qualität
– AAC mit 128kbit für den Audiocodec
– und Stereosoundkanäle
und am Ende noch der Dateinamen und das Dateiformat. Das war es schon und im Gegensatz zum GNOME-Screenrecorder kommt dabei auch was brauchbares aus. Das Ergebnis kann sofort im GNOME-Mplayer angesehen werden.

Hier ein paar Tips:

Die zweite Angabe von „-s 1440×900“ ist die Zielgröße fürs Video. Weicht diese vom ersten Wert ab, wird automatisch passend skaliert.

FFMpeg nimmt im Beispiel oben bei einer Mehrmonitorlösung den linken Monitor.

In einem früheren Beitrag habe ich bereits auf die Möglichkeiten des Autocroping von FFMpeg hingewiesen. Wenn man also von einem zweiten Monitor capturen möchte, muß man die Gesamtgröße des Bildschirms angeben und nicht nur die vom linken Monitor. Dann benutzt man den Cropfilter und schneidet den linken Monitor einfach weg.

In einem anderen Beitrag wurde gezeigt, wie man sich mit xwininfo anzeigen lassen kann, wie die Maße des Bildschirms sind.

FFMpeg kann gleichzeitig zwei oder mehr Audioquellen in den Film mit einbinden. Damit kann man sich z.b. auch eine Audiokommentarspur ins Video einfügen, wenn man das Micro mitschneidet. Meistens ist die PC-Hardware aber so lausig, daß man den Ton noch mal nachbearbeiten muß und vor allem soll das Video ja am Ende vermutlich noch geschnitten werden. Sinnvoll wäre es daher, den Ton mit Audacity aufzunehmen und dann gleich das Rauschen zu entfernen. Ansonsten muß man den Ton erst aus dem Video abspalten und dann am Ende das Video sowieso neu mischen, was beim Schneiden ohnehin passiert. Das besondere an FFMpeg ist nun, daß es die beiden Tonspuren auch gleich live zu einer Tonspur zusammen mischen kann. Wenn dann aber Geräusche oder Musik im Video vorkommen, wird das mit den Scheiden dann nichts mehr. Überlegen Sie also vorher was Sie wollen.