Daniels Blog
23Jun/140

VAULT – A small script to create and mount encfs encrypted directories on the fly

This small script will allow you to create, mount and unmount encfs directories on the fly.
As the need for encryption seems to rise all the time, usable solutions always come in handy.

You can create a safe storage for sensible data quickly and easily with this script.

All you need to do to is to install encfs with your distrubutions package manager and adjust the tiny CONFIG section to your needs.
The script will take care of the rest (hopefully).

Comments welcome.

#!/bin/bash
#
# VAULT
# DR 20140624
# http://www.daniel-ritter.de/blog/vault-create-and-mount-encfs-encrypted-directories-on-the-fly
# 
# 
# CREATE AND MOUNT ENCFS ENCRYPTED DIRECTORIES ON THE FLY
#
# ENCFS NEEDS TO BE INSTALLED (apt-get install encfs for Debian/Ubuntu)
# ADJUST CONFIG SECTION TO YOUR NEEDS
#
# NO GUARANTEES, KNOW WHAT YOU ARE DOING
# THIS IS LICENSED WITH GPL
# http://www.gnu.org/licenses/gpl.txt



# CONFIG

VAULTBASEDIR=/home/myusername
FILEMANAGER=nautilus

# END OF CONFIG


clear
echo "VAULT"
echo


# INITIAL SETUP creates directories and sets up encryption
if [ ! -d "$VAULTBASEDIR/.vault_dec" ];then
echo "NO VAULT FOUND. CREATING..."
echo
echo
encfs $VAULTBASEDIR/.vault $VAULTBASEDIR/.vault_dec
touch $VAULTBASEDIR/.vault_dec/mounted
fusermount -u $VAULTBASEDIR/.vault_dec
echo
echo
echo "VAULT CREATED. RUN vault TO LOCK AND UNLOCK IT."
exit
fi



# VAULT is unlocked, lock it
if [[ -e $VAULTBASEDIR/.vault_dec/mounted ]];then
echo "Locking VAULT"
echo
fusermount -u $VAULTBASEDIR/.vault_dec
ls -la $VAULTBASEDIR/.vault_dec
echo
echo
echo "LOCKED"


# VAULT IS LOCKED, unlock it and open filemanager
else
echo "UNLOCKING VAULT"
encfs $VAULTBASEDIR/.vault $VAULTBASEDIR/.vault_dec
$FILEMANAGER $VAULTBASEDIR/.vault_dec
fi

veröffentlicht unter: Linux, Ubuntu keine Kommentare
10Sep/130

CanoScan Lide 110: Out of the box Hardware für Ubuntu

canoscanlide110

Erfreulich problemlos funktioniert dieser Flachbettscanner unter Ubuntu 13.04. Per USB anstecken. Fertig. Danach kann direkt mit Tools wie "Simple Scan" gescannt werden. So soll es ein.

Möglich, dass es Probleme mit der "E-Mail-Taste" und der "Photokopier-Taste" gibt. Da ich diese Funktionen nicht benötige kann ich dazu nichts sagen, zum reinen Scannen ist das Gerät allerdings super.

# /var/log/syslog nach dem Einstecken

Sep 10 15:15:45 think kernel: [  117.489711] usb 3-2: new high-speed USB device number 3 using xhci_hcd
Sep 10 15:15:45 think kernel: [  117.507211] usb 3-2: New USB device found, idVendor=04a9, idProduct=1909
Sep 10 15:15:45 think kernel: [  117.507218] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Sep 10 15:15:45 think kernel: [  117.507222] usb 3-2: Product: CanoScan
Sep 10 15:15:45 think kernel: [  117.507225] usb 3-2: Manufacturer: Canon
Sep 10 15:15:45 think colord: Device added: sysfs-Canon-CanoScan
#Kernel                                                                                               
Linux think 3.8.0-30-generic #44-Ubuntu SMP Thu Aug 22 20:52:24 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux    
15Mai/130

Logfile Monitoring und E-Mail Benachrichtigung mit swatch unter Debian und Ubuntu

logfiles_mit_swatch_monitoren

Logfiles enthalten viele wertvolle Informationen. Eine Platte ist defekt, das RAID gibt den Geist auf, ein Backup ist fehlgeschlagen oder die Batterie von der USV ist kaputt. Leider bekommt man von diesen wichtigen Infos wenig mit, wenn man sich über auftauchende Probleme nicht automatisiert benachrichtigen lässt. Niemand kann (oder will :)) täglich alle anfallenden Logs checken.

Ein einfaches und effektives Monitoring kann man sich mit dem kleinen Daemon "swatch" einrichten. Swatch liest live Logfiles mit und führt Aktionen aus, wenn bestimmte Schlüsselworte in den Logfiles auftauchen.

Hier ein Quick and Dirty Setup um das Logfile von rsnapshot, einem Backuptool zu monitoren und bei Problemen eine Mail zu versenden:

# swatch installieren
apt-get -y install swatch

