Daniels Blog
28Apr/200

Asterisk chan_sip am Vodafone Business IP Anlagenanschluss

Vodafone, Vodafone,
das hat Nerven gekostet. Ein Kunde mit Asterisk Telefonanlage wurde im Zuge der ISDN-Abschaltung auf einen "Vodafone IP Anlagenanschluss" umgestellt. Leider liefert Vodafone weder Konfigurationsbeispiele für gängige Telefonanlagen, noch halten Sie sich an die Standards, die man von anderen SIP-Anbietern seit Jahrzehnten kennt. Nach einer ziemlichen Frickel-Odyssee habe ich eine funktionierende Konfiguration hinbekommen, die ich Euch nicht vorenthalten möchte.

Als Dokumentation bietet Vodafone diese sehr allgemein gehaltene Schnittstellenbeschreibung:
https://www.vodafone.de/media/downloads/pdf/ip-anlagen-anschluss-schnittstellenbesch.pdf

Ausserdem bekommt man von Vodafone folgende Zugangsdaten zum gebuchten Anschluss:

Rufnummernblock: 0211 - 1234567 0,9   (also 0211-12345670-9)
SIP-Username/s: (02111234567)
SIP-Domain-Name: kundenname.ngn.vodafone.de 
PBX-IP: (eigene statische externe IP Adresse) 1.2.3.4
SBC-IP: (IP des Vodafone SIP proxys) 5.6.7.8
Port: 5060
Transport-Protokoll: StaticTCP
IP des Asterisk im LAN: 10.10.10.10

Routerkonfiguration
Tief in der Schnittstellendokumentation verborgen findet sich der RTP-Portrange der für die Audio-Kanäle benötigt wird. Dieser ist bei Vodafone leider nicht wie bei vielen anderen SIP-Anbietern 10000-10xxx sondern 55000-Anzahl der Sprachkanäle*2. In meinem Fall waren 5 Sprachkanäle gebucht worden also ist der korrekte Portrange 55.000-55010.

Die SIP-Signalisierung findet Standardmäßig wie sonst gewohnt nicht per UDP sondern per TCP statt. Hier habe ich ewig gehangen, da ich "Transport-Protokoll: StaticTCP" bei den Zugangsdaten geflissentlich überlesen hatte. Da es in 20 Jahren SIP bei keinem Provider über TCP lief, habe ich es wohl einfach ausgeblendet.

Als Ergebnis kam ich zu folgendem Portmapping im Router:

TCP 5060 Eingehend auf 1.2.3.4 -> 10.10.10.10:5060
UDP 55000-55010 eingehend auf 1.2.3.4 -> 10.10.10.10:55000-55010

Zusätzlich habe ich QoS im Router für 10.10.10.10 aktiviert um die Datenpakete der Telefonanlage gegenüber dem anderen Traffic aus dem LAN zu priorisieren.

Asterisk

;/etc/asterisk/rtp.conf
;Vodafone RTP-Range konfigurieren
rtpstart=55000
rtpend=55010
#/etc/asterisk/sip.conf
[general]

;TCP Transport für SIP in Asterisk aktivieren
tcpenable=yes 
tcpbindaddr=10.10.10.10

;NAT konfigurieren
externaddr=1.2.3.4
media_address=1.2.3.4
localnet=10.10.10.0/255.255.255.0

;Vodafone erwartet eine Expirytime von mindestens 1800 ansonsten ist keine Verbindung möglich
maxexpiry=2000
minexpiry=1800
defaultexpiry=1800

directmedia=no
canreinvite=no

;Der Kontext ist notwendig, damit andere SIP-Anrufe an die Anlage nicht irgendwo im Dialplan landen,
;wo man sie nicht haben will. Alternativ kann man auch mit permit/deny Regeln die IP-Adressen einschränken,
;die ASterisk kontaktieren dürfen.
context=leer

[leer]

[vodafone-in-peer]
type=peer
context=vodafone-in
host=5.6.7.8
;habe hier udp dringelassen, da vodafone angeblich auch udp als fallback anbietet, 
;tcp ist aber notwendig, ohne hat es nicht funktioniert
transport=tcp,udp
disallow=all
allow=g722
allow=alaw
allow=ulaw

[vodafone-out-peer]
type=peer        
defaultuser=02111234567
host=5.6.7.8
transport=tcp,udp       
disallow=all
nat=force_rport,comedia
directmedia=no
qualify=no
disallow=all
allow=g722
allow=alaw
allow=ulaw

;/etc/asterisk/extensions.conf

[vodafone-in]
;test-extension für einen eingehenden Anruf im Rufnummernblock. Hier für die Blocknummer "0"
exten => +4921112345670,1,Answer()
; Asterisks Echo Test. Man hört sich selbst, wenn man in den Hörer spricht und alles geklappt hat
exten => +4921112345670,n,Echo()
exten => +4921112345670,n,Hangup()

;test-extension für einen ausgehenden Anruf
[vodafone-out]
;vodafone erwartet das Setzen eines P-Asserted-Identity Headers. 
;Weitere Details in der Schnittstellenbeschreibung
;Hier dringend selbst noch mal die Schnittstellenbeschreibung
;studieren, da die Lokalisierung von Notrufen über diesen Wert realisiert wird
;ich selbst habe es noch nicht testen können und weiss nicht, ob Notrufe so funktionieren,
;normale Gespräche funktionieren.
exten => 1,1,SipAddHeader(P-Asserted-Identity: <sip:+4921112345670@kundenname.ngn.vodafone.de:5060\;user=phone>)

;Setzen der CLIP (Absenderrufnummer, Vodafone erlaubt hier jede beliegbige Nummer,
;nach TeleKG darf man aber nur eigene oder Weitergeleitete Nummern nutzen ;)
;Auf Protokoll-Ebene wird hier der From: Header im SIP-Dialog gesetzt

exten => 1,n,Set(CALLERID(num)=+4921112345670)

;Ausgehender Anruf an eine von Euch gewählte Testnummer
exten => 1,n,Dial(SIP/+498001234567@vodafone-out-peer)

Ich komme nicht um den Gedanken herum, dass Vodafone sehr gerne eigenen Service und Telefonanlagen verkaufen möchte und es "Drittanbietern" möglichst schwer gemacht werden soll, indem man kleine Details anders macht als alle anderen und gleichzeitig nur eine sehr allgemeine Dokumentation liefert.

Das wars. Geholfen haben mir diese Posts von Leuten die ähnliche Probleme hatten. Vielen Dank an alle!

https://www.ip-phone-forum.de/threads/vodafone-ip-anlagenanschluss-%C3%BCber-chan_sip-einbinden.305595/
https://www.pascom.net/forum/t/vodafone-anlagenanschluss-keine-ausgehenden-anrufe/2026/5
https://steffenschiffel.de/asterisk-und-vodafone-anlagen-anschluss-plus-trunk/

veröffentlicht unter: Dies und das keine Kommentare
22Mrz/200

XIAOMI MI A1 – Lineage – Better gps.conf

Lineages gps.conf for the A1 didn't work good for my device.
This configuration gives me a GPS fix within 10 seconds in Germany.
If you want to use this file in another location, change the NTP servers to local ones for your location.

