Sonntag, 13. März 2011

QNAP: Autostart (autorun.sh) flash-schonend

Eigene Applikationen beim Reboot/Boot automatisch zu starten kann man beim QNAP TS-419-P+ über die autorun.sh steuern, wie im QNAP Wiki beschrieben.

Einzig der dort vorgeschlagene Ort ist etwas versteckt.
meine autorun.sh sieht deshalb so aus:

#!/bin/sh
/mnt/HDA_ROOT/myautorun.sh


Auf /share/MD0_DATA liegen eher Applikation, auf /mnt/HD0_ROOT liegen Systemdateien.

Verlagernd in eine andere Batch-Datei sollte man die autorun.sh in jedem Fall, um bei häufigem Editieren den Flash zu schonen.

Samstag, 5. März 2011

QNAP - SAMBA-Zugriff von Linux Ubuntu aus

Auf meinem QNAP TS-419-P+ möchte ich ressourcensparend nicht einen SMB- und einen NFS-Server parallel laufen lassen. Da ich durch Windows-Clients auf SAMBA angewiesen bin, möchte ich NFS deaktivieren und von Linux-, insbesondere Ubuntu-Clients auf die SMB-Shares zugreifen.

Komischerweise hatte mit der Grundinstallation ein Zugriff von Windows 7 aus funktioniert, der Ubuntu-Client lieferte jedoch "permission denied". Zur Fehleranalyse habe ich auf dem QNAP unter "System Administration -> System Logs -> System Connection Logs" das Logging für "all Events" aktiviert. Dann fährt die CPU-Last zwar auf über 50% bei jedem SMB-Zugriff. Aber man sieht sofort, welche Zugriffe versucht werden.

Ergebnis ist:
  • Auf dem QNAP ist unter "Network Services -> Microsoft Networking -> Advanced Options" die Option "Allow only NTLMv2 authentication".
  • Windows 7 nutzt NTMv2.
  • Bei Ubuntu und auf dem Asus eeePC 701 ist NTLMv2 standardmässig nicht aktiv.
  • Der Samba-Client unter Linux lässt sich mit einer zusätzlichen Konfigurationszeile zur Nutzung von NTLMv2 bewegen (unter Ubuntu /etc/samba/smb.conf):client ntlmv2 auth = yes

Sonntag, 27. Februar 2011

Cars, Computers and Security

Ich hatte vorgehabt, auf einem Networking Event, auf dem ein Haufen intelligenter Menschen aus der Automobilbranche auflaufen sollten, eine Vortrag durch die IT- und IT-Security-Brille zu halten.
Meine Prioritäten wollten es anders.
Dennoch möchte ich meine Notizen nicht wegwerfen.
Hier die Stichworte:
  • Geschichte
    • <1980 Cars & Computers, einzige Gemeinsamkeit: das "C"
    • ca. 1980: elektronische Steuergeräte
    • ca. 2000: ca. 20 Steuergeräte je Auto, erste fest installiert, später per software update programmierbar/änderbar (z.B. Einspritzverhalten (Software-Tuning), Airbag-Logik)
    • CANBUS
    • Wartungsbuchse, "Auslesen des Fehlerspeichers", VAG-COM et al.
    • keyless go
    • jetzt: Internet im Auto, Android im Auto
  • Hacker-Angriffe:
    • DOS-Attacke auf Funkschlüssel durch wireless scrambler
    • hacking von keyless go via Funk-Relay
  • Threats and opportunities von der totalen Vernetzung der Autos
  • IT-Security as a business enabler:
    • Abrechnung des Ladens eines Elektroautos an einer öffentlichen Zapfsäule nicht möglich ohne intelligente digitale Signaturverfahren: Wie berechne ich die richtige Menge kWh des richtigen Energieversorgers dem richtigen Konsumenten - über die Zapfsäule eines Dritten?
    • Herausforderungen:
      • Auto und Motor vom Automobilhersteller
      • Zapfsäule/Ladestation vom Stromversorger oder einer Tankstelle im Auftrag des Stromversorgers
      • Datenkommunikation und Abrechnungssystem über einen Treuhänder (z.B. Mobilfunkprovider)
  • Datenschutz/Privacy in Smart Grids: Bewegungsprofile durch Ladevorgänge an Ladestationen
  • Sartre: Safe Road Trains for the Environment