Nun muss man sich das Logfiles das überwacht werden soll ansehen und identifizieren, was dort gelogged wird, wenn Fehler auftauchen. Hier als Beispiel das Logfile von rsnapshot nach einem Backup, das Probleme verursacht hat:

[15/May/2013:01:00:21] require Lchown
[15/May/2013:01:00:21] Lchown module loaded successfully
[15/May/2013:01:00:21] /usr/bin/rsnapshot daily: started
[15/May/2013:01:00:21] Setting locale to POSIX "C"
[15/May/2013:01:00:21] echo 13895 > /var/run/rsnapshot.pid
[15/May/2013:01:00:21] /root/scripts/nas-backup
[15/May/2013:01:00:26] /bin/rm -rf /media/net/nas1/data/daily.6/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.5/ /media/net/nas1/data/daily.6/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.4/ /media/net/nas1/data/daily.5/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.3/ /media/net/nas1/data/daily.4/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.2/ /media/net/nas1/data/daily.3/
[15/May/2013:01:13:30] mv /media/net/nas1/data/daily.1/ /media/net/nas1/data/daily.2/
[15/May/2013:01:13:30] /bin/cp -al /media/net/nas1/data/daily.0 /media/net/nas1/data/daily.1
[15/May/2013:01:30:07] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /media/local/share /media/net/nas1/data/daily.0/localhost/
[15/May/2013:01:32:19] rsync succeeded
[15/May/2013:01:32:19] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /etc /media/net/nas1/data/daily.0/localhost/
[15/May/2013:01:32:21] rsync succeeded
[15/May/2013:01:32:21] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /home /media/net/nas1/data/daily.0/localhost/
[15/May/2013:03:28:06] rsync succeeded
[15/May/2013:03:28:06] /usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded /var /media/net/nas1/data/daily.0/localhost/
[15/May/2013:03:55:06] /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsync returned 12 while processing /var/
[15/May/2013:03:55:06] /usr/bin/logger -i -p user.err -t rsnapshot /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsync returned 12 while processing /var/
[15/May/2013:03:55:06] touch /media/net/nas1/data/daily.0/
[15/May/2013:03:55:08] No directory to delete: /media/net/nas1/data/_delete.13895
[15/May/2013:03:55:08] rm -f /var/run/rsnapshot.pid
[15/May/2013:03:55:08] /usr/bin/logger -i -p user.err -t rsnapshot /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsnapshot daily: completed, but with some errors
[15/May/2013:03:55:08] /usr/bin/rsnapshot daily: ERROR: /usr/bin/rsnapshot daily: completed, but with some errors

Im rsnapshot-Log tauchen also die Wörter "ERROR:" und "errors" auf, falls es Probleme gibt. Dies teilt man Swatch in einer neu angelegten Konfigurationsdatei mit:

#/etc/swatch/watch_rsnapshot
watchfor /ERROR|errors/
mail addresses=daniel\@daniel-ritter.de,subject=RSNAPSHOT_BACKUP_HAT_WARNUNG_GENERIERT

In der "watchfor"-Zeile werden die zu überwachenden Schlüsselwörter konfiguriert, in der "mail"-Zeile gibt man eine Mail-Adresse und ein Subject für die Warn-Email an.

Nun muss swatch nur noch gestartet werden:

/usr/bin/swatch  --config-file=/etc/swatch/watch_rsnapshot --tail-file=/var/log/rsnapshot.log --daemon

Fallstricke:

- Das Starten von swatch muss in die Startskripte des Servers eingefügt werden, damit swatch nach einem Reboot sofort wieder mit der Überwachung beginnt.

- Das E-Mail System des Servers muss funktionieren. Am Besten generiert man eine Testmail und überprüft, ob sie tatsächlich bei der konfigurierten E-Mail Adresse ankommt. Dafür kann man einfach eines der zu überwachenden Schlüsselworte an die überwachte Logdatei anhängen.

echo "errors" >> /var/log/rsnapshot.log

Bei Problemen schaut man am Besten in den Logdateien des MTA nach um dem Fehler auf die Schliche zu kommen /var/log/exim4/mainlog (Exim) oder /var/log/mail.log (Postfix)

veröffentlicht unter: Linux, Ubuntu keine Kommentare
24Mrz/130

Dynamischen DNS-Hostname von FreeDNS updaten mit inadyn

339px-Server-web.svgLänger als ein Jahrzehnt war Dyndns.org der beliebteste kostenlose Anbieter für dynamische DNS Dienste. Leider hat der Dienst vor einiger Zeit seine Geschäftspolitik geändert und ist jetzt nicht mehr kostenlos.

Eine gute kostenlose Alternative ist FreeDNS.
Hier können kostenlos beliebig viele dynamische Hosts unter einem Account angelegt werden und es gibt eine große Auswahl an Domains, aus der man sich den favourisierten eigenen Namen aussuchen kann.