# /vendor/etc/gps.conf

NTP_SERVER=ntp1.fau.de 
NTP_SERVER=ptbtime2.ptb.de  
NTP_SERVER=time1.one4vision.de
NTP_SERVER=rustime01.rus.uni-stuttgart.de 
NTP_SERVER=ntp.probe-networks.de 
NTP_SERVER=ntp2.fau.de  
NTP_SERVER=atom.uhr.de  
NTP_SERVER=ntps1-0.fh-mainz.de  
NTP_SERVER=ntps1-0.cs.tu-berlin.de 
NTP_SERVER=time.fu-berlin.de  
NTP_SERVER=ntp.stairweb.de
NTP_SERVER=de.pool.ntp.org 
NTP_SERVER=0.de.pool.ntp.org
NTP_SERVER=1.de.pool.ntp.org
NTP_SERVER=2.de.pool.ntp.org
NTP_SERVER=3.de.pool.ntp.org
NTP_SERVER=europe.pool.ntp.org
NTP_SERVER=0.europe.pool.ntp.org
NTP_SERVER=1.europe.pool.ntp.org
NTP_SERVER=2.europe.pool.ntp.org
NTP_SERVER=3.europe.pool.ntp.org
XTRA_SERVER_1=/data/xtra.bin
AGPS=/data/xtra.bin
AGPS=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
REPORT_POSITION_USE_SUPL_REFLOC=1
QOS_ACCURACY=50
QOS_TIME_OUT_STANDALONE=60
QOS_TIME_OUT_agps=89
QosHorizontalThreshold=1000
QosVerticalThreshold=500
AssistMethodType=1
AgpsUse=1
AgpsMtConf=0
AgpsMtResponseType=1
AgpsServerType=1
AgpsServerIp=3232235555
INTERMEDIATE_POS=1
C2K_HOST=c2k.pde.com
C2K_PORT=1234
SUPL_HOST=FQDN
SUPL_HOST=lbs.geo.t-mobile.com
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_TLS_HOST=FQDN
SUPL_TLS_CERT=/etc/SuplRootCert
ACCURACY_THRES=5000
CURRENT_CARRIER=common
veröffentlicht unter: Dies und das keine Kommentare
8Nov/160

Ich hoste eine eigene Searx Instanz

Searx ist eine Meta-Suchmaschine, die man relativ einfach auf dem eigenen Server hosten kann. Searx versucht so gut wie möglich die Privatsphäre der User zu schützen und ein anonymes aber doch bequemes Suchen zu ermöglichen. Die Nutzung von Searx bietet viele Vorteile:

  • Paralleles Abfragen von ca. 70 Suchmaschinen
  • Stark konfigurierbar
  • Nettes Design
  • Man hinterlässt seine IP-Adresse nicht auf den Servern der Suchmaschinen und kann so weitestgehend anonym suchen. Die abgefragten Suchmaschinen erhalten lediglich die Adresse des Searx-Servers. Nutzt man einen Server, den viele andere auch nutzen, ist von der Suchmaschine nicht mehr nachvollziehbar, wer gerade was gesucht hat.
  • Man bekommt keine Cookies von den Suchmaschinen untergejubelt

Meine Installation bietet die folgenden Features:

  • Relativ flott, mit schneller Leitung an mehrere Backbones angebunden
  • Searx nutzt 6 CPU-Cores parallel
  • Searx selbst loggt nicht
  • Mein Webserver loggt nicht die Inhalte der Requests und nur das erste Oktett der IP-Adresse. Eine Zuordnung zu einer bestimmten Person ist so nicht mehr möglich.

Meine Searx-Instanz findet Ihr hier: https://www.perfectpixel.de/searx/
Viele weitere Searx-Instanzen findet Ihr hier: https://github.com/asciimoo/searx/wiki/Searx-instances

veröffentlicht unter: Dies und das keine Kommentare
6Jan/140

Monitorswitcher mit YAD und xrandr

yad_monitor_chooser
Da ich häufiger mal den Video-Output von meinem Notebook ändern muss, habe ich ein kleines Script geschrieben, das mir die Aufgabe erheblich erleichtert. Ich habe mir das Script auf einen Keyboard-Shortcut gelegt und kann so in Sekundenschnelle die gewünschte Anzeige wählen. Für das grafische Interface benutze ich YAD, zur eigentlichen Einstellung des Outputs xrandr.

#!/bin/bash

action=$(yad --width 300 --title "OUTPUT" \
    --button="Monitor + Notebook :1" \
    --button="Notebook:2" \
    --button="Monitor:3" \
    --button="TV MODE:4")

ret=$?

# Notebook + Monitor
if [[ $ret -eq 1 ]]; then
xrandr --output LVDS1 --mode 1366x768  --output DP1 --mode 1920x1200 --left-of LVDS1 --primary --output VGA1 --off
fi

# Notebook Only 
if [[ $ret -eq 2 ]]; then
xrandr --output LVDS1 --mode 1366x768  --output VGA1  --off --output DP1 --off
fi

# Monitor Only
if [[ $ret -eq 3 ]]; then
xrandr --output DP1 --mode 1920x1200 --primary --output VGA1 --off --output LVDS1 --off
fi

# TV MODE (Monitor  + TV)
if [[ $ret -eq 4 ]]; then
xrandr --output DP1 --mode 1920x1200 --right-of VGA1 --primary --output VGA1 --mode 1920x1080 --output LVDS1 --off
fi

exit 0

veröffentlicht unter: Dies und das keine Kommentare
6Nov/130

Die Festplatte der PS3 auf eine größere Festplatte klonen mit Linux

2013-11-06-20-51-04-820

Die Festplatte meiner Uralt-PS3 wurde nun endlich mit ihren 80GB zu klein. Zum Glück hatte ich noch eine 500GB-Platte herumfliegen und habe diese meiner Konsole spendiert.

Die ganze Sache war leider ziemlich zeitaufwändig. Hätte ich eine weitere Platte für ein Backup mit dem PS3-Systemprogramm gehabt, hätte ich mir viel Kopiererei sparen können. Aber es ging auch so...

Für diese etwas komplizierte Methode braucht man:

  • Die alte Platte aus der PS3
  • Eine neue Platte
  • Einen PC mit genug Platz auf der Platte um die alte Platte komplett aufzunehmen
  • Einen SATA-USB-Adapter

AUSBAU: Zunächst baut man die Platte aus der PS3 aus. Das geht ziemlich einfach. An der linken Seite befindet sich eine Plastikabdeckung, die man aufwippen kann. Danach entfernt man die blaue Schraube und kann den Schlitten mit der Platte einfach aus der Konsole herausziehen.

ORIGINALPLATTE AUSLESEN: Nun benötigt man einen USB-SATA Adapter, um die Platte an einen Rechner anschließen zu können. Auf dem Rechner muss genug Platz sein, um die komplette Platte aufzunehmen. Das Auslesen selbst geht ganz einfach.

Zunächst /var/log/syslog beim Anstecken der Platte per USB mitlesen um den Devicenamen zu erhalten..