Donnerstag, 3. Februar 2011

Cisco IP-Phone 7960 an Fritzbox

Das Cisco 7960 ist ein älteres SIP-Phones, das sechs SIP-Accounts parallel unterstützt. Dazu muss allerdings eine SIP- und keine SCCP-Firmware aufgespielt sein.

Die Konfiguration bezieht es dann von einem TFTP-Server im selben Subnetz.
Zunächst sucht es nach der Datei SIPDefault.cnf. Auch wenn alle anderen telefonspezifische Dateien in einem Unterordner auf dem TFTP-Server liegen können, so muss diese Datei im Hauptverzeichnis liegen.

DIPDefault.cnf könnte so aussehen:


# SIP Default Generic Configuration File
# Registrar FRITZ!Box 7270

# Image Version
# image_version: P0S3-8-12-00 Auskommentiert da SIP Firmware schon geladen ist

# Proxy Server Nichtbenötigte auskommentiert
proxy1_address: "<IP der Fritzbox>" ; Can be dotted IP or FQDN
# proxy2_address: "" ; Can be dotted IP or FQDN
# proxy3_address: "" ; Can be dotted IP or FQDN
# proxy4_address: "" ; Can be dotted IP or FQDN
# proxy5_address: "" ; Can be dotted IP or FQDN
# proxy6_address: "" ; Can be dotted IP or FQDN

# Proxy Server Port (default - 5060) Nichtbenötigte auskommentiert
proxy1_port: 5060
# proxy2_port: 5060
# proxy3_port: 5060
# proxy4_port: 5060
# proxy5_port: 5060
# proxy6_port: 5060

# Proxy Registration (0-disable (default), 1-enable)
proxy_register: 1

# Phone Registration Expiration [1-3932100 sec] (Default - 3600)
timer_register_expires: 3600

# Codec for media stream (g711ulaw (default), g711alaw, g729a)
preferred_codec: "g711alaw"

# TOS bits in media stream [0-5] (Default - 5)
tos_media: 5

# Inband DTMF Settings (0-disable, 1-enable (default))
dtmf_inband: 1

# Out of band DTMF Settings (none-disable, avt-avt enable (default), avt_always - always avt )
dtmf_outofband: "0"

# DTMF dB Level Settings (1-6dB down, 2-3db down, 3-nominal (default), 4-3db up, 5-6dB up)
dtmf_db_level: 3

# SIP Timers
timer_t1: 500 ; Default 500 msec
timer_t2: 4000 ; Default 4 sec
sip_retx: 10 ; Default 10
sip_invite_retx: 6 ; Default 6
timer_invite_expires: 180 ; Default 180 sec

####### New Parameters added in Release 2.0 #######

# template (.xml format file relative to the TFTP root directory)
# dial_template: dialplan Auskommentiert, da keine dialplan.xml da ist

# TFTP Phone Specific Configuration File Directory
tftp_cfg_dir: "./cisco7960/" ; Example: ./sip_phone/

# Time Server (There are multiple values and configurations refer to Admin Guide for Specifics)
sntp_server: "ntp.sipgate.net" ; SNTP Server IP Address
sntp_mode: directedbroadcast ; unicast, multicast, anycast, or directedbroadcast (default)
time_zone: CET ; Time Zone Phone is in
dst_offset: 1 ; Offset from Phone's time when DST is in effect
dst_start_month: April ; Month in which DST starts
dst_start_day: "" ; Day of month in which DST starts
dst_start_day_of_week: Sun ; Day of week in which DST starts
dst_start_week_of_month: 1 ; Week of month in which DST starts
dst_start_time: 02 ; Time of day in which DST starts
dst_stop_month: Oct ; Month in which DST stops
dst_stop_day: "" ; Day of month in which DST stops
dst_stop_day_of_week: Sunday ; Day of week in which DST stops
dst_stop_week_of_month: 8 ; Week of month in which DST stops 8=last week of month
dst_stop_time: 2 ; Time of day in which DST stops
dst_auto_adjust: 1 ; Enable(1-Default)/Disable(0) DST automatic adjustment
time_format_24hr: 1 ; Enable(1 - 24Hr Default)/Disable(0 - 12Hr)