1. Account bei FreeDNS erstellen (http://freedns.afraid.org)

2. Dynamischen Hostnamen anlegen

3. FreeDNS Hashwert für den Account ermitteln. Dafür im Hauptmenü auf "Dynamic DNS" klicken. Danach unten auf der Seite auf "Direct URL" klicken. Aus der URL den Hashwert extrahieren.

URL: http://freedns.afraid.org/dynamic/update.php?9g86g9876g978g976g976g908g7==

Hashwert: 9g86g9876g978g976g976g908g7

4. Updateclient unter Linux installieren und starten:

#!/bin/bash
apt-get -y install inadyn

inadyn --background --dyndns_system default@freedns.afraid.org -a mein.host.name,hashwert

Update:
Es geht auch ganz ohne Client mit Bordmitteln. Einfach einen Cronjob anlegen, der mit wget die Update-URL aufruft.

#/etc/crontab
#Alles in EINE Zeile....
*/5 * * * *	root	wget --no-check-certificate -O - https://freedns.afraid.org/dynamic/update.php?9g86g9876g978g976g976g908g7==
veröffentlicht unter: Linux, Ubuntu keine Kommentare
15Mrz/130

Screwsoft VPN Client für Fritbox VPN unter Ubuntu 12.10 installieren

Um Ubuntu mit dem VPN einer Fritzbox zu verbinden benötigt man einen IPSec-Client.
Hier bietet sich der Screwsoft VPN Client an, der leider seit einiger Zeit nicht mehr in den Repositories von Ubuntu vorhanden ist. Man kommt also nicht um eine manuelle Installation herum. Diese funktioniert allerdings mit dem folgenden Skript sehr einfach:

Bei interaktiven Fragen während der Installation bestätigt man einfach mit ENTER.

#!/bin/bash
# Daniel Ritter 20130314
# Install Screwsoft VPN-Client Ubuntu 12.10

sudo apt-get update
sudo apt-get -y install libedit-dev libqt4-core libqt4-dev libqt4-gui 
sudo apt-get -y install build-essential checkinstall cmake libcurl3-openssl-dev bison flex
cd /tmp
wget https://www.shrew.net/download/ike/ike-2.2.0-rc-2.tgz
tar xvf ./ike-2.2.0-rc-2.tgz
cd ike
cmake -DCMAKE_INSTALL_PREFIX=/usr -DQTGUI=YES -DETCDIR=/etc -DNATT=YES
sudo checkinstall
sudo cp /etc/iked.conf.sample /etc/iked.conf

Nach der Installation kann der VPN Client so gestartet werden:

sudo iked
sudo qikea
4Aug/120

Out of The Box USB Soundkarte für Linux – Logilink (UA0078) Soundkarte 7.1

Für ganze 6 Euro ist mir diese kleine, praktische USB-Soundkarte in die Hände gefallen. Sie besitzt eine Micbuchse, eine Speakerbuchse und einen Lautstärkeregler. Mit ihrer Hilfe kann man jedem Rechner sofort eine Soundkarte spendieren. Praktisch zum Beispiel temporär auf Servern um VoiP zu nutzen, oder um Sound auf einem Rechner zu haben, dessen Soundkarte Probleme macht.

Der Klang ist natürlich nicht berauschend, aber das echte Plug and Play ist problemlos.

Sie läuft direkt Out Of The Box nach dem Einstecken unter Ubuntu 12.04. Im Pulseaudiomixer taucht sie als "Audio Adapter Analog Stereo" auf und kann dort geregelt werden.

#/var/log/syslog

Aug  4 18:55:22 ww kernel: [ 4629.448058] usb 5-2: new full-speed USB device number 7 using ohci_hcd
Aug  4 18:55:22 ww mtp-probe: checking bus 5, device 7: "/sys/devices/pci0000:00/0000:00:13.0/usb5/5-2"
Aug  4 18:55:22 ww mtp-probe: bus: 5, device: 7 was not an MTP device
Aug  4 18:55:22 ww kernel: [ 4629.638832] input: C-Media USB Headphone Set   as /devices/pci0000:00/0000:00:13.0/usb5/5-2/5-2:1.3/input/input16
Aug  4 18:55:22 ww kernel: [ 4629.639006] generic-usb 0003:0D8C:000C.0009: input,hidraw2: USB HID v1.00 Device [C-Media USB Headphone Set  ] on usb-0000:00:13.0-2/input3

26Apr/120

Android Kontakte und Kalender ohne Google syncen mit Horde 4

Ich wollte meine persönlichen Daten nie Google geben und habe deswegen unter Android bisher auf das Syncen von Kalender und Adressbuch verzichtet. Als Notlösung habe ich regelmässige Backups mit My Backup Pro angefertigt. Schön war das allerdings nicht. Da ich inzwischen auch ein Android-Tablet besitze wurde syncen noch wichtiger. Zum Glück lässt sich das inzwischen komplett mit Open Source Software bewerkstelligen, falls die Android-Geräte "Microsoft Active Sync" unterstützen. Mit dieser Sync-Methode kann man seinen Androiden normalerweise an ein Exchange-Konto anbinden. Die kostenlose Groupware Horde bietet seit Version 4 allerdings auch einen kompatiblen ActiveSync-Server an. Damit steht der Android Synchronisation über mehrere Devices mit dem eigenen Server nichts mehr im Wege.

Grundvoraussetung ist ein eigener Linux-Server mit Apache und MySQL.

Zunächst muss Horde 4 installiert werden:

# Die Paketierung von Horde 4 läuft über PEAR
apt-get install pear

# PEAR auf den neuesten Stand bringen
pear upgrade pear

# Den Horde-Channel dem lokalen Pear bekannt machen
pear channel-discover pear.horde.org

# Horde Installationsverzeichnis konfigurieren
pear install horde/horde_role
pear run-scripts horde/horde_role

# Hier wird nach einem Installationsverzeichnis für Horde 4 gefragt.
# In meinem Beispiel ist es /var/www/horde4

# Horde installieren
pear install -a -B horde/webmail

# Horde Konfiguration umbenennen, um Horde zu aktivieren
cd /var/www/horde4/config
cp ./conf.php.dist ./conf.php

# Dem Webserver Rechte auf alle Horde-Files geben
chown -R www-data /var/www/horde4

Datenbank für Horde in MySQL anlegen:

Horde benötigt eine Datenbank in MySQL. In meinem Beispiel habe ich für Horde mit PHPMyAdmin den Benutzer "horde4" und die Datenbank "horde4" angelegt.

Horde über den Webbrowser konfigurieren:

Horde kann nun über den Webbrowser konfiguriert werden. Dazu öffnet man im Browser http://www.meinserver.de/horde4 . Da noch nicht konfiguriert wurde, welche Authentifizierung Horde nutzt, wird man direkt als Administrator der Installation eingeloggt.

Datenbank konfigurieren:
(Administration -> Konfiguration -> Horde -> Database)

Hier die Daten zur angelegten MySQL Datenbank eintragen:

Horde Authentifizierung konfigurieren:

Horde benötigt ein Backend um den Benutzernamen und das Passwort zu überprüfen. Horde bietet dafür viele verschiedene Möglichkeiten an. Der Einfachheit halber kann man hier das Password-File benutzen (/etc/passwd). Der User muss dann nur im lokalen System angelegt werden:

adduser horde_user

(Administration -> Konfiguration -> Horde -> Authentication)

Datenbanktabellen für Horde anlegen:

Horde konnte bisher die eigenen Datenbanktabellen in MySQL noch nicht anlegen, da wir ihm eben erst die MySQL-Benutzerdaten mitgeteilt haben. Um die Tabellen anzulegen besucht man die Hauptseite der Konfiguration und wählt "Alle DB-Schemata aktualisieren", bis das Ganze so aussieht:

(Administration -> Konfiguration)

Ab sofort sollte man sich in Horde mit dem Benutzer "horde_user" und dem beim adduser-Kommando gewählten Passwort einloggen können.

Apache konfigurieren

Damit Android an Horde syncen kann, muss noch ein Alias in die Apache-Konfiguration eingetragen werden:

#/etc/apache2/httpd.conf
Alias /Microsoft-Server-ActiveSync /var/www/horde4/rpc.php

Das ist notwendig, da Active-Sync Clients automatisiert die URL /Microsoft-Server-ActiveSync aufrufen, wenn sie mit ihrem Server connecten. Horde händelt die Synchronisation allerdings über die Datei rpc.php

Danach muss Apache seine Konfiguration neu laden lassen:

/etc/init.d apache2 reload

Wenn alles geklappt hat, sollte man nun auf seinem Androiden Sync-Konten einrichten können:

Mit diesem Setup Synce ich erfolgreich zwischen Horde, einem Sony Ericsson Xperia Mini Pro und einem Samsung Galaxy Tab.

Fallstricke:

  • Ich hatte zunächst mit doppelten Kontakten und Kalendereinträgen zu kämpfen. Am Besten exportiert man zunächst alle Kontakte und den Kalender aus dem Handy und importiert sie in Horde. Danach löscht man alle Daten auf dem Handy und lässt sie von Horde wieder in das angelegte Active-Sync-Konto auf dem handy schieben. Horde bietet viele verschiedene Möglichkeiten an Daten zu importieren. (Organisieren -> Kalender -> Import/Export) und (Organisieren -> Adressbuch -> Import/Export). Den Kalender bekommt man zum Beispiel aus Android gut mit der App "iCal Import/Export" heraus. Mein SONY bot für den Export der Kontakte selbst die Möglichkeit an, diese in ein VCard-File zu exportieren. Aber auch hier gibt es sicher eine geeignete Lösung bei Google Play.
  • Die Horde Authentifizierung per /etc/passwd sollte wie oben beschrieben funktionieren. Ich habe sie allerdings nur der Einfachheit halber für dieses Howto gewählt und nicht getestet, da ich selbst Horde an meinem IMAP-Server authentifiziere.
  • Als ich angefangen habe die Syncerei zu testen, funktionierte es zuerst nur mit meinem Tablet und nicht mit dem Handy. Nach 1 Stunde frickeln war der Fehler gefunden: Android synct nicht, wenn der interne Speicher zu voll ist. Nachdem ich ein paar Apps auf die SD-Karte verschoben hatte, ging es sofort.
20Mrz/120

Beliebige Videodateien mit ffmpeg für die PS3 in H264 konvertieren

Nach viel Sucherei und Ausprobiererei habe ich jetzt endlich herausgefunden, wie ich in möglichst guter Qualität und möglichst kleiner Dateigröße Dateien für den Mediaplayer der PS3 mit ffmpeg konvertieren kann. Die Videodateien jedes beliebigen Formates das ffmpeg unterstützt kommen in das konfigurierbare INDIR. Die konvertierten, auf der PS3 abspielbaren, Dateien landen in OUTDIR.

#!/bin/bash
# Eingangs und Ausgangsverzeichnis konfigurieren
INDIR=/home/user/vid_in
OUTDIR=/home/user/vid_out

# Eventuellen Whitespace aus den Dateinamen entfernen
find $INDIR -name "* *" -type f | rename 's/ /_/g'

for f in $(ls $INDIR)
do
# Mit ffmpeg in H264 und AAC konvertieren (Achtung, der ffmpeg-Befehl muss in EINE Zeile)
ffmpeg -y -i $INDIR/$f -vcodec libx264 -level 41 -crf 24 -threads 2 -acodec libfaac -ab 128k -ac 2 -ar 48000 $OUTDIR/$f.mp4
# Ende ffmpeg Befehl

# Die folgende Zeile kann auskommentiert werden, wenn die Originaldateien
# gelöscht werden sollen.
#rm $INDIR/$f

done

Das in den Ubuntu-Repos vorhandene ffmpeg unterstützt leider kein H264, man muss ffmpeg selbst kompilieren um in den Genuß zu kommen. Das geht mit diesem Script hier ganz leicht:

http://pasindudps.blogspot.de/2011/10/install-ffmpeg-in-ubuntu-1110-oneiric.html

 

5Mrz/120

Out of the box Gigabit PCI Express Netzwerkkarte für Ubuntu und Debian

no images were found

 

Nach Problemen mit einer Onboard-Netzwerkkarte habe ich problemlos funktionierenden aktuellen Ersatz gesucht und bin auf folgende Karte gestossen:

Intel EXPI9301CTBLK PRO1000 Netzwerkkarte CT PCIex bulk

Sie funktioniert direkt Out of the Box unter Ubuntu und Debian mit aktuellem Kernel und dem Kernelmodul e1000e.

Ins PXE-Setup gelangt man beim booten des Rechners durch drücken von CTRL-S.

 

ww-ww-13:05:10 ~ -> uname -a
Linux ww 3.0.0-16-generic #28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
ww-ww-13:05:41 ~ -> lspci | grep Intel
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
ww-ww-13:05:48 ~ -> dmesg | grep Intel
[    0.000000]   Intel GenuineIntel
[    1.426119] e1000e: Intel(R) PRO/1000 Network Driver - 1.3.10-k2
[    1.426121] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    1.543197] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Connection
ww-root-13:15:13 /home/ww -> ethtool eth1
Settings for eth1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000001 (1)
                               drv
        Link detected: yes