> tail -f /var/log/syslog
...
Nov  6 20:38:27 think kernel: [ 3035.910418] sd 7:0:0:0: [sdb] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)
Nov  6 20:38:27 think kernel: [ 3035.913066] sd 7:0:0:0: [sdb] Write Protect is off
Nov  6 20:38:27 think kernel: [ 3035.913075] sd 7:0:0:0: [sdb] Mode Sense: 28 00 00 00
Nov  6 20:38:27 think kernel: [ 3035.914499] sd 7:0:0:0: [sdb] No Caching mode page found
Nov  6 20:38:27 think kernel: [ 3035.914507] sd 7:0:0:0: [sdb] Assuming drive cache: write through
Nov  6 20:38:27 think kernel: [ 3035.919639] sd 7:0:0:0: [sdb] No Caching mode page found
Nov  6 20:38:27 think kernel: [ 3035.919646] sd 7:0:0:0: [sdb] Assuming drive cache: write through
Nov  6 20:38:27 think kernel: [ 3036.013996]  sdb: unknown partition table
Nov  6 20:38:27 think kernel: [ 3036.019555] sd 7:0:0:0: [sdb] No Caching mode page found
Nov  6 20:38:27 think kernel: [ 3036.019562] sd 7:0:0:0: [sdb] Assuming drive cache: write through
Nov  6 20:38:27 think kernel: [ 3036.019567] sd 7:0:0:0: [sdb] Attached SCSI disk

Prima. Die PS3-Platte ist nun unter /dev/sdb erreichbar.

Nun kann die komplette Platte in eine einzelne Datei ausgelesen werden.

> sudo su
> dd if=/dev/sdb of=/tmp/ps3.disk bs=50000

Nun muss man warten, bis die Kopie fertig ist. Man kann sich allerdings in einem neuen Terminalfenster ansehen, wie weit der Kopiervorgang fortgeschritten ist:

> watch "ls -hla /tmp | grep disk"
-rw-r--r--  1 root root  43G Nov  6 21:13 ps3.disk

Der ganze Vorgang hat bei mir ziemlich genau eine Stunde gedauert.

N1600527+1 Datensätze ein
1600527+1 Datensätze aus
80026361856 Bytes (80 GB) kopiert, 3600,04 s, 22,2 MB/s

KOPIE AUF DIE NEUERE, GRÖßERE PLATTE ZURÜCKSPIELEN: Nun tauscht man die Platten am SATA-USB-Adapter aus und schließt die neue, größere Platte an. Das Zurückspielen der Daten dauert dann noch einmal genausolang und kann wieder mit "dd" erledigt werden.

> dd if=/tmp/ps3.disk of=/dev/sdb bs=50000

DIE NEUE PLATTE EINBAUEN: Nun hat man eine Kopie der Originalplatte auf der neuen Platte. Diese wird jetzt in die PS3 eingebaut. Wenn die PS3 hochfährt und noch alle Daten vorhanden sind und Spiele gestartet werden können, ist alles glatt gelaufen. Nun hat man zwar eine Kopie der alten Platte auf der Neuen, aber die alte Partitionierung wurde mitkopiert. Die neue Platte hat also auch nur den freien Platz der alten Platte verfügbar. Ich habe keine Möglichkeit gefunden, die Partition der Platte zu vergrößern, SONY nutzt leider kein Standard-Dateisystem. Deshalb sind die nächsten Schritte auch noch notwendig.

DIE ALTE PLATTE ZUM BACKUP DER SPIELDATEN DER PS3 NUTZEN: Die alte Platte wird nun wieder an den SATA-USB-Adapter gesteckt und mit FAT32 formatiert.

>  mkfs.vfat -I -F32 /dev/sdb 

Die formatierte alte Platte kann jetzt per USB an die PS3 angeschlossen werden. Mit ihr führt man nun über das Playstation-Menü eine Sicherung der Spieldateien durch.

Vor dem Backup sollte man seine Tropähen noch einmal synchronisieren. Sie werden mit dem lokalen Backup NICHT mitgesichert.

#PS3 Menü
 [PSN] > [Trophäen-Sammlung] > Dreieck > Trophäen synchronisieren.

Jetzt kann man endlich die Daten auf die alte angeschlossene Platte sichern:

#PS3 Menü
 [Einstellungen] > [System-Einstellungen] > [Datensicherungsprogramm] > [Sichern]

DIE NEUE (EINGEBAUTE) PLATTE LÖSCHEN UND DANACH DIE SICHERUNG VON DER ALTEN PLATTE ZURÜCKSPIELEN:

Neue (eingebaute) Platte löschen:

#PS3 Menü
 [Einstellungen] > [System-Einstellungen] > [Formatierungs-Dienstprogramm] > [Systemspeicher formatieren]

Jetzt steht endlich der volle Speicherplatz der neuen Platte zur Verfügung.

Nun muss nur noch das Backup von der alten Platte zurückgespielt werden:

#PS3 Menü
 [Einstellungen] > [System-Einstellungen] > [Datensicherungsprogramm] > [Wiederherstellen]

Voila, ich habe alle meine Daten komplett behalten, aber habe jetzt 420GIG mehr Platz und die Platte ist um einiges schneller als die alte. Sehr schön.

Anmerkungen:
Leichter wäre alles gegangen mit einer weiteren Platte, die ich leider nicht zur Verfügung hatte:
PS3-Platte direkt mit der PS3 auf die weitere Platte sichern -> Neue grosse Platte einbauen -> Alles von der weiteren Platte zurücksichern.

Wenn man einen PC zur Verfügung hat (ich hatte nur ein Notebook) sollte man die Kopiererei auch nicht über USB machen sondern die Platten direkt an die SATA-Ports des Boards hängen. Viel schneller.

4Jul/130

Weshalb es eine schlechte Idee sein könnte, nichts zu verbergen zu haben

Seit einigen Wochen gibt es keine Zweifel mehr. Dank Snowden wissen wir nun zweifelsfrei das, was viele schon vorher mit hoher Wahrscheinlichkeit vermutet haben: Es werden Daten über uns gesammelt und weiterverarbeitet. Es trifft nicht nur einzelne Verdächtige, sondern pauschal alle. Es wird alles erfasst, was technisch möglich ist. Der Wissensdurst von Staaten scheint unstillbar. Begründet wird die Sammlung der Daten mit dem Kampf gegen die organisierte Kriminalität und den internationalen Terrorismus. Eine gute Sache könnte man meinen. Die Staaten sorgen für die Sicherheit der Bürger, wer sich nichts zu Schulden kommen lässt, hat nichts zu befürchten. Dieser auf den ersten Blick logische Gedankengang hat jedoch seine Tücken. Nachfolgend werde ich einige Argumente bringen, warum es eine schlechte Idee sein könnte nichts zu verbergen zu haben.

Wissen ist Macht und Macht korrumpiert
Dieses alte Sprichwort beschreibt das Hauptproblem sehr gut. Macht ist die Möglichkeit "machen zu können". Je mehr Wissen angehäuft wird, desto mehr Macht entsteht auf der Seite der Wissenden. Macht korrumpiert zuverlässig und zieht noch grösseren Wissensdurst nach sich. Da Wissen und Macht in den momentanen Verhältnissen nur von einer kleinen und grösstenteils unkontrollierten bürokratischen Elite angehäuft werden, wird die grosse Mehrheit der Menschen gleichzeitig kontrollierbar und entmachtet. Dies geschieht mit immer weniger parlamentarischer Kontrolle und wann immer es geht im Verborgenen. Da alle Macht vom Volke ausgehen sollte, ist diese Situation gefährlich für Demokratien und nicht hinzunehmen.

