Transport Layer Security

Jetzt, wo ich den Heartbleedbug kennengelernt habe,
kam wieder die Sehnsucht nach einer TLS(früher SSL)verschlüsselung.

Und da ich in der Hinsicht perfektionistisch veranlagt bin,
habe ich sofort auf eine GUTE mit A+ bewertete TLSverschlüsselung geachtet.

Ich teile meine makellosen NGINX (ich mag Apache schon seit einigen Jahren nicht mehr) Configdateien mit euch, die nebst fast perfekter Verschlüsselung auch noch spdy Protokoll Support hat:

nginx.conf:

[...]
ssl_prefer_server_ciphers On;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4;
ssl_ecdh_curve secp384r1;
ssl_session_timeout 5m;
[...]

solsocog.conf:

server {
server_name solsocog.de www.solsocog.de;
add_header Alternate-Protocol "443:npn-spdy/3.1";
add_header Cache-Control "public";
expires max;
listen 85.114.139.45:80;
listen [2001:4ba0:fffb:89::2]:80;
return 301 https://solsocog.de$uri;
}

server {
root /var/www/solsocog.de;
add_header Cache-Control "public";
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "DENY";
add_header Strict-Transport-Security "max-age=315360000";
expires max;
index index.php index.html;
listen 85.114.139.45:443 ssl spdy default;
listen [2001:4ba0:fffb:89::2]:443 ssl spdy;
server_name solsocog.de www.solsocog.de;

ssl on;
ssl_session_cache shared:SSL:1m;
ssl_certificate /backup/ssl/server.pem;
ssl_certificate_key /backup/ssl/server.key;
ssl_ecdh_curve secp384r1;
ssl_stapling on;
ssl_stapling_verify on;
if ($host != 'solsocog.de') { return 301 https://solsocog.de$uri; }
location = /favicon.ico {
empty_gif;
}
[...]

Wer ein ganz harter Kerl ist, generiert sich einen DH Wert per openssl dhparam -out dhparam.pem 8192
und schreibt in die nginx.conf und oder Domainconfigssl_dhparam /Pfad/zum/dhparam.pem;

Ein hilfreicher Test ist unter https://www.ssllabs.com/ssltest zu finden.
Hier übrigens mein Ergebnis.

Protocol Support: 95%, weil ich TLS1.1 und TLS1 als Protokollversionen noch zulasse.
Cipher Strength: 90%, weil die meisten Elliptic Curve Diffie Hellman Kryptographien nur 128Bit Stärke haben, bzw. nur so vom aktuellen Browserstamm genutzt werden können.

Kleine Notiz am Ende:
Die RC4 Kryptographie scheint derzeit ziemlig attackiert zu werden, deswegen habe ich RC4 als Verschlüsselung rausgenommen, was jedoch die BEAST Attacke auf Clients nicht verhindert.
Ein Großteil jener Clients scheint aber mittlerweile gegen BEAST Attacken geschützt zu sein.

Heartbleed

Es gibt seit geraumer Zeit einen OpenSSL Bug, der jetzt offenbar „wiederentdeckt“ wurde.
Trägt den schönen Namen Heartbleed.

Und zwar konnte man zwischen den Versionen OpenSSL 1.0.1 bis 1.0.1f die als sicher übertragen geltenden Daten ganz einfach unverschlüsselt auslesen.
Naja, lasst uns mal aus einer Mücke keinen Elefanten machen, strenggenommen muss dann sich schon jemand zwischen Sender und Empfänger stecken, als Man in the Middle Attack/Eavesdropping bekannt.
Natürlich im Sinne von Wirtschaftsspionage dann ganz was schlimmes.

Mich persönlich hat es nicht gejuckt weil ich https einfach nur als Belustigung aktiviert habe.

Dennoch, als ich davon erfahren habe, zuerst von CCC, dann noch von einem Twitterfollower, habe ich einmal yum upgrade ausgelöst und siehe da, wie nicht anders von CentOS zu erwarten, eine gefixte Version der momentanen auf CentOS vertriebenen OpenSSL Library:

openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Tue Apr 8 02:39:29 UTC 2014
platform: linux-x86_64
options: bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/etc/pki/tls"
engines: dynamic

Hier ist für den ambitionierten Sicherheitsfanatiker ein schneller Test auffindbar, ob das eigene https betroffen ist.

ESO

Elder Scrolls Online.
Ein Wort, Geil.

Tatsächlich habe ich in der Vergangenheit vorgehabt, ESO keinerlei Bedeutung zu schenken, aber als ich in die Beta eingeladen wurde, hatte sich das geändert.
Mir gefällt so ziemlig alles an dem Game.

Ich finde ja das Rumgemeckere der Leute so geil:
„Pay2play Imperial Rasse?! Dafuq!“.
Mir ist klar, gutes Marketing. Aber euch ist schon klar das ohne ’ne Begrenzung nur noch Kaiserliche rumrennen würden?
Meine letzte Aussage ist hinfällig, sofern zeitlich unbegrenzt digitale Imperial Editions rausgekloppt werden.
Auch nett finde ich das Preorder Gimmick, das man mit jeder Rasse in jeder Fraktion spielen kann, sorgt für Abwechslung.

Im übrigen sind es noch ca. 3,6 Tage, bis die ESO Early Access Zeit anbricht.
Ich bin gespannt, wie krass die Server dort abschmieren werden.
Leicht bekloppt finde ich ja die Tatsache das auch der europäische Servercluster in den USA steht?! Woot?

Also, wenn ich mich nach dem 30. März selten mache, keine Angst ich bin nicht verschollen.

ntpd

Bei mir läuft hier ein vermeintlich sicherer ntpd auf dem Server.

Könnte ein netter Herr das bitte verifizieren?
Ich habe bis dato noch nicht erlebt, das meine Anbindung von einem neumodischen Skriptkiddie abused wurde.

Ich finde die monlist Geschichte zu knorke, weswegen ich das nicht ausschalten mag, aber sonst ist alles gut eingestellt, möchte ich behaupten.

Wer seine Uhrzeit mit einem relativem Höchstmaß an Genauigkeit laufen lassen möchte,
synchronisiert mit solsocog.de, Stratum 2.

Ich zieh mir Stratum 1 Zeiten aus den folgenden Universitäten und Bundesanstalten und zieh mir nen möglichst genauen Wert raus:
ntps1-0.fh-mainz.de, ntps1-1.cs.tu-berlin.de, zeit.fu-berlin.de, rustime01.rus.uni-stuttgart.de, ntp2.fau.de, ptbtime2.ptb.de, zeit.fu-berlin.de

Ich habe übrigens auch eine Seite online gestellt, mit der man die Server-Uhrzeit zum Zeitpunkt des Abrufes sieht, hier: atom.solsocog.de

CentOS

Mir war mal wieder danach, was zu schreiben.

Speziell zum Thema CentOS.

Ich dachte vor Jahren immer so CentOS ist unprofessioneller Bockmist.
Die ganzen Apache Fanboys nutzen den Mist zunehmend et cetera.

Bis ich dann mal selbst in die Lage kam, wo es unausweichlich war, CentOS zu nehmen.
Nämlich ab dem Punkt, wo ich HP Hardware in Gebrauch habe, die nur unter CentOS und Windows2008 funktioniert, da war die Wahl ja wohl eindeutig.

Hab mir meine /etc/ , /var/lib/mysql , /var/www/ und /root Pakete geschnürt und auf nen Blanko CentOS Server gewgettet.

Zuallererst mal yum begutachtet. Hat eine stabile Paketbasis. Aber leider wirklich nur Basis.
Der 0815-Kram wie Apache (bei CentOS als httpd Paket getarnt) ist natürlich dabei.

Demnach gilt es, eine ordentliche Paketbandbreite zu bekommen,
folgende Repos habe ich drin und kann ich nur wärmstens Empfehlen:
CentOS-Base.repo, epel.repo, ius-dev.repo, mysql-community.repo, rpmforge.repo, CentOS-Testing.repo, epel-testing.repo, ius.repo, SABnzbd-6.repo, CentOS-fasttrack.repo, ius-testing.repo, nginx.repo

Und nun läuft und läuft und läuft die Kiste. Hin und wieder gibt es von RedHat Patches für den Kernel geliefert.
Läuft. Besser geht es nicht.

Manche schwören auf ArchLinux, ist mir persönlich aber deutlich zu heikel auf Produktion-Ebene.
Beim nächsten Rolling Release kann schon was Fratze sein.

p.s.:
Ich seede mit 10GBit/s diese CentOS ISO , prost Mahlzeit!

Nützliche nginx rewrites

Hier wird die www subdomain zur Hauptdomain weitergeleitet:
server {
listen ipv4:80;
listen [ipv6]:80;
server_name www.domain.de;
rewrite ^/(.*)$ http://domain.de/$1 permanent;
}

Hier wird festgelegt das subdomains in domain.de/sda/$1 gehen, demnach wäre sub.domain.de in domain.de/sda/sub,
zudem im Teil try_files und @sdb wird überprüft, ob im sda Verzeichnis ein Ordner im Format der subdomain existiert. Falls nicht, wird das gleiche im Ordner sdb gesucht:
server {
autoindex on;
listen ipv4:80;
listen [ipv6]:80;
server_name ~^(.+)\.domain\.de$;
root /var/www/domain.de/sda/$1/;
index index.html;
try_files $uri $uri/ @sdb;
location @sdb {
root /var/www/domain.de/sdb/$1/;
index index.html;
}
}

Hier wird die Hauptdomain festgelegt:
server {
autoindex on;
listen ipv4:80 default;
listen [ipv6]:80;
server_name domain.de;
root /var/www/domain.de;
index index.html;
}

DayZ

DayZ Standalone, der Newcomer (naja, es gab schon den DayZ Mod) in Sachen epischer Zombieaction, oder doch lieber Forcefeedhandcuffaction?

Hier meine kleine Story dazu:
Ich verhunger in paar Minuten,
was machen… 5 Minuten am Strand rumstehen auf den Tod wartend,
realisieren das einem langweilig wird wenn man dumm rumsteht,
in die Stadt rennen in der Hoffnung in der letzten Minute noch was zum futtern zu finden.
Anderen Spieler gesehen hinterher gerannt in ein Haus rein, Handschellen ausgepackt, erster versuch den zu ninacuffen, fehlgeschlagen,
beim zweiten Versuch hat er ’ne crowbar ausgepackt, ich unermüdlich weitergecufft. Zack Handschellen angelegt.
Rotten Kiwi ausgepackt, ihm die geforcefeedet,
aber halt, mir ist ja noch ein Zombie hinterhergerannt… der jetzt den anderen Typen anknappert.
Made my day.

Piwik

Ich nutze seit diesem Jahr wieder Piwik. Die 2.0 Version hat mich doch sehr gereizt.
Das ganze läuft über ubu.so.

Dachte mir die Domain ist so klein und ungewöhnlich (somalische TLD sieht man nicht oft!) das die kaum auffällt wenn sie nach solsocog.de ne millisekunde lädt ;)!

Wenn wer Bock hat mein piwik zum Tracking zu nutzen, warum auch immer, kann sich gern in den Kommentaren melden.