ww-root-13:17:30 /home/ww -> ethtool -i eth1
driver: e1000e
version: 1.3.10-k2
firmware-version: 1.8-0
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
28Feb/120

Den Firexfox-Cache auf die Ramdisk auslagern unter Ubuntu

Um den Firefox ein wenig zu beschleunigen kann man den Cache auf die RAM-Disk auslagern.

Unter Ubuntu ist diese Standardmässig schon unter /dev/shm vorhanden und kann direkt benutzt werden. Sie wird je nach verfügbaren RAM im Rechner automatisch angelegt.

box-root-16:32:35 / -> df -h /dev/shm
Dateisystem            Größe Benut  Verf Ben%% Eingehängt auf
none                  7,9G   11M  7,9G   1% /run/shm

Man muss Firefox lediglich so konfigurieren, dass /dev/shm als Cache-Verzeichnis genutzt wird. Leider ist dies nicht mehr über die grafischen Einstellungen möglich, man muss selbst Hand anlegen. Dazu öffnet man Firefox und gibt in der Adressleiste about:config ein.

Mit einem Rechtsklick legt man im Konfigurationsinterface einen neuen String-Wert mit dem Namen browser.cache.disk.parent_directory an und gibt diesem den Wert /dev/shm.

Ab sofort speichert Firefox auf der RAM-Disk zwischen. Vor- und Zurückblättern im Browser wird einen Tick schneller.