Die wirklich bösen Buben werden nicht überwacht
Das offizielle Hauptargument für Überwachung ist der Kampf gegen die organisierte Kriminalität und den Terrorismus. Diese beiden Hauptziele der Überwachung können sich ihr jedoch leicht entziehen. Mit nur minimalem technischen Verständnis kann man Kommunikation wirkungsvoll verschlüsseln. Dafür werden weder grosse Geldmengen noch spezielle Hardware benötigt. Viele Artikel in meinem Blog beschreiben Methoden zur wirkungsvollen Verschlüsselung von Kommunikation und Datenspeichern. Aktuelle Verschlüsselungsmethoden können nicht gebrochen werden, wenn sie korrekt angewandt werden. Das sind mathematische Gesetze, die kein Staat und kein Geheimdienst beugen kann. Da wirkungsvolle Verschlüsselung möglich ist und ich sie selbst persönlich (mit meinen sehr beschränkten Mitteln) nutzen kann, ist klar, dass der internationale Terrorismus und die Mafia mit nahezu unbegrenzten Geldmitteln diese Möglichkeiten auch nutzen. Die Überwachung verfehlt also ihre Ziele konsequent. Oder ist das Ziel eventuell doch der normale Bürger?

Überwachungsstrukturen werden auf undemokratische Weise im Geheimen etabliert
Die Überwachung der gesamten US-Bevölkerung wurde niemals durch den Kongress bewilligt. Die wuchernden Überwachungsstrukturen werden in der Regel abseits einer nachfragenden und unbequemen Öffentlichkeit etabliert. Nur durch Leaks und Whistleblower kommen die Machenschaften ans Tageslicht. Die Bevölkerungen werden vor vollendete Tatsachen gestellt, eine öffentliche Diskussion findet erst nach Etablierung statt, eine öffentliche Kontrolle ist unmöglich. Es bilden sich unkontrollierbare Staaten in Staaten mit extremen Machtkonzentrationen, die sich vom Rechtsstaat abkoppeln, eigene Kontrollinstanzen hervorbringen - sich also selbst kontrollieren - und gleichzeitig Kritik an sich selbst als Hochverrat ahnden. Die Gewaltentrennung wird ausgehebelt.

Überwachung schränkt die Meinungsfreiheit ein
Ist eine umfassende Überwachung erst einmal etabliert, ist es leicht ein Klima der Angst zu verbreiten. Kritiker können leicht mundtot gemacht werden, da sich im Hinterkopf schnell eine Selbstzensur einschleicht. Man geht davon aus, dass jede kritische Äusserung registriert und vielleicht auch kontrolliert wird. Man wird vorsichtiger in seinen Äusserungen um keine Probleme zu bekommen. Die zeitlich unbegrenzte Speicherung von Kommunikation dehnt diese Ängste sogar noch bis in eine unbestimmte Zukunft aus. Einzelne öffentlichwirksam inszenierte Exempel an Abweichlern bringen ganze Bevölkerungen auf Kurs. Viele diktatorische Staaten regieren auf diese Weise, sogar ohne das gigantische Machtpotential, das die westlichen Demokratien zur Zeit anhäufen.

Überwachung sichert die Meinungshoheit der Überwacher
Das Internet hat Staaten, Behörden und Regierungen vor grosse Probleme gestellt. Hatte man vor der digitalen Revolution lediglich eine Hand voll mehr oder weniger leicht kontrollierbare Massenmedien, die die öffentliche Meinung gebildet haben, ist heute jeder nicht nur Empänger von Information sondern auch Sender. Das Internet bietet jedem eine Sendehoheit. Auch Meinungen, die nicht aus den Massenmedien stammen, können sich viral verbreiten und ihren Weg in die Köpfe einer grossen Öffentlichkeit finden. Das Bestreben von Staaten ist es die alte gewohnte Meinungshoheit wieder zu erlangen. Denn wer die öffentliche Meinung setzen kann, setzt die gefühlte Realität. Um zum alten Status Quo zurückzukehren muss also die Kontrolle über den neuen Rückkanal der Bürger erlangt werden. Dies funktioniert nur durch Unterdrückung unliebsamer Meinungen. Diese können durch Überwachung identifiziert werden. Und zwar nicht nur die einzelner Personen, sondern vollautomatisiert die ganzer Personennetzwerke.

Wir haben keine Glaskugel
Man könnte meinen, dass all das keine Relevanz für uns hat. Wir leben in einem demokratischen Rechtsstaat, sind unsere Freiheiten gewohnt und haben fast alle nie ein anderes Deutschland erlebt. Dennoch können sich die Verhältnisse ändern. Wir hatten in den letzten 100 Jahren bereits 4 deutsche Staaten. Davon waren 2 Diktaturen und einer ist an sich selbst gescheitert. Freiheit und Demokratie sind keine genetischen Fakten, die tief in den Menschen verwurzelt sind. Sie sind viel mehr sehr fragile Gebilde, die beschützt werden müssen und schnell in sich zusammenbrechen können, wenn die äusseren Umstände sich ändern. Hätten wir einen Rechts- oder Linksruck, würde der Euro endgültig zusammenbrechen, hätten wir einen Krieg in Europa - die bereits geschaffene Überwachungsinfrastruktur würde alles bisher dagewesene weit übertreffen. Der neue Staat hätte alle Möglichkeiten parat um seine Bürger nach Belieben klein zu halten, zu kontrollieren, zu gängeln und in Angst und Schrecken zu versetzen. Möglichkeiten von denen das Dritte Reich oder die DDR nur träumen konnten.

Überwachung ist teuer und wir bezahlen sie
Überwachung kostet viel Geld. Hardware, Software, Verwaltungsinfrastrukturen, Instandhaltung, Speicherung, Auswertung. All das kostet sehr viel Geld. Ironischer Weise stammt dieses Geld aus den Steuern der Bürger, die somit ihre eigene Überwachung finanzieren. Da durch die Überwachung kommulierte Macht nach immer mehr Macht strebt, wird auch die Überwachung immer weiter ausgedeht werden. Das wird immer mehr Geld kosten. Die Bürger zahlen für ihre eigene Entmachtung, bis sie sich aus Machtverlust heraus nicht mehr gegen dieselbe wehren können.

Die Überwachung der Überwacher findet nur im Geheimen statt
In Deutschland werden die Geheimdienste durch das parlamentarische Kontrollgremium kontrolliert. In diesem sitzen 12 Bundestagsabgeordnete aller Parteien. Diese 12 Personen haben besondere Rechte und dürfen Akteneinsicht bei den deutschen Geheimdiensten fordern. Zu dem Gremium gehören auch ultrarechte deutsche Politiker, wie zum Beispiel der CSU Politiker Uhl. Es erscheint mir sehr fraglich, ob 12 Berufspolitiker, die neben ihrer Kontrollaufgabe auch noch mannigfaltige weitere Aufgaben im politischen Alltag wahrnehmen, dazu befähigt sind die deutschen Geheimdienste im Sinne der Bürger zu überwachen - falls überhaupt der Wille dazu besteht. Selbst wenn sie Anmerkungen zur Arbeit der Dienste hätten, ist es Ihnen verboten mit anderen Mitgliedern des Bundestages darüber zu beraten. Zur Überwachung der Überwacher wäre ein unabhängiges Amt mit angemessener Mannstärke und Besoldung sicher besser geeignet, als 12 "ältere Herren" mit vollem Terminkalender. Und auch woanders ist es nicht besser. Der amerikanische Kongress war nicht informiert über die Komplettspeicherung und Verarbeitung aller Verbindungsadaten im Inland.

