Freitag, 3. Januar 2014

Linux - openvpn prevent leaks - iptables

Besonders nach den vielen NSA Skandalen in letzer Zeit, erscheint es oft sinnvoll, einen Proxy zu verwenden. Wer besonders viel Wert auf Privatsphäre legt, sollte sich auch gegen IP Leaks absichern.
Unter Linux ist es am einfachsten, wenn man iptables verwendet.

Meine Regeln sehen so aus, dass nur Verbindungen per UDP/1149 möglich sind. LAN wird nicht geblockt, man will ja weiterhin Zugriffs ins LAN haben.

-A INPUT -i tun+ -j ACCEPT
-A INPUT -i eth+ -p udp -m udp --sport 1149 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -d 192.168.0.0/24 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32  -j ACCEPT
-A INPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -i eth+ -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -o tun+ -j ACCEPT
-A OUTPUT -o eth+ -p udp -m udp --dport 1149 -j ACCEPT
-A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
-A OUTPUT -s 127.0.0.1/32 -d 192.168.0.0/24 -j ACCEPT
-A OUTPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -o eth+ -j ACCEPT
-A OUTPUT -j DROP
Wer möchte, kann die Gegenstelle auch noch genauer bestimmen:
-A INPUT -i eth+ -p udp -m udp --sport 1149 -j ACCEPT
-A OUTPUT -o eth+ -p udp -m udp --dport 1149 -j ACCEPT
in
-A INPUT -i eth+ -p udp -m udp --sport 1149 -d SERVER_IP -j ACCEPT
-A OUTPUT -o eth+ -p udp -m udp --dport 1149 -d SERVER_IP -j ACCEPT
Um die Regeln hinzuzufügen, entweder vor dem aus dem -A iptables -A machen, oder die Regeln so wie ich sie gepostet habe abspeichern und mit iptables-restore < dateiname einspielen.
Die LAN IP (in meinem Fall 192.168.0.x) entsprechend auf eure anpassen.

Wenn alles richtig gemacht wurde, werden alle Verbindungen sofort geblockt, sobald der Proxy ausfällt.

Test:
root@x:/etc/openvpn# tcptraceroute 8.8.8.8
Selected device eth2, address 192.168.0.32, port 58557 for outgoing packets
Tracing the path to 8.8.8.8 on TCP port 80 (http), 30 hops max
libnet_write failed? Attempted to write 40 bytes, only wrote -1

root@x:/etc/openvpn# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max
1 traceroute: sendto: Operation not permitted
Geblockt - passt.

Außerdem kann man bei den meisten Routern bei den Firewalleigenschaften einstellen, welche Protokolle / IPs ins Internet dürfen. Wenn man es so einstellt, dass WAN-Verbindungen nur zu einer IP möglich sind (der Proxy IP), dann hat man hier auch noch einen Schutz.

KDE taskbar - minimized windows background transparency

Ich habe einige Desktop Einstellungen geändert und anschließend waren die minimierten Fenster transparent. Auch über Google habe ich keine Lösung gefunden, nach vielen hin und her habe ich diesen Effekt letzendlich deaktivieren können.
Vielleicht nervt es auch jemanden :)

System Settings -> Desktop Effects -> Advanced:
Keep window thumbnails auf Always setzen.

Danach ist dieser Effekt weg und alles wieder beim Alten.

Vorher:




Nacher:

Sonntag, 10. November 2013

Android - Lockscreen Passwort vergessen - bypass

Rechtliches: Ich hafte nicht für eventuelle Schäden, Datenverluste usw. Durch das flashen eines Custom-Roms kann die Garantie des Handys verfallen. Die Anleitung darf nur vom Handybesitzer (oder mit Einverständis des Inhabers) verwendet werden.

Ein Freund von mir hat bei seinem Androidhandy das Lockscreen-Passwort vergessen. Das Handy war nicht gerooted, ohne Custom Recovery und USB-Debugging war aus. Also alles auf Standart. Normalerweise sollte man, sobald man mehrmals den PIN falsch eingibt, den Pin/Passwort per Google zurücksetzen können. Leider tauchte die Funktion aber nie auf.