Je nach Betrachtungsweise ist der Vorteil oder Nachteil an dieser Einstellung, dass der Cache verloren geht, wenn man den Rechner ausschaltet, da die zwischengespeicherten Webseiten und Bilder nur noch im RAM laden und nicht mehr auf der Platte.

5Dez/110

6 Plugins für mehr Privatsphäre beim Surfen mit Firefox

Die eigene Privatsphäre im Internet zu schützen wird immer schwieriger. Weder Industrie noch Politik haben Interesse daran, die Daten von Internetnutzen zu schützen. Vor einigen Jahren reichte es noch, nirgendwo seinen echten Namen und andere persönliche Daten wie Geburtsdatum oder Kontonummern anzugeben. Heute werden auf fast jeder Webseite unsichtbar im Hintergrund Daten gesammelt - und zwar nicht nur vom Betreiber der Webseite selbst, sondern auch von vielen weiteren kommerziellen Anbietern. Durch die Weitergabe der Daten an Dritte hat man selbst keinerlei Vorteile. Außerdem verliert man so mit der Zeit die Kontrolle über die eigenen Daten und ausgefeilte Profile über Konsumgewohnheiten, Interessen, Vorlieben und Abneigungen landen unbemerkt in nicht kontrollierbaren Datenbanken. Der Ausverkauf der Persönlichkeit ist in vollem Gang und nur ein wenig persönliche Informationshygiene hilft den neue Bedrohungen zu begegnen.