Jeder wird erpressbar
Die Bestrebungen sind klar: Alles soll erfasst werden, alles soll zusammengeführt und ausgewertet werden. Im Alltag fallen beim Durchschnittsbürger tatsächlich viele Daten an. Telefongespräche, SMS, MMS, Whatsapp, Facebook, Internetsuchen, besuchte Websites, Reisebewegungen, Kartenzahlungen, Aufenthaltsorte, Handy-Kontakte, E-Mails, u.s.w. Alle diese Daten zusammengeführt an einer zentralen Stelle bilden das persönliche Leben des Einzelnen fast lückenlos ab. Durch Speicherung dieser Daten wird nicht nur eine Momentaufnahme verfügbar sondern auch eine Historie bis weit in die persönliche Vergangenheit hinein. Die Überwacher verfügen über Daten, die man nicht einmal selbst von sich hat. In der kompletten Lebenshistorie eines Menschen gibt es sicherlich einige unliebsame Episoden, die man gerne für sich behalten würde. Durch diese Daten kann jeder nach gutdünken bedrängt werden, wenn es nötig sein sollte. Wissen ist Macht. Und diese Macht liegt bei einer weitgehend unkontrollierten Elite, die man niemals zu Gesicht bekommen wird, die aber im Gegenzug alles über jeden weiss. Ein gutes Gefühl, oder?

Man ist nicht frei, wenn man überwacht wird
Dieser Satz steht für sich selbst aber trotzdem möchte ich einige Zeilen dazu schreiben. Freiheit und Überwachung stehen auf einer Skala an entgegengesetzten Enden. Wenn man auf Freiheit wert legt, kann man ihr Gegenteil nicht als Realität akzeptieren. Das ist Orwellsches Doppeldenk par excellence. Freiheit steht für sich und ist nicht ihr Gegenteil. Wenn wir auf Freiheit wert legen, dürfen wir Überwachung nicht dulden.

Was kann man tun?
Andere mögen anderer Ansicht sein, aber ich glaube, dass der aktuelle Trend zu immer mehr Kontrolle aus oben genannten Gründen auf politischem Weg nicht mehr aufzuhalten sein wird. Natürlich ist politische Arbeit in diesem Bereich wichtig und gut, aber der Krieg scheint verloren, bevor überhaupt die ersten Kampfhandlungen erfolgten. Die Überwachungsstrukturen sind zu Grossteilen fertiggestellt und eine öffentliche Empörung ist nur in kurzen Wellen bei jedem neuen Skandal auszumachen. Leider sind die technischen Zusammenhänge hinter dem Überwachungsapparat den Nicht-Geeks sehr schwer näherzubringen. Daraus resultiert, dass man sich nur selbst darum kümmern kann, der Überwachung zu entgehen. Es muss eine kritische Masse an Personen entstehen, die konsequent verschlüsselt, nur verschlüsselt kommuniziert und Daten nur sicher ablegt. Dafür werden Tools benötigt, die leicht zu bedienen und massentauglich sind. Verschlüsselung muss zur Normalität und nicht zur Ausnahme werden. Leider haben alle grossen Internetdienste daran kein Interesse, da Ihre Geschäftsmodelle darauf beruhen, mit den Daten ihrer Benutzer zu arbeiten und sie zu barer Münze zu machen. Die Masse muss verstehen, warum Privatsphäre wichtig ist, sie muss einfache Werkzeuge an die Hand bekommen um sie ausüben zu können. Bestrebungen Verschlüsselung zu verbieten müssen verhindert werden. Wenn wir diesen grossen Kampf verlieren, oder wenn er gar nicht erst stattfindet, werden wir die letzte freie Generation gewesen sein.

veröffentlicht unter: Dies und das keine Kommentare
12Apr/130

FTL – Faster Than Light. Durchgezockt auf Normal.

Heute ausnahmsweise mal ein Gaming-Video von mir. FTL hat mich sehr gefesselt in den letzten Monaten. Hier besiege ich das Spiel schließlich.


http://www.ftlgame.com

13Mrz/120

Vorwahlbot – Einfach die Vorwahl einer Rufnummer herausfinden

Als Abfallprodukt eines Projektes von mir ist Vorwahlbot entstanden. Er findet heraus zu welchem Orts- oder Mobilfunknetz eine beliebige Rufnummer gehört  (keine Portierungsinfos). Wenn Vorwahl und Rufnummer nur ohne Trennzeichen vorliegen, ist es oft schwierig die Vorwahl manuell herauszufinden, da Ortsvorwahlen in Deutschland zwischen 3 und 6 Stellen haben können. Vorwalbot erwartet als Eingabe eine Vorwahl oder eine komplette Rufnummer und wirft im besten Falle das richtige Netz raus.

Vorwahlbot

 

29Jan/120

Online per UMTS mit Surfstick unter Debian mit wvdial und O2 Mobile Flat

Da mein neuer DSL-Anschluss erst in einigen Wochen geschaltet wird, habe ich bei Alice die Option "Quickstart" gewählt. Hier erhält man eine SIM-Karte, mit der man 3 Monate lang kostenlos surfen kann, als Überbrückung, bis der DSL-Anschluss geschaltet wurde.

Natürlich wollte ich die Internetverbindung nicht über einen Client herstellen, sondern wie gewohnt über meinen Homeserver, der für das ganze Heimnetz als Router fungiert.

Die größten Probleme hatte ich mit der Alice Hotline. Mit der SIMkarte kam eine Kurzanleitung, wie man diese über das Alice-Portal aktivieren könne. Leider hat das Portal weder in Firefox, Chrome oder Opera richtig funktioniert. Ich bin nicht bis zur Aktivierung der SIMkarte vorgedrungen.

Also leider Anrufe auf der 01805 Hotline. Sehr ärgerlich für 42ct./Min.

Über die Hotline war die Akivierung der Karte zum Glück schnell erledigt, leider konnte man mir dort zunächst nicht den notwendigen APN für die Konfiguration von wvdial nennen. Ich wollte hier sicher gehen, da ich etwas Angst vor exorbitanten Rechnungen hatte bei falscher Konfiguration des Wertes. Hier konnte mir die Technik zum Glück weiterhelfen. Für die Alice / O2 Quickstart Mobile Internet Flat lautet der APN nach Angaben der Hotline "internet.partner1". Bei der Vergabe des Namens war wohl niemand vom Marketing beteiligt 😉