# Do Not Disturb Control (0-off, 1-on, 2-off with no user control, 3-on with no user control)
dnd_control: 0 ; Default 0 (Do Not Disturb feature is off)

# Caller ID Blocking (0-disbaled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
callerid_blocking: 0 ; Default 0 (Disable sending all calls as anonymous)

# Anonymous Call Blocking (0-disabled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
anonymous_call_block: 0 ; Default 0 (Disable blocking of anonymous calls)

# DTMF AVT Payload (Dynamic payload range for AVT tones - 96-127)
dtmf_avt_payload: 101 ; Default 101

# Sync value of the phone used for remote reset
sync: 1 ; Default 1

####### New Parameters added in Release 2.1 #######

# Backup Proxy Support
proxy_backup: "" ; Dotted IP of Backup Proxy
proxy_backup_port: 5060 ; Backup Proxy port (default is 5060)

# Emergency Proxy Support
proxy_emergency: "<IP der Fritzbox>" ; Dotted IP of Emergency Proxy
proxy_emergency_port: 5060 ; Emergency Proxy port (default is 5060)

# Configurable VAD option
enable_vad: 0 ; VAD setting 0-disable (Default), 1-enable

####### New Parameters added in Release 2.2 ######

# NAT/Firewall Traversal
nat_enable: 0 ; 0-Disabled (default), 1-Enabled
# nat_address: "" ; WAN IP address of NAT box (dotted IP or DNS A record only)
# voip_control_port: 5060 ; UDP port used for SIP messages (default - 5060)
# start_media_port: 16384 ; Start RTP range for media (default - 16384)
# end_media_port: 32766 ; End RTP range for media (default - 32766)
# nat_received_processing: 1 ; 0-Disabled (default), 1-Enabled

# Outbound Proxy Support
outbound_proxy: "<IP der Fritzbox>" ; restricted to dotted IP or DNS A record only
outbound_proxy_port: 5060 ; default is 5060

####### New Parameter added in Release 3.0 #######

# Allow for the bridge on a 3way call to join remaining parties upon hangup
cnf_join_enable : 0 ; 0-Disabled, 1-Enabled (default)

####### New Parameters added in Release 3.1 #######

# Allow Transfer to be completed while target phone is still ringing
semi_attended_transfer: 0 ; 0-Disabled, 1-Enabled (default)

# Telnet Level (enable or disable the ability to telnet into the phone)
telnet_level: 2 ; 0-Disabled (default), 1-Enabled, 2-Privileged

####### New Parameters added in Release 4.0 #######

# XML URLs
services_url: "http://webserver/cisco7960/cisco7960services.xml" ; URL for external Phone Services
directory_url: "" ; URL for external Directory location
logo_url: "http://webserver/cisco7960/logo.bmp" ; URL for image

# HTTP Proxy Support
http_proxy_addr: "" ; Address of HTTP Proxy server
http_proxy_port: 80 ; Port of HTTP Proxy Server (80-default)

# Dynamic DNS/TFTP Support
dyn_dns_addr_1: "<IP der Fritzbox>" ; restricted to dotted IP
dyn_dns_addr_2: "" ; restricted to dotted IP
dyn_tftp_addr: "<IP des TFTP-Servers>" ; restricted to dotted IP

# Remote Party ID
remote_party_id: 0 ; 0-Disabled (default), 1-Enabled

####### New Parameters added in Release 4.4 #######

# Call Hold Ringback (0-off, 1-on, 2-off with no user control, 3-on with no user control)
call_hold_ringback: 0 ; Default 0 (Call Hold Ringback feature is off)

####### New Parameters added in Release 6.0 #######

# Dialtone Stutter for MWI
stutter_msg_waiting: 1 ; 0-Disabled (default), 1-Enabled

# RTP Call Statistics (SIP BYE/200 OK message exchange)
call_stats: 1 ; 0-Disabled (default), 1-Enabled

# Setting for Message speeddial to UOne box
# Belegung mit der FritzBox Voice Mail Nummer
messages_uri: "**600"