Da durch den Durchbruch von Facebook der Klarname ins Netz gewandert ist, ist die Verknüpfbarkeit von Surfgewohnheiten mit der eignen Person nicht mehr nur eine theoretische Möglichkeit sondern geschieht vollautomatisch und ständig.

In diesem Artikel werde ich einige Möglichkeiten auflisten seine Privatsphäre online zu verteidigen. Leider benötigen fast alle Maßnahmen eine gewisse Eigeninitiative und ein wenig Einarbeitung. Oft verliert man (zumindest am Anfang) etwas Komfort beim Surfen. Trotzdem kann die Nutzung der Tipps auf lange Sicht sehr nützlich sein.

Doch erstmal ein kleines Experiement. Für den kleinen Test habe ich einen aktuellen Firefoxbrowser in der Standardkonfiguration gestartet, alle vorhandenen Cookies gelöscht und danach 6 Seiten angesurft, und zwar Spiegel.de, Bild.de, GMX.de, Twitter, Facebook und eine Pornoseite. Das Ergebnis sind 21 neue permanente Cookies auf dem Rechner.

Bereits nach dem Aufruf dieser wenigen Seiten ist der Browser komplett verwanzt mit 3rd Party Cookies. Diese Cookies identifizieren meine Browserinstallation nun gegenüber den Urhebern und können von ihnen wieder ausgelesen werden. Dies kann zunächst einmal auf ihren eignen Seiten geschehen. Aber auch auf Seiten Dritter, mit welchen kooperiert wird.

So wird der Google-Cookie zum Beispiel auf jeder Seite gelesen , die Google-Analytics nutzt, Google Werbung schaltet, Google Maps einbindet oder einen der vielen anderen konstenlosen Google-Dienste für Webmaster benutzt. So erhält Google nicht nur eine Historie meiner Google Suchen, sondern nimmt es auch bei vielen anderen Seiten wahr, dass ich sie besuche.

Ähnlich läuft es mit den Cookies der anderen Anbieter. Werbefirmen, Marktforschungsinstitute, Spammer und Marketingfirmen versuchen ständig auf dem Browser Cookies zu setzen und auf Partnerseiten wieder auszulesen, um mehr über mich zu erfahren.

Dies geschieht entweder über kleine unsichbare Dateien auf der Webseite ("Zählpixel","TrackingImage") oder durch Javascripte, die auf den Partnerseiten eingebaut werden.

Ein erster Schritt für mehr Privatsphäre ist es also die Tracking-Cookie, Zählpixel und Tracking-JavaScript Flut zu bekämpfen.

 

 

Tipp 1 - Mit einem lokalen Hostfile einen Großteil der Spione komplett aussperren.

Als Grundimmunisierung gegen die Pest hilft ein lokales Hostfile. In jedem modernen Betriebssystem kann im Hostfile eine Liste von Domainnamen mit der dazugehörigen IP
hinterlegt werden. Das System benutzt zuerst das lokale Hostfile um Adressen im Internet nachzuschlagen, erst danach einen DNS-Server im Internet. Trägt man im Hostfile also Adressen von schädlichen Domains ein, die Tracking-Cookies setzen wollen und leitet die Anfragen an diese Seiten lokal um, kann der Browser diese schädlichen Seiten nicht mehr erreichen.

Somit hat man schon einen Großteil des Problems gelöst. Ein sehr gut gepflegtes Hostfile, das tausende von Trackingdomains enthält kann man hier finden:http://winhelp2002.mvps.org/hosts.txt Unter Linux speichert man es einfach als /etc/hosts auf dem lokalen Rechner ab, um es zu aktivieren.