Als nächsten Schritt habe ich die SIMkarte in ein Handy eingelegt um auf die Aktivierung zu warten und diese mitzubekommen. Das ging recht schnell, nach ca. 30 Minuten war meine SIM bereits aktiv und konnte sich ins Netz einbuchen. Erstaunlich schnell, da die Aktivierung von Alice zunächst zu O2 propagiert wird. Um das Handy zu zwingen sich neu ins Netz einzubuchen, kann man es aus- und wieder einschalten. Ich habe nun mit dem Handy noch die PIN-Abfrage der SIM deaktiviert, da ich vor einiger Zeit schon einmal üble Probleme mit wvdial und einer PIN hatte.

Der Rest funktionierte erstaunlich gut.

Ich habe die SIM in meinen Huawei Surfstick (T-Mobile Surfstick III)

Bus 001 Device 004: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem

eingelegt. Nach dem Einstecken in einen USB-Port stellt Debian mit einem aktuellen Kernel das Device /dev/ttyUSB0 zur Verfügung.

Dieses kann man mit wvdial ansprechen

#/etc/wvdial.conf

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.partner1"
Phone = *99***1#
Password = blank
Username = blank
New PPPD = yes
Modem = /dev/ttyUSB0
Baud = 460800
Modem Type = USB Modem
Auto Reconnect = on


Danach kann mit einem "wvdial" die Verbindung hergestellt werden:

gbn-root-00:19:27 ~ -> wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet.partner1"
AT+CGDCONT=1,"IP","internet.partner1"
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
--> Carrier detected.  Waiting for prompt.
--> Don't know what to do!  Starting pppd and hoping for the best.
--> Starting pppd at Sun Jan 29 00:19:58 2012
--> Pid of pppd: 3749
--> Using interface ppp0
--> pppd: ��� ��� ȧ� 
--> pppd: ��� ��� ȧ� 
--> pppd: ��� ��� ȧ� 
--> pppd: ��� ��� ȧ� 
--> pppd: ��� ��� ȧ� 
--> pppd: ��� ��� ȧ� 
--> local  IP address 10.43.145.228
--> pppd: ��� ��� ȧ� 
--> remote IP address 10.64.64.64
--> pppd: ��� ��� ȧ� 
--> primary   DNS address 193.189.244.225
--> pppd: ��� ��� ȧ� 
--> secondary DNS address 193.189.244.206
--> pppd: ��� ��� ȧ� 

Danach steht über die Luftschnittstelle das Internet an Device PPP0 zur Verfügung, das man nun für Routing und Firewallregeln benutzen kann.

Der Downstream ist im Zentrum von Düsseldorf ganz in Ordnung, der Upstream lässt allerdings SEHR zu wünschen übrig:

Download-Geschwindigkeit: 2.082 kbit/s (260 kByte/s)
Upload-Geschwindigkeit:   71 kbit/s    (9 kByte/s)

Aber... Einem geschenkten Gaul schaut man nicht ins Maul. Bezahlen würde ich für diese Performance allerdings nicht.


Nachtrag

Leider ist die Verbindung nicht stabil. Nach weniger als einer Stunde fliessen keine Daten mehr über PPP0, wvdial bekommt davon leider nichts mit und denkt die Verbindung sei noch aktiv, wählt also auch nicht selbstständig neu ein. Dieses Problem zu debuggen war mir zu kompliziert, da diese Notlösung ohnehin nur einige Wochen bis zur Schaltung des DSLers funktionieren muss. Das folgende kleine Skript überprüft ob die Verbindung noch steht. Falls nicht, wird wvdial gekillt und neu gestartet.

#!/bin/bash

ping -c1 www.google.de > /dev/null

if [ $? -ne 0 ];
        then
        killall wvdial
        echo `date` >> /var/log/connection_lost.log
        wvdial &
fi

Dieses Skript rufe ich automatisch über einen Cronjob auf und bin jetzt always on:

#/etc/crontab

# REDIAL CRAPPY O2 line
* * * * *       root    /root/scripts/redial_ppp


Fallstricke:

  • PIN-Schutz der SIM nicht deaktiviert
  • Die Verbindung über Mobilfunkprovider ist leider geNATtet. Der eigene Server ist von Außen nicht direkt erreichbar. Serverdienste können nur schwierig angeboten werden.
veröffentlicht unter: Dies und das keine Kommentare
1Dez/110

Online Melderegisterauskunft in Düsseldorf macht schlechten Eindruck

Mir war nicht ganz klar, welche persönlichen Daten das Einwohnermeldeamt an wen weitergeben darf. Ich bin nach etwas Recherche auf diese Aktion der PIRATEN gestoßen, die dazu auffordern, der Weitergabe der eigenen Daten bei den Meldeämtern zu widersprechen. Viele Meldeämter geben die Daten nämlich inzwischen jedem! der zahlt. Dem kann man nur durch einen Widerspruch entgehen.

Daten von den Meldeämtern werden weitergegeben an:

Staatliche Behörden, bei berechtigtem Interesse im Rahmen der Amtshilfe 

Also z.B. Polizei, Staatsanwaltschaft, statistische Ämter, etc.

die GEZ

Die Brüder kennen wir ja schon zur Genüge.

Parteien, Wählergruppen und anderen Trägern von Wahlvorschlägen im
Zusammenhang mit Parlaments- und Kommunalwahlen; § 35 Abs.1 MG NRW

Um die hübsche Hochglanz-Wahlwerbung zu erhalten.

an Antragsteller und Parteien im Zusammenhang mit Volksbegehren und
Volksentscheiden sowie mit Bürgerentscheiden; § 35 Abs.2 MG NRW

Um Hochglanz-Entscheidungshilfen bei den häufigen Volksabstimmungen zu erhalten.

im Wege des automatisierten Abrufs über das Internet; § 34 Abs.1b MG NRW

Das ist der Punkt, der mir bisher nicht bekannt war. Über ein Internetportal kann
jeder, der einige Kenndaten einer Person kennt automatisiert über das Internet
Meldeauskünfte einholen. Die Abfrage kostet zur Zeit 4 Euro pro Datensatz in Düsseldorf.

Das Meldegesetz NRW sagt an dieser Stelle:

https://recht.nrw.de/lmi/owa/br_bes_text?anw_nr=2&gld_nr=2&ugl_nr=210&bes_id=4655&aufgehoben=N&menu=1&sg=

§ 34 Abs.1b MG NRW
(1b) Soll der Abruf über das Internet ermöglicht werden, ist sicherzustellen, dass das Antragsverfahren und die Auskunftserteilung in verschlüsselter Form erfolgen. Die Eröffnung des Zugangs ist öffentlich bekannt zu machen. Ein Abruf ist nicht zulässig, wenn der Betroffene dieser Form der Auskunftserteilung widersprochen hat. Die Meldebehörde hat spätestens einen Monat vor der Eröffnung des Internetzugangs durch öffentliche Bekanntmachung auf das Widerspruchsrecht hinzuweisen. Im Übrigen gilt § 35 Abs. 6 Satz 2 entsprechend.

Ein Widerspruch gegen die Weitergabe der Daten ist durch das Ausfüllen eines Formulars möglich. Für Düsseldorf findet sich dieses hier: https://formulare.duesseldorf.de/forms/frm/7PRPfAZH5gQA8Ja8AkNGaH1rNpDcHR3 Dieses kann kostenlos in Bürgerämtern abgegeben werden. Danach ist kein Onlinezugriff auf die eigenen Daten mehr möglich. Anscheinend werden die Datenzugriffe regional von den jeweiligen Städten und Kreisen organisiert.

