HTTP-BASIC-AUTH nach Umleitung auf HTTPS

Eine HTTP-BASIC-AUTH-Authentifizierung sollte man nicht unverschlüsselt durchs Netz jagen. Doof ist es, wenn die Umleitung per .htaccess erst nach der Authentifizierung greift, da die erste Anfrage über HTTP läuft, von der Authentifizierung abgefangen wird und erst danach umgeleitet wird.
Eine Möglichkeit dies zu umgehen sieht so aus:

SetEnvIf %{SERVER_PORT} ^80$ IS_NON_SSL

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

AuthUserFile /pfad/zur/.htpasswd
AuthName "HTTP-BASIC-AUTH über TLS"
AuthType Basic
require valid-user
Allow from env=IS_NON_SSL

via http://stackoverflow.com/questions/10267102/apache-htaccess-redirect-to-https-before-asking-for-user-authentication

Note to self: selbstsignierte Zertifikate mit OpenSSL

Selbstsignierte Zertifikate mit eigener CA über OpenSSL:

Erstellen des CA-Keys:
openssl genrsa -out ca.key 4096 
openssl req -new -x509 -days 1825 -key ca.key -out ca.crt 

Erstellen und signieren eines CSR:
openssl genrsa -out server.key 4096 
openssl req -new -key server.key -out server.csr 
openssl x509 -req -days 1824 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

Wenn der Drucker Mist ausspuckt…

Plötzlich meinte der Drucker statt des normalen Dokuments wahllos irgendwelche ASCII-Zeichen drucken zu müssen. Der Grund war, dass der Rechner plötzlich die Druckdaten komprimiert an den Drucker schickte. Die Lösung war, die Kompression mit ‘?compression=none’ in der URI abzuschalten.

via https://bbs.archlinux.org/viewtopic.php?pid=1407886#p1407886

Mausbeschleunigung über die Konsole einstellen

Manchmal ist es ganz praktisch, Dinge über die Konsole einzustellen – ich suchte letztens eine Möglichkeit die Mausbeschleunigung zu beeinflussen.
Script am Beispiel des Logitech Trackman Wheel:

#!/bin/sh
id=`xinput | grep "Logitech Trackball" | awk '{ print $5 }' | cut -f2 -d"="`
echo "Found Trackball at ID" $id
field=`xinput list-props $id | grep "Accel Speed (" | awk '{ print $4 }' | cut -f2 -d"(" | cut -f1 -d")"`
echo "Field is" $field
xinput set-prop $id $field 1

So muss man keine statischen IDs ins Script einbauen, das Script findet die benötigten Felder selbst.

SUN iLOM, Remote Console und veraltete Verschlüsselungsprotokolle

Eine Remote Console am Server ist gut und schön, wenn sie denn erreichbar ist. SUNs Remote Console unter iLOM wird, zumindest in den älteren Versionen, über Java angesprochen, die Verbindung ist mit SSLv3 gesichert. SSLv3 ist unsicher und sollte daher nicht verwendet werden. Neuere Java JREs bieten SSLv3 nicht mehr an, die Verbindung zur Remote Console schlägt daher mit “No appropriate protocol (protocol is disabled or cipher suites are inappropriate)” fehl.
Und jetzt?
Das Protokoll kann über den Parameter
jdk.tls.disabledAlgorithms=SSLv3
in der java.security des JREs (bei mir wars /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-4.b17.fc23.x86_64/jre/lib/security/java.security) reaktiviert werden, damit funktioniert auch die Remote Console wieder.

Youtube mit HTML5 unter FC22 + Firefox

Kürzlich hatte ich Flash von meinem System komplett heruntergeschmissen, um zu sehen ob es nicht auch ohne geht. Mit Youtube gab es allerdings kleine Probleme, so funktionierte die Video-Wiedergabe mit HTML5 nicht sofort, da der H.264 nicht mitgeliefert wurde.
Mit dnf install gstreamer1-libav gstreamer1-vaapi gstreamer1-plugins-{good,good-extras,ugly} und einem Neustart von Firefox wurde die H.264-Unterstützung unter https://www.youtube.com/html5 angezeigt und Videos liefen wieder wie gewohnt.