#!/bin/bash
wget -O /tmp/tracking.txt http://winhelp2002.mvps.org/hosts.txt
mv /etc/hosts /etc/hosts.backup
mv /tmp/tracking.txt /etc/hosts

Betreibt man einen eigenen DNS-Server im LAN, kann man diesen auch so konfigurieren, dass er das Hostsfile nutzt und so automatisch das ganze LAN zentral befreien.

Tipp 2: Google nur das Nötigste mitteilen mit GoogleSharing

Google ist Tracker #1 im Internet und erfasst auf Umwegen inzwischen fast auf jeder besuchten Seite persönliche Daten, diese können durch persönliche Identifikation über GMail, Google+ oder andere personalisierte Dienste auf die eigene Person zurückgeführt werden und mit den eigenen Google-Suchen verknüpft werden. Dagegen hilft das Ablehnen des Google-Cookies und das interessante Firefox-Plugin GoogleSharing. Das Plugin anonymisert jeden Kontakt zu Google indem es ständig zufällige Identitäten erstellt, die mit allen anderen Nutzern des Plugins geteilt werden. Google kann bei Benutzung des Plugins den einzelnen Nutzer nicht mehr in dieser anonymisierten Zufallsmasse identifizieren.

Das Plugin funktioniert vollautomatisch und verringert die Geschwindigkeit von Google nur unerheblich.
GoogleSharing gibt es direkt in Firefox unter Extras/Addons oder von dieser Webseite: https://addons.mozilla.org/en-US/firefox/addon/googlesharing/

Tipp 3: Volle Kontrolle über Cookies mit Cookie Monster

Cookies sind nicht nur zum Tracken da. Viele Webseiten benutzen sie für vollkommen legitime Funktionen, wie das Loginmanagement oder das Speichern von Benutzervoreinstellungen. Deshalb ist es sinnvoll, zunächst einmal alle Cookies generell zu verbieten und danach Schritt für Schritt manuell die Cookies zu erlauben, die man tatsächlich für Seiten, die man häufig aktiv nutzt benötigt. Dies ist mit Firefox-Bordmitteln zwar möglich, aber leider recht umständlich. Hier hilft das kostenlose Plugin "Cookie Monster". Es befindet sich nach der Installation im Systemtray und ermöglicht einen schnellen Zugriff auf die Cookieeinstellungen für die aktuell geöffnete Seite. Cookie Monster zu konfigurieren macht zunächst ein wenig Arbeit, da viele Seiten tatsächlich ohne Cookies nicht funktionieren, jedoch erhält man nach kurzer Zeit das bestmögliche Maß an individueller Cookiehygiene. Cookie Monster gibt es hier: https://addons.mozilla.org/de/firefox/addon/cookie-monster/


Tipp 4: Tracking JavaScripte, IFRAMES und Flash-Movies verbieten mit NoScript

Die meisten Cookies werden durch JavaScripte gesetzt. Da sehr viele Webseiten beim kompletten Deaktivieren von Javascript unbenutzbar werden, muss man leider auch hier eine Selektion vornehmen, genauso wie bei den Cookies. Tracking kann auch über IFRAMES und Flash-Movies erfolgen, auch hier hilft NoScript.

Hier gilt der gleiche Ansatz: Zunächst einmal alle Scripte komplett verbieten und danach Stück für Stück benötigte Skripte erlauben. Dabei hilft das Firefox Plugin NoScript, das ähnlich wie Cookie Monster von der Taskleiste aus erreichbar ist und das Erlauben oder Verbieten von Javascript pro besuchter Seite erlaubt. Auch hier hat man zu Beginn viel Stress, fast gar nichts funktioniert mehr. Mit der Zeit hat man das Plugin allerdings so gut an die persönlichen Bedürfnisse angepasst, dass es kaum noch behindert. Als netter Zusatzeffekt laden viele Seiten deutlich schneller, da sie nicht während dem Seitenaufbau noch verschiedene externe Daten von Drittanbietern nachladen müssen.


Tipp 5: IP-Adresse anonymisieren mit TOR-Button

Durch die vorhergehenden Tipps habe ich nun zumindest schon einmal 99,9% der 3rd Party Tracker ausgeschaltet. Webseiten die ich besuche bekommen aber trotzdem noch mit wer ich bin und können meine IP-Adresse protokollieren. Hier hilft das TOR-Netzwerk, über das man anonym surfen kann. Das Prizip ist ähnlich dem GoogleSharing. Die eigene IP-Adresse geht in einem großen Pool anderer Adressen unter und ist nicht mehr auf den eigenen Anschluß zurückzuverfolgen.

TOR ist leider recht langsam und deshalb nicht für den alltäglichen Gebrauch geeignet. Es kann aber fallweise sehr nützlich sein. TOR ist über ein Plugin sehr leicht in den Firefox zu integrieren und schnell ein- und ausschalten. Weitere Infos und Downloads gibt es hier: https://www.torproject.org/torbutton/


Tipp 6: Werbung entfernen mit AdBlock Plus