Auf meine Nachfrage bei der (sehr freundlichen) Sachbearbeiterin im Bürgerbüro hin, konnte
man mir leider nicht die URL des Abfrageportals mitteilen. Eine kurze Recherche hat mich dann aber schnell auf diese Seite der Stadt Düsseldorf geführt:

https://www.duesseldorf.de/emra/emra.jsp?stadt=D%FCsseldorf&art=Stadt

Das Portal machte technisch gelinde gesagt einen sehr zweifelhaften Eindruck.
Zunächst einmal scheint es keinerlei Captcha oder ähnliches zu geben. Eine Massenabfrage scheint also mit entsprechenden Skripten möglich zu sein.

Außerdem verabschiedete sich die Webapplikation bei meiner Testabfrage mit folgender Tomcat Fehlermeldung, da ich keine Cookies aktiviert hatte:

Dies lies mich dann doch zunehmend an der Professionalität einer Anwendung zweifeln, die Zugriff auf die Daten aller Bürger der Stadt bietet. Ein Skript sollte nicht abstürzen, wenn Voraussetzungen am Rechner des Benutzers nicht gegeben sind (in diesem Fall mein fehlender Cookie). Skript-Fehlermeldungen von Webservern, die sich im produktiven Einsatz befinden nicht zu deaktivieren ist fahrlässig, da sie viel über die verwendete Systemumgebung verraten können. Zumal man bei jsp (wie im Screenshot oben) je nach Konfiguration des Servers auch noch Kommentare des Programmierers und Quelltextschnippsel dazu bekommt. Hier wurde geschlampt. An einer Schnittstelle zu persönlichen Daten sollte das nicht passieren.

Aufhorchen ließ mich auch die benutze Tomcat Version, welche in der Fehlermeldung auch unten auftaucht. (Apache Tomcat/6.0.24) Dies ist eine ältere Version des Webservers vom 21.01.2010. Aktuell ist die Version 6.0.33. Der Melderegister-Server wurde 4 Versionen lang nicht aktualisiert. Schaut man sich die Sicherheitslücken an, die in diesen letzten Versionen behoben wurden, wird es langsam ungemütlich. Der Server befindet sich offensichtlich nicht im bestmöglichen Zustand:

http://tomcat.apache.org/security-6.html

Fixed in Apache Tomcat 6.0.33	released 18 Aug 2011

    Moderate: Multiple weaknesses in HTTP DIGEST authentication CVE-2011-1184

    The implementation of HTTP DIGEST authentication was discovered to have several weaknesses:

        replay attacks were permitted
        server nonces were not checked
        client nonce counts were not checked
        qop values were not checked
        realm values were not checked
        the server secret was hard-coded to a known string

    The result of these weaknesses is that DIGEST authentication was only as secure as BASIC authentication.

    This was fixed in revision 1158180.

    This was identified by the Tomcat security team on 16 March 2011 and made public on 26 September 2011.

    Affects: 6.0.0-6.0.32

    Low: Information disclosure CVE-2011-2204

    When using the MemoryUserDatabase (based on tomcat-users.xml) and creating users via JMX, an exception during the user creation process may trigger an error message in the JMX client that includes the user's password. This error message is also written to the Tomcat logs. User passwords are visible to administrators with JMX access and/or administrators with read access to the tomcat-users.xml file. Users that do not have these permissions but are able to read log files may be able to discover a user's password.

    This was fixed in revision 1140071.

    This was identified by Polina Genova on 14 June 2011 and made public on 27 June 2011.

    Affects: 6.0.0-6.0.32

    Low: Information disclosure CVE-2011-2526

    Tomcat provides support for sendfile with the HTTP NIO and HTTP APR connectors. sendfile is used automatically for content served via the DefaultServlet and deployed web applications may use it directly via setting request attributes. These request attributes were not validated. When running under a security manager, this lack of validation allowed a malicious web application to do one or more of the following that would normally be prevented by a security manager:

        return files to users that the security manager should make inaccessible
        terminate (via a crash) the JVM

    Additionally, these vulnerabilities only occur when all of the following are true:

        untrusted web applications are being used
        the SecurityManager is used to limit the untrusted web applications
        the HTTP NIO or HTTP APR connector is used
        sendfile is enabled for the connector (this is the default)

    This was fixed in revision 1146703.

    This was identified by the Tomcat security team on 7 July 2011 and made public on 13 July 2011.

    Affects: 6.0.0-6.0.32

    Important: Information disclosure CVE-2011-2729

    Due to a bug in the capabilities code, jsvc (the service wrapper for Linux that is part of the Commons Daemon project) does not drop capabilities allowing the application to access files and directories owned by superuser. This vulnerability only occurs when all of the following are true:

        Tomcat is running on a Linux operating system
        jsvc was compiled with libcap
        -user parameter is used

    Affected Tomcat versions shipped with source files for jsvc that included this vulnerability.

    This was fixed in revision 1153824.

    This was identified by Wilfried Weissmann on 20 July 2011 and made public on 12 August 2011.

    Affects: 6.0.30-6.0.32


Fixed in Apache Tomcat 6.0.32	released 03 Feb 2011

    Note: The issue below was fixed in Apache Tomcat 6.0.31 but the release vote for the 6.0.31 release candidate did not pass. Therefore, although users must download 6.0.32 to obtain a version that includes a fix for this issue, version 6.0.31 is not included in the list of affected versions.

    Important: Remote Denial Of Service CVE-2011-0534

    The NIO connector expands its buffer endlessly during request line processing. That behaviour can be used for a denial of service attack using a carefully crafted request.

    This was fixed in revision 1066313.

    This was identified by the Tomcat security team on 27 Jan 2011 and made public on 5 Feb 2011.

    Affects: 6.0.0-6.0.30


Fixed in Apache Tomcat 6.0.30	released 13 Jan 2011

    Low: Cross-site scripting CVE-2011-0013

    The HTML Manager interface displayed web application provided data, such as display names, without filtering. A malicious web application could trigger script execution by an administrative user when viewing the manager pages.

    This was fixed in revision 1057270.

    This was identified by the Tomcat security team on 12 Nov 2010 and made public on 5 Feb 2011.

    Affects: 6.0.0-6.0.29

    Moderate: Cross-site scripting CVE-2010-4172

    The Manager application used the user provided parameters sort and orderBy directly without filtering thereby permitting cross-site scripting.

    This was fixed in revision 1037779.

    This was first reported to the Tomcat security team on 15 Nov 2010 and made public on 22 Nov 2010.

    Affects: 6.0.12-6.0.29

    Low: SecurityManager file permission bypass CVE-2010-3718

    When running under a SecurityManager, access to the file system is limited but web applications are granted read/write permissions to the work directory. This directory is used for a variety of temporary files such as the intermediate files generated when compiling JSPs to Servlets. The location of the work directory is specified by a ServletContect attribute that is meant to be read-only to web applications. However, due to a coding error, the read-only setting was not applied. Therefore, a malicious web application may modify the attribute before Tomcat applies the file permissions. This can be used to grant read/write permissions to any area on the file system which a malicious web application may then take advantage of. This vulnerability is only applicable when hosting web applications from untrusted sources such as shared hosting environments.

    This was fixed in revision 1022560.

    This was discovered by the Tomcat security team on 12 Oct 2010 and made public on 5 Feb 2011.

    Affects: 6.0.0-6.0.29