logo_url
sollte dabei auf ein BMP der Maße 90x56 mit 256 Graustufen zeigen. Als Farben sollten genutzt werden: #000000 (schwarz), #FFFFFF (weiss), #404040 (grau) und #808080 (hellgrau).
services_url zeigt auf ein TXT oder XML. Der Aufbau des XML ist bei IBM ganz gut beschrieben.

Im Unterverzeichnis "./cisco7960" auf dem TFTP-Server kann jetzt pro Telefon eine Datei SIP<Mac>.cnf abgelegt werden.
Weiterhin sucht das Telefon nach einer optionale RingList.xml. Diese ist auf den Cisco-Seiten sehr gut beschrieben.

Samstag, 18. Dezember 2010

TAN wird unsicher - bei der Postbank

Die Postbank will die iTAN-Papierliste sterben lassen.
Als Ersatz werden "mobileTAN" und "chipTAN" angeboten.
Dass das auf Dauer billiger ist, kann man sich vorstellen. Aber dass es dem Kunden als sicherer verkauft wird, ist einfach frech und eine Lüge.

mobileTAN:
Hierbei hinterlegt der Kunde seine Mobilfunknummer bei der Postbank (1. Datenschutz. Was hat die meine Handynummer zu interessieren?). Für jede anstehende Transaktion wird eine SMS an diese Nummer geschickt. (2.Meine TAN-Liste habe ich immer an einem "sicheren Ort" aufbewahrt, wo sie mir nicht so leicht abhanden kommen oder gestohlen werden kann. Mein Handy habe ich immer dabei. Wer mein PIN ausspioniert, braucht sich also nur mein Handy "ausborgen", statt bei mir zuhause einzubrechen. 3. Eine Handykommunikation lässt sich leicht abhören als eine vor Ort vorliegende Papierliste. IMSI-Catcher sind günstig, die GSM-Verschlüsselung geknackt.)
Diese SMS enhält dann nicht nur eine TAN, sondern auch gleich den Betrag, der überwiesen werden soll. Dies soll die Sicherheit erhöhen, da so niemand mittels Man-in-the-middle ein hingesendete TAN abfangen und die Überweisung auf sein eigenes Konto umbiegen kann. (Aber: 4. Datenschutz. Was ist, wenn Mobilfunkprovider diese SMS in Logfiles schreiben. Als Admin bei einem Provider kann man also mit einer kurzen Volltextsuche und der Kenntnis meiner Mobilfunknummer (siehe Visitenkarte) sämtliche Kontobewegungen, die per SMS autorisiert wurden, anzeigen.)

Es geht noch unsicherer: chipTAN.

Zur Erstellung einer TAN schiebt man seine EC-Karte in ein portables Lesegerät (etwa so dick wie 30 Papier-TAN-Listen). Die Elektronik auf dem Gerät ermittelt dann aus den Karteninformationen, der aktuellen Uhrzeit und einem im Leser gespeicherten Schlüssel eine neue TAN.
Statt der TAN-Liste müsste mir der Bösewicht also das Lesegerät stehlen? Nein, einfacher, er beantragt für SEINE eigene Postbankkarte auch ein Lesegerät. Die Lesegeräte sind unabhängig vom Konto und gegeneinander austauschbar. Der Bösewicht muss nur noch meine EC-Karte (Taschendiebstahl), die PIN bzw. das Internet-Kennwort (per Spyware auf meinem Computer) stehlen. Die früher zusätzlich erforderliche TAN braucht er nicht mehr, die erzeugt er später zum Zeitpunkt des Kontoleerräumens selbst.
Im Wesentlichen wurde mit der chipTAN die TAN als solche komplett abgeschafft.

Ich rufe hiermit alle Postbankkunden auf, sich dringend kurz vor dem 18.1.2011 noch schnell ein letztes Mal eine Papier-TAN-Liste zu bestellen, um damit ihren Protest kundzutun.

Sonntag, 4. Juli 2010

Fehler in der VCARD-Import-Implementierung von Outlook 2007

Ein paar Experimente mit dem Import von VCARDs haben mir gezeigt, was andere auch schon festgestellt haben:
Microsoft hat in Outlook den VCARD-Import nicht 100% spezifikationskonform implementiert.

So habe ich versucht, Visitenkarten im VCARD 2.1-Format zu importieren.