via http://martin.preisler.me/2014/08/h264-html5-video-in-firefox-on-fedora-20/

OpenStack schnell und einfach auf einem Host installieren

OpenStack auf einem einzigen Host aufzusetzen kann viel Handarbeit bedeuten, muss aber nicht. Über packstack des RDO-Projekts lässt sich OpenStack schnell und einfach installieren und konfigurieren. Zwar bringt Ferdora 22 Packstack von Haus aus mit sich, das Skript scheint aber noch nicht angepasst zu sein. Auf CentOS 7 lief die Installation ohne Probleme durch – nach 30 Minuten war OpenStack installiert und einsatzbereit.

dnf und alte Metadaten

Dnf wird demnächst in FC22 den Paketmanager yum ersetzen. Dnf kann man jetzt schon im Parallelbetrieb testen. Dabei fiel mir auf, dass yum und dnf Updates ganz unterschiedlich finden:
Nicht selten hatte yum schon eine ganze Stange Aktualisierungen parat, während dnf noch meinte, alles sei aktuell. Der Grund liegt in den Metadaten, die bei yum öfters aktualisiert bzw schneller als veraltet angesehen werden.
dnf -refresh upgrade umgeht dieses Problem zwar, allerdings werden dann immer wieder die neusten Metadaten der Repos heruntergeladen, was u.U. etwas dauern kann.
Um dnf das Verhalten von yum beizubringen, reicht es das Timeout, wann die Metadaten als veraltet gelten, zu ändern. Bei yum sind die Daten nach 6 Stunden veraltet, bei dnf nach 48 Stunden! (Siehe https://www.mankier.com/8/dnf.conf und http://linux.die.net/man/5/yum.conf, jeweils unter “metadata_expire”)
Mit metadata_expire=21600 unter /etc/dnf/dnf.conf verhält sich dnf wieder genau wie von yum gewohnt.

Fedora 21, KDE-NetworkManager, OpenVPN, tun0

Unter Fedora 21 und KDE hat der Netzwerk-Manager die Eigenart die von einer OpenVPN-Verbindung erstellten tun0-Adapter aus seiner Netzwerkliste nicht zu löschen, wenn die Verbindung getrennt wird. Man kann sie zwar per Hand löschen, eine dauerhafte Lösung ist dies aber nicht.
Ein Script mit
#!/bin/bash
[[ ${1::3} == tun ]] && [[ $2 == down ]] && /usr/bin/nmcli connection delete $1
exit 0

unter /etc/NetworkManager/dispatcher.d/tun löst das Problem temporär bis das Verhalten korrigiert wird.

via https://bbs.archlinux.org/viewtopic.php?id=191044

Kompletten Netzwerkverkehr per iptables umleiten

Um den kompletten Netzwerkverkehr per iptables zu einer anderen Adresse umzuleiten, muss zunächst die Weiterleitung von IP-Paketen im System aktiviert werden (sysctl -w net.ipv4.ip_forward=1).
Als nächstes aktiviert man die eigentliche Weiterleitung mit folgenden Regeln:
iptables -t nat -A PREROUTING -s 0.0.0.0/0 -p all -j DNAT --to-destination $ipdeszielsystems
iptables -t nat -A POSTROUTING -j MASQUERADE

Bei mir kommt die Umleitung immer dann zum Einsatz, wenn ich einen vServer migriert habe, sich die IP gewechselt hat und nur noch die neuen Einstellungen des DNS-Servers wirksam werden müssen. Dies kann 24h dauern, wodurch Zugriffe auf das alte und neue System erfolgen können. Damit dies nicht passiert, leitet das alte System auf das neue um.
Nachteil: Auch der SSH-Zugriff wird umgeleitet, sodass auf dem Altsystem nur noch per VNC-Konsole über den Host zugegriffen kann. Zudem erscheinen alle umgeleiteten Zugriffe auf dem neuen System mit der IP-Adresse des alten Systems.