Fixed in Apache Tomcat 6.0.28	released 9 Jul 2010

    Important: Remote Denial Of Service and Information Disclosure Vulnerability CVE-2010-2227

    Several flaws in the handling of the 'Transfer-Encoding' header were found that prevented the recycling of a buffer. A remote attacker could trigger this flaw which would cause subsequent requests to fail and/or information to leak between requests. This flaw is mitigated if Tomcat is behind a reverse proxy (such as Apache httpd 2.2) as the proxy should reject the invalid transfer encoding header.

    This was fixed in revision 958977.

    This was first reported to the Tomcat security team on 14 Jun 2010 and made public on 9 Jul 2010.

    Affects: 6.0.0-6.0.27

    Note: The issue below was fixed in Apache Tomcat 6.0.27 but the release vote for the 6.0.27 release candidate did not pass. Therefore, although users must download 6.0.28 to obtain a version that includes a fix for this issue, version 6.0.27 is not included in the list of affected versions.

    Low: Information disclosure in authentication headers CVE-2010-1157

    The WWW-Authenticate HTTP header for BASIC and DIGEST authentication includes a realm name. If a  element is specified for the application in web.xml it will be used. However, a  is not specified then Tomcat will generate realm name using the code snippet request.getServerName() + ":" + request.getServerPort(). In some circumstances this can expose the local host name or IP address of the machine running Tomcat.

    This was fixed in revision 936540.

    This was first reported to the Tomcat security team on 31 Dec 2009 and made public on 21 Apr 2010.

    Affects: 6.0.0-6.0.26

Das alles wirkt sehr unsicher und steht für mich exemplarisch für den gelebten Datenschutzwillen des Staates. Die Daten werden verkauft und es ist kaum jemandem bekannt. Die technische Umsetzung lässt sehr zu Wünschen übrig und läuft über technische Systeme, die bekanntermaßen fehlerhaft sind und dringend aktualisiert werden müssten. Auch scheint eine Endkontrolle und qualifizierte Abnahme bei IT-Projekten (die bekanntermaßen für den Staat meistens recht teuer sind) nicht immer stattzufinden.

Als einzigen Pluspunkt kann ich vermerken, dass es kein zentrales bundesweites Portal mit Online-Fernabfrage für alle Meldedaten zu geben scheint. Dann wären wir sicherlich nicht mehr weit entfernt von dem, was den Israelis vor Kurzem geschehen ist.

Ich bin froh, dass ich mich ausgetragen habe, aber ob jemand mit etwas krimineller Energie und technischem Verständnis nicht trotzdem (kostenlos) an meine Daten (und alle anderen) kommen könnte, halte ich zumindest für fragwürdig. Auf den ersten Blick wirkt das Düsseldorfer System nicht abgehärtet gegen Angriffe.

7Jul/110

Company Connect – Spass mit dem Telekom Vertrieb

Ein Kunde hatte ein Problem. Wegen einer speziellen Applikation, wurde ein schnellerer Ping nach Taiwan benötigt. Ein herkömmlicher Telekom DSLer brachte konstant 290 - 320ms zu Hinet, einem grossen taiwanesischen Provider. Eine streßfreie Nutzung der Applikation war mit diesen Paketlaufzeiten nicht möglich, deshalb forschte man nach Alternativen um eine schnellere Verbindung herzustellen. Ich war von Anfang an skeptisch ob eine Verbesserung der Situation überhaupt möglich war. Mit dem DSLer wurden die Pakete zunächst über das Telekom-Netz nach New York geroutet. Von dort aus ging es mit AT&T weiter quer durch die USA, dann über den Pazifik zu Hinet. Von Kalifornien bis Taiwan entstand der Hauptteil der Paketlaufzeit - fast 200ms. Meiner Meinung nach wäre eine Verbesserung nur möglich gewesen, wenn die Telekom selbst einen Backbone ihres Netzes in Taiwan unterhalten würde. Bei meiner Suche nach Anbietern, die das unmögliche leisten könnten, stieß ich auf das Telekom-Produkt Company Connect, das aus einer Standleitung besteht, die direkt an den Telekom-Backbones hängt. Telefonisch versicherte man mir, dass man mit "CoCo" ohne weiteres einen Ping unter 50ms nach Asien erreicht. Ich war freudig überrascht, aber nach wie vor skeptisch. Einige Tage später kam ein jung-dynamischer Telekom-Vertriebler ins Haus und bestätigte die Behauptung der Hotline erneut. "Ich habe mich für Sie erkundigt, das ist alles kein Problem. Die Telekom unterhält weltweit Backbones." Beim verlassen des Gebäudes erzählte er mir noch, dass er sich gerade einen neuen BMW bestellt hätte. Sehr schön. Am nächsten Tag kam per E-Mail direkt der Vertrag ins Haus. Wir schickten ihn mit dem Zusatz zurück, dass wir den Vertrag stornieren können, falls keine Pings unter 100ms nach Taiwan erreicht werden könnten. Die Telekom unterschrieb. Danach passierte erst einmal lange nichts mehr. Der Vertriebler hatte eine Schaltung innerhalb eines Monats zugesichert. Nach einem Monat fragten wir nach, der Vertriebler war allerdings ab dann (bis heute) nicht mehr erreichbar. Auch E-Mails an seine Abteilung wurden nicht beantwortet. Nach 2 1/2 Monaten wurden wir ungeduldig und drohten mit einer Stornierung des Auftrags, falls nicht innerhalb einer Woche ein Termin für die Schaltung vereinbart werden könnte. Danach ging es plötzlich sehr schnell. Die "Eskalationsstelle" organisierte einen Termin für uns, die Leitung wurde geschaltet. Für einen ersten Test klemmte ich einen Router und mein Netbook an die brandneue Leitung.

box-ww-11:57:35 ~ -> ping www.hinet.net
PING www.hinet.net (202.39.224.7) 56(84) bytes of data.
64 bytes from 202-39-224-7.HINET-IP.hinet.net (202.39.224.7): icmp_req=1 ttl=237 time=306 ms
64 bytes from 202-39-224-7.HINET-IP.hinet.net (202.39.224.7): icmp_req=2 ttl=237 time=306 ms

LOL. Was hätte man anderes erwarten können? Exakt die gleichen Ping-Werte wie zuvor. Exakt die gleiche internationale Route wie zuvor. Kein technisches Problem. Einfach nur viel Bullshit-Blah-Blah. Ich bin gespannt, ob die Kündigung genauso "problemlos" funktionieren wird wie die Schaltung.

10Feb/110

USB Spickzettel: So sehen USB Stecker aus

Im Bild zu sehen von links nach rechts: Micro USB "B" - Mini USB "B" - Mini USB "B" 5 Pin - USB "A" weiblich - USB "A" männlich - USB "B" männlich