Dabei sind mir folgende Unstimmigkeiten aufgefallen:
  1. Outlook ignoriert Zeilen, die mit "CATEGORIES" beginnen.
  2. Outlook erwartet bei einem eingebetteten PHOTO das "ENCODING=b", obwohl dies nur für VCARDS 3.0 gilt, und ignoriert ENCODING=BASE64
  3. Bei der Angabe eines CHARSET achtet Outlook auf Groß- und Kleinschreibung (case-sensitive), ignoriert jedoch "UTF-8" und versteht nur "utf-8".
Bestätigungen und Widersprüche als Kommentar zu diesem Blog-Eintrag sind willkommen.

Samstag, 12. Juni 2010

VCARD Import von XING nach Outlook / Evolution inklusive Fotos

Das VCARD-Visitenkartenfomat bietet die Möglichkeit, ein Portrait-Bild einzubetten.
XING bietet einen Adressexport im VCARD-Format an.
Leider haben die XING-Entwickler etwas geschlampt und einen Export erzeugt, der einer Mischung aus VCARD 2.1 und 3.0 entspricht. Darüber sehen Outlook und Evolution zum Glück hinweg.

Dass Umlaute in UTF-8 kodiert sind, als Zeichensatz aber explizit ISO-8859-1 in der VCARD angegeben wird, verzeihen die beiden Programme natürlich nicht.

Zur die Portrait-Bilder greift XING auf die Spezifikation zurück, die die Angabe einer URL zulässt. Damit können Outlook und Evolution jedoch nichts anfangen.
Was die Adressverwaltungen beim VCARD-Import jedoch verstehen, sind BASE64-kodierte Bilder.

Was liegt also näher, als alle Bilder per wget von XING herunterzuladen und die URL in den VCARDs durch BASE64-kodierte Bilder zu ersetzen?
Die Zeichensatzangaben können wir dann auch gleich korrigieren.
Dabei muss beachtet werden, dass auch MS Outlook nicht 100% die V2.1-Spezifikation versteht. Das nach V2.1 konforme "ENCODING=BASE64" versteht Outlook nicht. Outlook braucht die RFC2426-konforme Variante "ENCODING=b".
Weiterhin ist Outlook "case sensitive" in Bezug auf den Wert zu CHARSET. Es muss also "utf-8" und nicht "UTF-8" heißen.

Folgendes Bash-Skript erfüllt den Zweck:
#!/bin/bash
# Copyright 2010 Superwallah, this code is distributed under GPL 3.0
if [ "$1" = "" ] ; then
echo "usage: ./xing2outlook.sh vcards-XING.vcf"
exit
fi
# wget all images
wget -N $(gawk -F";" '/PHOTO/ { print substr($3,11,length($3)-11)}' $1 )
# correct charset settings in XING vcards
sed -e 's/ISO-8859-1/utf-8/g' $1 > neuesvcard_out.vcf
# delete empty address lines
sed -e '/;;;;;;/d' neuesvcard_out.vcf > XING4Outlook.vcf
# convert all pictures into base64
for i in $( ls *.jpeg *.jpg *.gif 2> error.log ); do
base64 --wrap=0 $i > $i.b64
# BASE64 enthält /, daher ! sed-Trennzeichen
sed -e 's!VALUE=URL;TYPE=JPEG:.*'$i'!ENCODING=b;TYPE=JPEG:'$(cat $i.b64)'!g' XING4Outlook.vcf > neuesvcard_out.vcf
cp neuesvcard_out.vcf XING4Outlook.vcf
done
rm neuesvcard_out.vcf


Dabei sei allerdings auf Abschnitt 4.2 der XING AGBs verwiesen, die keinen automatisierten Zugriff erlauben.
Wörtlich zitieren darf ich die AGBs hier allerdings auch nicht, da ich sonst ebenfalls gegen denselben Abschnitt verstoßen würde.

Also: Es handelt sich um ein Gedankenexperiment. Die Nutzung ist ausdrücklich untersagt. Ich übernehme keinerlei Gewähr für Auswirkung der Nutzung des Codes.

Montag, 17. Mai 2010

Durch Provokation die Bürger gegen den Überwachungsstaat mobilisieren