Alle Werbebanner, sich nicht durch die bisherigen Tipps ohnehin schon verabschiedet haben, kann man mit AdBlock Plus entfernen. Dieses Plugin benutzt eine Liste von Servern von Werbeanbietern und blockt den Zugriff auf deren Server. So kann Firefox keine Werbebanner und Filme mehr nachladen und die entsprechenden Stellen auf den Webseiten bleiben leer. Das Plugin funktioniert vollautomatisch und erwischt sehr viel Werbung, bevor sie den Browser erreichen kann. Werbung, die AdBlock nicht automatisch blockt, kann manuell markiert werden, so dass AdBlock sie danach erkennen und blocken kann. Adblock gibt es hier: https://addons.mozilla.org/de/firefox/addon/adblock-plus

 

Tipp 7: So oft wie möglich HTTPS benutzen mit HTTPS-Everywhere

Viele Webseiten ermöglichen den Zugang nich nur per HTTP (unverschlüsselt) sondern auch per HTTPS (verschlüsselt). Das bedeutet, dass der komplette Datenverkehr zwischen dem lokalen Rechner und dem Webserver verschlüsselt wird und niemand zwischen dem eigenen Rechner und dem Server den Datenverkehr mitlesen kann. Das Plugin HTTPS-Everywhere pflegt eine Liste von Webseiten, die sowohl HTTP als auch HTTPS anbieten. Benutzt man für eine dieser Webseiten HTTP, wird man automatisch auf die HTTPS-Version der Seite umgelenkt und surft somit verschlüsselt. https://www.eff.org/https-everywhere

 

24Okt/110

Howto: Quick and dirty DHCP-Server und DNS-Cache mit dnsmasq unter Debian

DHCP im LAN ist praktisch. Man muss nicht mehr die Netzwerkkonfiguration jedes einzelnen Rechners im Netzwerk an den Clients selbst verwalten, sondern hat alles schön zentral auf dem Server. Durch DNS-Caching sparen die Clients ein wenig Zeit beim Auflösen von Hostnames, da die Anfragen für bekannte Hostnames vom lokalen Cache übernommen werden können und nicht mehr an einen Server im Internet gestellt werden müssen.

Ein kleiner DHCP-Server ist mit dnsmasq sehr schnell eingerichtet.

# dnsmasq installieren
apt-get install dnsmasq

Die Konfiguration findet zentral in der Datei /etc/dnsmasq.conf statt. Man sollte sich vor den geballten Konfigurationsoptionen in der Datei nicht abschrecken lassen. So gut wie alles dient nur als Beispiel und ist per default auskommentiert. Eine sehr kurze Konfig reicht bereits für ein funktionierendes Setup:

DHCP

# DHCP netmask
# Clients bekommen 255.255.255.0 als Netmask
dhcp-option=1,255.255.255.0

# default gateway
# Clients bekommen als Gateway 192.168.1.251
dhcp-option=3,192.168.1.251

# dns
# Clients bekommen als Nameserver 192.168.1.4
# Falls man dnsmasq auch als DNS-Cache benutzen möchte, sollte dies die
# IP des Servers sein, auf dem dnsmasq läuft
dhcp-option=6,192.168.1.4


# Für bekannte Rechner immer dieselbe IP anhand der MAC-Adresse vergeben:
# Hier bekommt der Rechner mit der MAC 00:11:22:33:44:55 die IP 192,168.1.1 für 12 Stunden

dhcp-host=00:11:22:33:44:55,lobby,192.168.1.1,12h
dhcp-host=00:11:22:33:44:66,lobby2,192.168.1.2,12h

# Alle Rechner, die nicht per MAC identifiziert werden können, erhalten IPs
# aus dem Pool 192.168.1.120 bis 150

dhcp-range=192.168.1.120,192.168.1.150,12h

DNS

Die DNS-Funktionalität von dnsmasq benötigt eigentlich keine Konfiguration.
dnsmasq besorgt sich seine Nameserver aus /etc/resolv.conf . Hier sollten die
bekannten Nameserver des Providers eingetragen werden und evtl noch als Fallback
die 8.8.8.8 für Googles DNS-Server.

Weitere Hostnames, die im lokalen Netz gelten sollen, können dnsmasq in der Datei
/etc/hosts bekannt gemacht werden. Hier eingetragene Hostnames stehen allen Rechnern
im LAN zur Verfügung.

Fallstricke

dnsmasq muss nach Konfigänderungen seine Konfigurationsdateien neu einlesen

/etc/init.d/dnsmasq restart

Falls Clients noch eine Lease vom alten DHCP-Server haben, kann man sie manuell dazu bringen, einen neuen DHCP-request zu starten.

#Linux
dhclient eth0

#Windows
ipconfig /RELEASE
ipconfig /RENEW

Dringend muss man darauf achten, den bisher genutzen DHCP-Server (meistens im Router zum Internet) zu deaktivieren. 2 DHCP-Server im LAN können viel Chaos generieren.