Er hat mich gefragt, ob ich den Lockscreen entfernen kann, ohne dass persönliche Daten verloren gehen. Ich habs mir angesehen... mit Erfolg.

Aus Datenschutzgründen verwende ich keine modernen Handys. Daher kenne ich mich mit Android kaum aus und musste mich erst selber einlesen. Die meisten Anleitungen die man so findet erfordern Root, aktiviertes USB Debugging oder zumindestens eine bereits installierte custom Recovery Firmware.
Ich werde beschreiben wie ich es gemacht habe - vielleicht gibt es einen einfacheren Weg, aber zumindestens ich habs anders nicht geschafft.

Als erstes müssen wir eine Custom Recovery aufs Handy raufgeben, ansonst können wir die Passwort Datei nicht löschen. Ich habe es zuerst mit CWM probiert, aber trotz positiver Rückmeldung von Odin war immer noch die stock Recovery (3E) oben. Eventuell weil USB Debugging aus war. Komischerweise ging es mit der Philz-CWM Recovery die ebenfalls auf CWM basiert.

Danach konnte ich die neue Recovery Firmware booten und mit Aroma File Manager die Passwort-Datei löschen (/data/system/*.key). Sicherheitshalber hab ich noch ein vollständiges Backup per ADB gemacht.

Anschließend hab ich das Handy rebooted - das Handy hat nicht mehr gebooted und sich automatisch beim Bootvorgang abgeschalten. Wahrscheinlich hängt das mit dem Kernelupdate von Philz zusammen (Recovery ging weiterhin).

Deshalb hab ich auf SamMobile die passende Android-Firmware heruntergeladen, per Odin aufs Handy geladen und es hat wieder alles funktioniert.

Android hat gebooted, Lockscreen war weg, alles funktioniert - ohne Datenverlust. Nur die Androideinstellungen (sprich Wlan-Netze, Systemeinstellungen, etc.) waren weg wegen dem Android-flash. Bilder, Whatsapp Logs usw. wurden nicht gelöscht.

Bestimmt ist die Anleitung für einen Android-Experten nichts besonderes. Aber für nicht-Experten bestimmt hilfreich.

PS: Im Internet findet man immer wieder einen "Exploit" der es ermöglicht über die Notruffunktion kurzzeitig ins Menü zu kommen. Das funktioniert aber nur für sehr alte Androidversionen. Und der Trick eine Lockscreen-bypass App über Google Play per PC auf dem Handy zu installieren, funktioniert auch nicht (mehr).

Donnerstag, 10. Oktober 2013

CentOS, Debian: iptables dauerhaft speichern - automatisch laden

Es ist immer nervig, wenn man einen reboot macht und alle iptables-rules sind weg. Bei CentOS (und wahrscheinlich auch bei Fedora, RHEL, Suse - ungetestet) muss man nichts zusätzliches installieren und man kann das Problem mit Boardmitteln lösen.
Bei Debian / Ubuntu kommt iptables-persistent zum Einsatz.

Debian / Ubuntu:

iptables-persistent befindet sich in den Standartrepositories und kann daher einfach mittels
apt-get install iptables-persistent
installiert werden. Alternativ gehts auch manuell, .deb Datei + dpkg -i  iptables-persistent_0.5.7_all.deb.

Die Regeln können jetzt ins Verzeichnis /etc/iptables/rules gespeichert werden und werden bei einem Neustart automatisch geladen. Im Verzeichnis befindet sich auch eine config Datei (iptables.conf) wo man einstellen kann, dass  neue Regeln automatisch gespeichert werden sollen.

/etc/iptables$ cat iptables.conf                                                                                                                                    
# Should new manually added rules from command line be saved on reboot? Assign to a value different that 0 if you want this enabled.                                              
SAVE_NEW_RULES=0         
 Vorhandene Regeln werden mittels iptables-save gespeichert.
iptables-save > /etc/iptables/rules

CentOS

In der Datei /etc/sysconfig/iptables-config kann festgelegt werden, wie mit den Regeln umgegangen werden soll. Die Konfiguration ist selbsterklärend. Für IPv6 Rules steht ip6tables.conf zur Verfügung. Zur veranschaulichung kopiere ich meine config Datei:
sysconfig]# cat iptables-config
# Load additional iptables modules (nat helpers)
#   Default: -none-
# Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which
# are loaded after the firewall rules are applied. Options for the helpers are
# stored in /etc/modprobe.conf.
IPTABLES_MODULES=""

# Unload modules on restart and stop
#   Value: yes|no,  default: yes
# This option has to be 'yes' to get to a sane state for a firewall
# restart or stop. Only set to 'no' if there are problems unloading netfilter
# modules.
IPTABLES_MODULES_UNLOAD="yes"

# Save current firewall rules on stop.
#   Value: yes|no,  default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets stopped
# (e.g. on system shutdown).
IPTABLES_SAVE_ON_STOP="yes"

# Save current firewall rules on restart.
#   Value: yes|no,  default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets                                                                                                            
# restarted.                                                                                                                                                                      
IPTABLES_SAVE_ON_RESTART="yes"                                                                                                                                                    
                                                                                                                                                                                  
# Save (and restore) rule and chain counter.                                                                                                                                      
#   Value: yes|no,  default: no                                                                                                                                                   
# Save counters for rules and chains to /etc/sysconfig/iptables if                                                                                                                
# 'service iptables save' is called or on stop or restart if SAVE_ON_STOP or                                                                                                      
# SAVE_ON_RESTART is enabled.                                                                                                                                                     
IPTABLES_SAVE_COUNTER="yes"                                                                                                                                                       
                                                                                                                                                                                  
# Numeric status output                                                                                                                                                           
#   Value: yes|no,  default: yes                                                                                                                                                  
# Print IP addresses and port numbers in numeric format in the status output.                                                                                                     
IPTABLES_STATUS_NUMERIC="yes"                                                                                                                                                     
                                                                                                                                                                                  
# Verbose status output                                                                                                                                                           
#   Value: yes|no,  default: yes                                                                                                                                                  
# Print info about the number of packets and bytes plus the "input-" and                                                                                                          
# "outputdevice" in the status output.
IPTABLES_STATUS_VERBOSE="no"

# Status output with numbered lines
#   Value: yes|no,  default: yes
# Print a counter/number for every rule in the status output.
IPTABLES_STATUS_LINENUMBERS="yes"
Die Regeln befinden sich dann im File /etc/sysconfig/iptables bzw. /etc/sysconfig/ipv6iptables

Donnerstag, 3. Oktober 2013

Silkroad busted - Silkroad hochgenommen vom FBI

Wie es aussieht, wurde der Inhaber von Silkroad (Dread Pirate Roberts AKA Ross William Ulbricht, 29 Jahre) verhaftet. Auf der Silkroad ist die übliche FBI seized Nachricht.

Ich möchte gar nicht weiter auf das Thema eingehen, im Internet finden sich genug Berichte:
http://www.forbes.com/sites/andygreenberg/2013/10/02/end-of-the-silk-road-fbi-busts-the-webs-biggest-anonymous-drug-black-market/
http://www.independent.co.uk/life-style/gadgets-and-tech/news/fbi-arrest-kingpin-of-12bn-online-drugs-site-silk-road-8854333.html

Bilder von Ross William Ulbricht kann man hier sehen:
http://www.heavy.com/news/2013/10/ross-ulbricht-silk-road-tor-dread-pirate-roberts/

FBI Complaint:
http://www1.icsi.berkeley.edu/~nweaver/UlbrichtCriminalComplaint.pdf

PS: Der Artikel von Golem ist total schlecht recherchiert.
Aufgeflogen war der Betreiber, als kanadische Grenzbehörden ein Paket mit gefälschten Ausweisdokumenten fanden, das an U. adressiert war. Bei den Ermittlungen fand das FBI zahlreiche Spuren des verdächtigen im Netz, etwa eine Anfrage auf der Programmier-Webseite Stackoverflow, die offenbar im Zusammenhang mit der Entwicklung von Silk Road gestellt wurde.
Wenn man sich das FBI Dokument durchliest, sieht man, dass diese Aussage so nicht stimmt und Unsinn ist.




Freitag, 27. September 2013

openvz + virtualbox auf selben Server (on same host)

openvz und Virtualbox auf dem selben Server ist kein Problem, und recht einfach machbar.
Virtualbox kann man insbesondere dann einsetzen, falls der Prozessor keine VT oder AMD-V  Unterstützung hat, man aber eine Vollvirtualisierung benötigt. KVM (qemu), VMWare (?) und XEN (?) funktionieren ohne Virtualisierungsunterstützung des Prozessors nur fehlerhaft oder langsam. Zumindestens bei meinen Tests mit KVM habe ich nur schlechte Erfahrungen gemacht. Ob XEN und VMware besser als KVM laufen ohne Virtualisierungssupport der CPU kann ich nicht sagen. Jedenfalls sagen die Hersteller, dass VT / AMD-V notwendig ist.

Ausgangssituation: Centos 6.x, Kernel:  2.6.32-042stab081.3, openvz bereits installiert.

Falls man Virtualbox noch nicht installiert hat, kann man die notwendigen repos hinzufügen, oder es manuell über das rpm Paket installieren. Wir installieren es über die repos und dazu noch die notwendigen Programme zum späteren Anpassen des Kernels:
cd /etc/yum.repos.d/
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
yum install binutils qt gcc make patch libgomp glibc-headers glibc-devel dkms
yum install VirtualBox-4.2
Als erstes müssen wir die kernel devels installieren, ansonst kann Virtualbox den Kernel nicht patchen und es würde zu folgenden Fehler kommen:
Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again.
 Wir führen also folgenden Befehl aus:
yum install vzkernel-devel
Die Kernelfiles befinden sich hier:
[root@aaa kernels]# pwd
/usr/src/kernels
Linux aaa 2.6.32-042stab081.3 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
[root@aaa kernels]# ls
2.6.32-042stab081.3  2.6.32-358.18.1.el6.x86_64
 Dann führen wir das Setup aus, in diesem Fall sieht der Befehl so aus:
/etc/init.d/vboxdrv setup KERN_DIR=/usr/src/kernels/2.6.32-042stab081.3/
Rückmeldung:
Stopping VirtualBox kernel modules                         [  OK  ]
Recompiling VirtualBox kernel modules                      [  OK  ]
Starting VirtualBox kernel modules                         [  OK  ]

Wenn man Virtualbox auf einem Server installiert, ist es vielleicht nützlich, dass man ein Webpanel hat. Dafür gibt es phpVirtualBox. Die Installation ist auch hier sehr einfach:
phpVirtualBox ins Webserver dir laden, entpacken und config.php-example in config.php umbennenen. Die Standartkonfiguration sollte bereits funktionieren, nur das vbox Passwort muss gesetzt werden.
Defaultlogin: admin:admin.

Samstag, 21. September 2013

Firefox 23 - zweite Bookmarksleiste

Weiß jemand wie man in Firefox 23 eine zweite Bookmarkleiste hinzufügen kann, ohne ein Plugin installieren zu müssen?

Über die userChrome.css sollte das möglich sein, aber die vorhandenen Lösungen funktionieren alle nur für ältere Firefox Versionen (z.b. diese hier). Suche schon seit Tagen nach einer Lösung, aber ich finde nichts.

Ein Plugin möchte ich wegen Datenschutzbedenken nicht verwenden.

Weiß jemand weiter? Bitte Kommentar hinterlassen.