"Ich habe nichts zu verbergen." und "Würdest Du das nicht auch unterstützen, wenn sie Dein Kind missbrauchen oder Deinen Vater in der U-Bahn zusammenschlagen würden?" - Das ist leider häufig die spontane Reaktion Vieler auf die Diskussion über Videoüberwachung, Vorratsdatenspeicherung und Überwachung im Internet.

Die "Spätfolgen" erkennen viele nicht. Diese werden sich ja auch es schleichend und somit nach und nach von der Gesellschaft akzeptiert einstellen. Das "diffuse Gefühl vom Beobachtetsein" wird ja schon jetzt häufig dem Paranoiker zugeschrieben. Was Null-Toleranz-Politik wirklich bedeutet, wird die Masse allerdings erst dann begreifen, wenn sie mit ihr aus heutiger Sicht nicht übereinstimmt.

Wo ist also Gesetzbrechen fast schon gesellschaftlich toleriert?
  • Bei der Steuererklärung - sofern es sich um "kleine" Beträge handelt.
  • Noch viel mehr: Im Straßenverkehr!
    "Ich war doch nur 20 drüber." - Ja, eben "drüber"(!), sprich jenseits des gesetzlich erlaubten.
    "Wenn der Penner nicht rechts rüberfährt, dann muss ich ja wohl rechts überholen." - Nein. Das ist verboten. Aufregen über Sonntagsfahrer hingegen ist gesetzlich erlaubt.
    "Ich war doch nur kurz auf einen Sprung Brötchen holen. Außerdem ist doch hier alles vollgeparkt." - Nee. "Parkverbot" bedeutet "Parken ist hier verboten, also gesetzlich nicht erlaubt.".
    Nun gut, es sind Ordnungswidrigkeiten, keine Straftaten. Wie hoch ist eigentlich das jährlich Volumen an Strafzetteln im Vergleich zu Geldstrafen bei Strafdelikten?
  • Rauchen im öffentlichen Rauchverbot
Wie hier im Blog schon mal vorgeschlagen, wäre eine Überwachung im Straßenverkehr auf Basis von Handydaten sicher problemlos möglich. Öffentliche Überwachungskameras könnten nach brennenden Zigaretten filtern. Und der Abgleich von Handy-Bewegungsprofilen könnte die Fahrtenbücher der Steuererklärungen auf Plausibilität prüfen.

Wenn hierfür nun offiziell eine technische Lösung in Politikkreisen diskutiert werden würde, wäre das Geschrei der Bürger (und nicht nur der Daten- und Verbraucherschützer) groß. Es würde Klagen geben und eine öffentliche Diskussion, für die sich sicher sogar die 50-Cent-Boulevardpresse interessieren würde.
Man würde ein Exempel statuieren.

Und plötzlich würde die Diskussion "Wann sollte der Staat überwachen dürfen?" jeden interessieren. Zumindest wäre endlich dieser dumme Satz "Ich habe doch nichts zu verbergen." tot.

Superwallah - IT, Innovation, Indien

Globaler Cyber-Fortschritt ist heute

Suche

 

ich

Du bist nicht angemeldet.

Wer bist Du?

Sag es mir. Und hinterlass einen Kommentar nach Lesen eines Eintrag!

Aktuelle Beiträge

Methode zur Organisation...
Ich habe auf dem 34C3 eine interessante Methode kennengelernt,...
superwallah - 3. Jan, 22:11
Filofax Personal Abmessungen
Wer eigene Filofax-Einlagen basteln möchte, muss sich...
superwallah - 3. Jan, 15:01
Sicherheit in Android...
TLS ist nur so sicher wie die Gesamtheit der Root-CAs,...
superwallah - 13. Jun, 21:30
Den richtigen Co-Working-Space...
Die moderne Welt des Arbeitens liegt im Teilen der...
superwallah - 24. Mai, 18:16
Adressen und Kalender...
Wer meinem Blog folgt, weiss, dass ich mich konsequent...
superwallah - 23. Mai, 09:36

Meine Gadgets

Gesehene Filme

Zähler

Web Counter by www.webcounter.goweb.de
Web Counter by www.webcounter.goweb.de

Status

Online seit 7165 Tagen
Zuletzt aktualisiert: 3. Jan, 22:11