Ein selbstsigniertes SSL-Zertifikat erstellen

Categories: Technik
Comments: No Comments
Published on: 2. Januar 2016

Wer kennt es nicht, man möchte gerne seinen Mailserver oder Webserver absichern mit SSL, weiß aber nicht wie er die SSL-Zertifikate erstellen soll. Durch das benutzen von SSL wird die Kommunikation zwischen Client und Server verschlüsselt. Dadurch werden alle Daten, wie zum Beispiel Passwörter, Email-Inhalte verschlüsselt übertragen. Der Vorteil von selbst signierten Zertifikaten gegenüber gekauften ist ganz einfach, sie kosten NICHTS! Um dies zu bewerkstelligen, benötigt man Openssl und in unserem Fall eine Linux Machine.

(more…)



MOD_PROXY für Apache2

Categories: Technik
Comments: No Comments
Published on: 2. Januar 2016

Angenommene Situation:
Server1 lauscht auf Port 80 auf Anfragen, die über den Router gesendet werden.
Server2 stellt eine Anwendung zu Verfügung, z.B. Icinga. Diese soll jedoch auch aus dem Internet errecihbar sein über Port 80.

Jetzt möchte kann man natürlich Port 80 nicht zwei mal weiterleiten. Ein alternativer Port (z.B. 8080 => http://www.adresse.de:8080) ist auch nicht das Gelbe vom Ei.
Die Lösung bringt der Apache2 mit.

So kann man vorgehen.

a2enmod proxy
a2enmod proxy_http

Falls es die Datei mod_proxy unter /etc/apache2/mods-available nicht geben sollte, hilft ein

apt-get install libapache2-mod-proxy-html

Um Fehler zu vermeiden, habe ich festgestellt, dass man noch einen Symlink manuell erstellen sollte

ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load

Damit ist der Grundstein gelegt und man muss nur noch seinen vHost auf Server1 entsprechend konfigurieren, dass er Anfragen an Icinga auf Server2 weitergibt.

Dazu ein Ausschnitt aus meiner /etc/apache2/sites-available/ssl:

ProxyRequests Off
ProxyPass /icinga http://storm/icinga
ProxyPassReverse /icinga http://storm/icinga
ProxyPass /cgi-bin/icinga http://storm/cgi-bin/icinga
ProxyPassReverse /cgi-bin/icinga http://storm/cgi-bin/icinga

Im Anschluss noch den Apache restarten auf Server1 und fertig.

/etc/init.d/apache2 restart

 



Disable/Enable Textfield per Checkbox

Categories: Technik
Comments: No Comments
Published on: 2. Januar 2016

Es gibt zwei Möglichkeiten dies zu erreichen. Entweder wie hier per Javascript, oder per jQuery. Letzteres hat jedoch bei mir nicht wirklich funktioniert.

<script type='text/javascript'>
  function enableDisable() {
    cb = document.getElementById('deleteCB').checked;
    document.getElementById('passwordTF').disabled = !cb;
  }
</script>
 
<input id="deleteCB" type="checkbox" name="delete" value="true" onclick="enableDisable();">
<input type="password" id="passwordTF" required="required" name="password" placeholder="Password" disabled>

 



Pipestatus abfragen

Categories: Technik
Comments: No Comments
Published on: 23. Dezember 2015

Nach einem ausgeführten Kommando kann man sich per echo $? den Return-Wert dieses ausgeben lassen. Bei einer Pipesequenz funktioniert das leider nicht so, wie man es gerne hätte.echo haha | asdsdsd | grep haha

Diese Zeile liefert folgenden Output:asdsdsd: Befehl nicht gefunden.

Möchte man nun den Return-Wert überprüfen, um in einem Script darauf entsprechend zu reagieren, bekommt man:

echo $?
1

Die 1 stammt in diesem Fall vom grep, da dieser den Suchstring nicht gefunden hat. Es wird also das letzte Kommando betrachtet. Dass jedoch der zweite Befehl völliger Unsinn war, merkt man nicht.

Man sollte in einem solchen Fall den Returnwert per Pipestatus in Erfahrung bringen:

echo pipestatus: ${PIPESTATUS[*]} returncode: $?
pipestatus: 0 127 1 returncode: 1

Man sieht hier noch einmal im Vergleich die Return-Werte. Pipestatus liefert uns 0 (echo) 127 (asdsdsd ⇒ unbekannter Befehl) 1 (grep). Für jeden weiteren Befehl in der Pipesequenz kommt eine Return-Wert dazu. In diesem Bespiel könnte man per test ${PIPESTATUS[*]} = 0 0 0vergleichen, ob die Sequenz fehlerfrei war. Oder man spricht gezielt den zweiten Befehl per ${PIPESTATUS[1]} an.



Authentifizierung mit openLDAP

Categories: Technik
Comments: No Comments
Published on: 23. Dezember 2015

OpenLDAP stellt das Anwendungsprotokoll LDAP für Linux zur Verfügung. Man verwendet es meist für eine zentrale Benutzerverwaltung oder als Adressbuch. Der LDAP-Verzeichnisdienst ist eine hierarchische Datenbank, in der strukturierte Objekte abgelegt werden. Jedes Objekt wird mit einer Menge von Attributen ausgestattet, die in einer Objektklasse festgelegt sind. Ein Objekt kann dazu mehreren Objektklassen angehören, um unterschiedliche Eigenschaften auszudrücken. (more…)



Standardeditor ändern

Categories: Technik
Comments: No Comments
Published on: 23. Dezember 2015

Oftmals ist nach der Installation als Standardeditor der Nano eingestellt. Da dieser nicht jedermanns Geschmack ist, hat man die Möglichkeit sich seinen Lieblingseditor systemweit einzustellen.
Ich verwende gerne vim.

sudo aptitude install vim
sudo update-alternatives --config editor

Dann einfach vim auswählen und sich freuen



Systemweite Änderung der Kodierung

Categories: Technik
Comments: No Comments
Published on: 23. Dezember 2015

Zunächst muss sichergestellt sein, dass die zukünftig gewünschte Kodierung auf dem System vorhanden ist. Dies geschieht mit folgendem Befehl:

sudo locale-gen de_DE@euro

Es können auch andere oder mehrere Kodierungen angegeben werden. Eine Liste der möglichen Angaben ist in der Datei /usr/share/i18n/SUPPORTED enthalten. Die erste Spalte beschreibt dabei den Schlüssel, welcher in obigem Befehl angegeben werden muss. Die zweite Spalte definiert die genaue Kodierung.

Abschließend muss die systemweite Festlegung in den Dateien /etc/environment und /etc/default/locale an der Variable LANG, also LANG=”de_DE.ISO-8859-15@euro” vorgenommen werden. Letztere Datei muss nur angepasst werden, wenn diese vorhanden ist. Mögliche Werte lassen sich zuvor mit dem Befehl locale -a erfragen. Zum Bearbeiten der Dateien müssen diese mit Rootrechten in einem Editor geöffnet werden.

Die Änderung wirkt sich erst nach einer Neuanmeldung aus.

Eine weitere Möglichkeit besteht im ausführen von

dpkg-reconfigure locales
update-locale LANG=de_DE.UTF-8


SSH – Public Key Verfahren

Categories: Technik
Comments: No Comments
Published on: 23. Dezember 2015

Um sich ohne Passwort auf einem entfernten Server per SSH/SCP/etc. zu verbinden kann man folgendes ausführen:

mkdir ~/.ssh 
chmod 700 ~/.ssh 
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub|ssh <USER>@<SERVER> "mkdir ~/.ssh; cat - >> ~/.ssh/authorized_keys"

Die Passphrase von ssh-keygen sollte dabei leer gelassen werden.



Transform and roll out!

Categories: Filme & Serien
Comments: No Comments
Published on: 2. Februar 2014

Mei, wie lange ist es her, dass ich die Transformers als Kind im Fernsehen gesehen hab? Deswegen hat es mich tierisch gefreut, als ich auf Amazon zufällig die komplette Generation One günstig entdeckt habe. (Links am Ende)

Season One habe ich bereits durch und Season Two solte auch nicht mehr lange brauchen. :D

Schon witzig, wie einfach gestrickt die Trickserien damals waren und was darin alles als High-Tech durch ging.

Dennoch macht es Spaß mal wieder das alte Zeug zu sehen. Ich kann’s nur empfehlen.

Generation_1

Links:



Tiny Tiny RSS und sein Daemon

Categories: Technik
Comments: No Comments
Published on: 22. März 2013

Ich bin gerade mal wieder drüber gestolpert und dachte mir, dass ich meine Erkenntnis teilen könnte.

Zum Hindergrund:

Ich habe mir den webbasierten RSS-Reader Tiny Tiny RSS auf meinem neuen Server installiert und mich fröhlich an das Konfigurieren der RSS-Feeds gemacht.

Leider kamen nie neue Einträge hinzu. Ic hatte noch so leicht im Gedächtnis, dass für das automatische Abrufen der Feeds ein Daemon eingerichtet werden konnte. Eine Recherche auf der Entwicklerseite offenbarte jedoch, dass die Möglichkeit eines init.d-Scripts aus der Dokumentation gestrichen wurde. Grund dafür war, dass der Daemon unter Root lief. Natürlich hochgradig unsicher  :roll:

Nach einiger Suche fand ich dann auch die Lösung… so schlicht, dass man sie vielleicht erst mal gar nicht sieht. Man erweitert einfach das init.d-Script um einen nicht-priviligierten User (z.B. www-data).

Zusammengefasst kann man das bei mir im Wiki nachlesen. *klick*

 

 



«page 1 of 11
Welcome , today is Freitag, 20. April 2018