Archiv der Kategorie: Tutorials / Tipps

Redesign von DanielSchurter.Net

Alles neu macht der Mai, oder eben der Juni. Wie auch immer, dieser Blog erstrahlt nun im neuen Glanz mit einem neuen Theme. Ich habe mich für Meeta von wpzoom entschieden, ein Responsive Theme, welches auf verschiedenen Geräten, wie PCs, Tablets oder Smartphones eine gute Figur macht.

Dennoch gab es noch einige Änderungen durchzuführen, bis das Ergebnis der Website meinen Vorstellungen entsprach. Man sollte sich den Rat von wpzoom zu Herzen nehmen und alle CSS Änderungen in der Datei custom.css vornehmen und nicht in der style.css. Es besteht sonst die Gefahr, dass bei einem Theme Update alle Änderungen überschrieben werden.

Das Logo wurde nicht korrekt angezeigt und ich musste folgenden Eintrag noch hinzufügen um Seitenabstände los zu werden. Der IE brauchte hier wieder eine Sonderbehandlung, indem max-width: 100%; explizit erwähnt werden musste:

/* header image */
#header img { 
	max-width: 100%;
	height: auto;
}

/* expand logo */
#logo {
	margin: 0px;
	float: none;
} 

Zudem habe ich den ganzen Content Bereich vergrössert und die Sidebar auf 250 Pixel verkleinert:

/* main content */
#main {
	background: #fff;
	border-right: 1px solid #ebebeb;
	float: left;
	width: 809px;
	padding-top: 30px;
}


/* Sidebar */
#sidebar {
	float: right;
	width: 250px;
 	overflow: hidden;
	padding-top: 30px;
	border-left: 1px solid #ebebeb;
	margin-left: -1px;
}

Das Meeta Theme hat eine Eigenart, welche dass ganze Layout der Webseite bei einer Seitenbreite von 786 Pixel und darunter, in Kombination mit einer Sidebar auf der rechten Seite, umbricht und somit die Sidebar am Ende der Webseite darstellt. Dieses Verhalten mag möglicherweise dem Responsive-Webdesign geschuldet sein, dennoch finde ich es extrem unpraktisch, wegen 250 Pixel eine Scroll-Orgie über dutzende von Einträgen lostreten zu müssen, nur um wieder an die Sidebar heran zu kommen.

Dieses Problem lässt sich rasch lösen, indem folgender Code eingefügt wird:

/* Tabled Portrait */
@media screen and (max-width: 768px) {

    #main { width: 67%; }

    #sidebar { 
	width: 32%; 
	margin: 0px; 
	border: none; 
    }

}

Obwohl 67% und 33% eigentlich 100% ergeben, muss in diesem Fall der summierte Wert der beiden width’s bei 99% (oder darunter) liegen. Dieses Problem scheint einen Zusammenhang mit den gesetzten Werten margin und border zu haben, die beim Ändern der Fenstergrösse nicht sauber reinitialisiert werden.

Die Archive-Auflistung wurde wieder Einzeilig gesetzt und das Suchfeld verkleinert, damit das Suchfeld mit dem Search-Button auf einer Zeile Platz hat:

/* remove double list */
.widget_archive li { 
	width: 100%; 
}

/* search textfield & button */
#s {
	width: 100px;
}

Standardmässig ist die Navigation auf der rechten Seite. Mir gefällt sie besser auf der linken Seite:

/* navigation: starts on left side */
#navbar {
	float: left;
}

Anbei die Screenshots der Webseite auf einem Samsung Galaxy S3:


redesign_responsive1

redesign_responsive2

Subdomain Weiterleitung mit mod_rewrite

Gestern wurde ich von Maik per E-Mail angefragt, wie ich denn die Umleitung von
http://www.danielschurter.net/mainsite/gastebuch/
nach
http://blog.danielschurter.net/gastebuch/
umgesetzt habe, denn er möchte für seine Homepage auch so etwas ähnliches realisieren.

Das Ganze ist recht einfach umzusetzen und benötigt nur ein paar Zeilen Code.
Solche “Kunststücke” sind nötig, wenn die Webseite nach Jahren umstrukturiert wird, aber die Links in den Suchmaschinen weiterhin funktionieren sollen, d.h nicht ins leere laufen dürfen.

In den folgenden Beispiel wird der Aufruf:
http://www.domain.tld/subfolder/index.html

umgeleitet nach:
http://blog.domain.tld/index.html
und das Verzeichnis /subfolder wird aus der URL entfernt.

1) Zuerst muss abgeklärt werden, ob der Provider die Ausführung von mod_rewrite in eigenen .htaccess auf dem Apache Webserver zulässt. Dies sollte heute eigentlich bei jedem Provider Standard sein.

2) Nun erstellt man eine Subdomain über sein Konfigurationstool (z.B. Plesk, Confixx). Die Subdomain wäre in diesem Fall blog, welche dann vor dem Domainname erscheint: blog.domain.tld

3) Nun wird überprüft, ob in dem Root Verzeichnis des Webservers ein Verzeichnis blog erstellt wurde (oder wo auch immer das Konfigurationstool es standardmässig erstellt)

4) Im Root Verzeichnis des Webservers wird eine leere .htaccess Datei erstellt und den folgenden Code hinein kopiert. (domain.tld musst natürlich an die eigene Domain angepasst werden)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.tld$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.tld$
RewriteRule ^(.*)$ "http\:\/\/blog\.domain\.tld\/$1" [R=301,L]

Zuerst wird mittels RewriteEngine on die Apache mod_rewrite Funktion aktiviert.

Danach wird die URL (%{HTTP_HOST}) gegen domain.tld überprüft. Dabei ist es egal, ob ein www. davor steht oder nicht, dies mach der Zusatz [OR] aus. Das Ganze ist eine Condition, also eine Bedingung, bevor die Regel (RewriteRule) zum Zuge kommt.

Ist die Bedingung erfüllt, so wird die URL nach http://blog.domain.tld umgebogen. Die Variable $1 macht nichts anderes, als alles was hinter der Domain noch kommt, brav mit zugegeben, also z.B. index.html. Mit [R=301] wird der Umleitungstyp beschrieben, in diesem Fall “Permanent” und mit dem Flag [L] wird die Ausführung beendet und keine weiteren Bedingungen mehr geprüft. Dies ist in unserem Fall eigentlich nicht nötig, da ja keine weitere Conditions mehr folgen.

5) Nun wird in das Verzeichnis blog gewechselt, dort wird wieder eine neue .htaccess Datei erstellt und der folgende Code hinein kopiert:

RewriteRule ^subfolder/(.*)$ /$1 [R=301,L]

Diese Regel sucht in der URL nach subfolder/ und ersetzt diesen durch / und belässt mittels der Variable $1 alles was danach kommt in der URL. Auch hier wird mit [R=301,L] den Umleitungstyp auf “Permanent” gesetzt und das Regelwerk am Ende gestoppt.

Viel Spass 🙂

Quellen:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
http://httpd.apache.org/docs/2.2/rewrite/flags.html

KeePass mit OTP über YubiKey betreiben

“Was haben LinkedIn, eHarmony und Last.fm gemeinsam?”

So oder ähnlich könnte ein Witz über die drei Webplattformen beginnen, würde die Pointe nicht ein leeres Schlücken bei dem Zuhörer auslösen.

Um was geht es überhaupt? Den drei genannten Unternehmen wurden im grossen Umfang Passwörter Kunden entwendet, eine Tragödie für jedes Unternehmen und deren PR Abteilung. Was ich bei eHarmony und LinkedIn noch mit einem müden Lächeln quittierte, hat mich bei Last.fm schlagartig aufgeweckt – “Da habe ich ich doch auch einen Account!”. Warum ich aber keine E-Mail mit der Aufforderung zum Passwortwechsel von Last.fm erhielt, kann ich nicht verstehen. Wenn ich solche Dinge erst über die Medien erfahren muss, dann müssen nachher wieder die Jungs von der PR-Abteilung den Schaden begrenzen.

Das Passwörter in der Regel als Hash vorliegen ist normal, dies war bei den “verloren” gegangenen Passwörtern auch der Fall. Leider verwenden immer noch viele Firmen die inzwischen nicht mehr sichere MD5 Hashfunktion und was der Tragik noch eines daraufsetzt: Die Hashes sind häufig nicht mal “gesalzen” (Salt), also ohne zusätzliches Einfügen von einer unbekannten Anzahl Zeichen, was der Angriff über ein Wörterbuch oder einer Rainbow-Table zu einem Kinderspiel macht. Wer jetzt glaubt, Kennwörter werden immer als Hashes – mit oder ohne Salt – bei den Unternehmen gespeichert, muss ich enttäuschen. Ein wirklich trauriges Beispiel ist die Firma MobiWee!, welche die Passwörter im Klartext(!) in der Datenbank speichert. Dies lässt sich leicht auf der Homepage über den Link “Forgot your Password?” überprüfen, über diesen MobiWee! einem das ursprüngliche Passwort per E-Mail zusendet – Gruselig! In solchen Fällen hilft auch die Wahl eines noch so starken Passwortes nicht viel und wie wir alle wissen, sollten nur starke Passwörter eingesetzt werden und zwar für jeden Dienst ein anderes. Ach ja, merken sollte man sich die unterschiedlichen Passwörter auch noch können, denn aufschreiben ist hässlich.
Wer benutzt immer die gleichen 3-5 Passwörter im Internet? Es dürften die Mehrheit der Personen sein, kein Wunder bei der Fülle der Dienste, bei denen man heutzutage angemeldet ist.

Als ich meine Liste mit den Diensten, bei denen ich angemeldet bin hervor kramte, zählte ich 91 Eintragungen!
Nach dem Ereignis mit Last.fm wollte ich das Problem endlich mal bei den Wurzeln anpacken, zu lange habe ich mich davor gescheut für jeden einzelnen Dienst ein eigenes Passwort zu verwenden. Einerseits weil ich heute schon recht starke Passwörter verwende, andererseits weil ich die wenigen Passwörter sortiert nach Zugänge wie Foren, Newsletter, Webshops, E-Mail Accounts usw. benutze, was bei einer Kompromittierung eines Passwortes den Schaden eingrenzt. Der aber wichtigste Grund dafür, warum ich bis anhin keine “unique” Passwörter für jeden Dienst verwendete, war schlicht und einfach Faulheit!

Es gibt verschiedene Lösungen um Passwörter zu erstellen die relativ sicher sind und diese vor unbefugtem Zugriff zu schützen.

Passwortkarten

Bei Passwortkarten werden unterschiedliche Zahlen, Buchstaben und Sonderzeichen in einer Matrix dargestellt, die durch eine bestimmte Leserichtung – die nur dem Inhaber der Passwortkarte bekannt sein sollte – das Passwort ergibt. Solche Passwortkarten können z.B. hier erstellt und ausgedruckt werden.

Bild: Passwordkarte

Wie ein Passwort lautet bestimmt der Inhaber selber, merken muss er sich lediglich den Startwert, die Leserichtung und die Anzahl Felder welche das Passwort ergeben soll. So könnte ein Passwort aussehen, welches bei C1 anfängt und fünf Felder lang ist: M-geZi8iP0

Passwortkarten mögen auf den ersten Blick scheinbar die Lösung sein, um das Problem, sich viele Passwörter zu merken, organisieren zu können. Aber wer kann sich schon 30 oder 50 Startwerte, Leserichtungen und Anzahl Felder merken? Zudem: Wenn die Passwortkarte abhanden kommt, besteht das Risiko, dass mittels Brute-Force Methode, und Kombinatorik Passwörter herausgefunden werden können, da alle Informationen die ein Passwort ausmacht auf der Passwortkarte vorhanden sind. Eine Variante welche etwas mehr Sicherheit verspricht ist die Kombination der Passwortkarte mit einem Passwort, das sich nicht auf der Passwortkarte finden lässt und nur dem Inhaber bekannt ist. Dennoch kommt für mich diese Variante nicht in Frage.

LastPass – Passwort Manager

Bei LastPass kann der Benutzer seine Passwörter online abspeichern. Dabei braucht man nur noch ein Passwort um an seine Passwörter zu gelangen – das LastPass Passwort. LastPass ist für verschiedene Betriebssysteme wie Windows, Mac, Linux, aber auch für Android oder das iPhone, verfügbar. LastPass lässt sich daher auch unterwegs benutzen, was eine grosse Stärke dieser Lösung ist.

Bild: LastPass

Wie das Sprichwort so schön sagt: “Vertrauen ist gut, Kontrolle ist besser”, bei LastPass fehlt letzteres. Natürlich verspricht LastPass die Passwörter sicher, verschlüsselt und geschützt vor Fremdzugriff zu lagern. Überprüfen lässt sich dies nicht und da die Firma LastPass in den USA registriert ist, gilt amerikanisches Recht, auch für die Passwörter, die irgendwo in der Welt auf einem Server liegen können. Ob LastPass genug vertrauenswürdig ist um ihr die Verantwortung der eigenen Passwörter zu übertragen, muss jeder selbst entscheiden. Für mich kommt diese Lösung auf jeden Fall nicht in Frage.

KeePass – Passwort Manager

KeePass ist ein Open Source Passwort Manager für das Betriebssystem Windows, zudem gibt es Ports für Linux, Mac, Android, iPhone und BlackBerry.

Bild: KeePass

Da KeePass für den mobilen Gebrauch ausgelegt wurde, lässt sich dieses Programm auch ohne Installation betreiben, einfach die KeePass Daten auf den UBS Stick kopieren, fertig. KeePass gibt es als Version 1.x und 2.x. Während Version 1.x sich ohne das Microsoft .NET Framework begnügt, ist dies in der Version 2.x Pflicht, was aber heute auf jeden Windows Rechner installiert sein sollte. Die Version für Linux und Mac brauchen zudem noch Mono.

Was mir gleich sehr gefallen hat, war die Möglichkeit KeePass mittels One-Time-Password (OTP) betriben zu können. Das Plugin OptKeyProv bietet diese Möglichkeit.

Für mich kommt KeePass als Lösung in Frage. Es ist Open Source, lässt sich transportieren und bietet Unterstützung für OTP.

Die grosse Arbeit

An einem regnerischen Tag nahm ich die Aufgabe in Angriff, alle Benutzerdaten in KeePass zu übernehmen und gleichzeitig alle Passwörter zu ändern, ein Arbeit die gut sieben Stunden in Anspruch nahm. Man sollte sich die Zeit nehmen möglichst starke Passwörter auszuwählen. Da die einzelnen Passwörter nicht mehr einprägsam sein müssen, kann bei der Wahl der Passwortlänge und der Zahl der Zeichenklassen aus den Vollen geschöpft werden.

Der Passwort Generator in KeePass hilft bei der Auswahl von starken Passwörtern. Als starkes Passwort gilt, wenn dieses mindestens 8 Zeichen lang ist und folgende Zeichenklassen beinhaltet: Gross- und Kleinbuchstaben, Sonderzeichen und Zahlen. Weitere Informationen zu starken Passwörtern, finden sich hier.

Wie gut ein Passwort ist, lässt sich z.B. bei rumkin.com überprüfen. Bei Password Meter ist es interessant zu sehen, ob die Menge der Zeichenklassen und deren Häufigkeit einem sicheren Passwort genügen. Schlussendlich sieht man hier, wie lange ein handelsüblicher PC voraussichtlich braucht das eingegebene Passwort zu erraten.

Hinweis: Die getesteten Passwörter sollten nachher nicht mehr weiterverwendet werden.

Bild: KeePass Passwort Generator

Die Datenbank von KeePass beinhaltet nun alle Passwörter in verschlüsselter Form und muss nun selbst gegen unerlaubten Zugriff abgesichert werden. Wer hier test123 als Master Passwort nimmt hat schon verloren und hätte sich die Mühe sparen können. Für das Master-Passwort von KeePass sollte man sich ein schwer zu erratenes Passwort aussuchen, ohne es aufschreiben zu müssen.

Eine Möglichkeit wäre die Bildung von Wortgruppen wie: AchWieSchoen, was nicht sehr sicher ist und durch eine Wörterbuch-Attacke relativ schnell geknackt werden kann.

Schwieriger wird es das Passwort zu erraten, wenn gewisse Buchstaben durch Zahlen und Sonderzeichen ersetzt werden, die auf das Ursprungszeichen schliessen lässt. So wird aus einem “S” eine “5” oder ein “O” wird zu einem “0”: 4chW135ch03n
Dieses Passwort ist eigentlich ziemlich stark, aber das Benutzen von Leetspeak ist eine Methode die weit verbreitet ist und auch viele Wörterbuch-Attacken können solche Passwörter erraten.

Dennoch sollte man sich nicht davon abschrecken lassen Wortgruppen mit Zahlen und Sonderzeichen zu benutzen und intelligent zu kombinieren. Fünf zusätzliche Zeichen machen dieses Passwort schon sehr sicher: [4chW13-*-$ch03n]

Ich habe mich entschieden KeePass in Verbindung mit einem One-Time-Password (OTP) zu benutzen. Neben einem starken Passwort, muss zusätzlich noch ein OTP eingegeben werden, sonst bekommt man keinen Zugriff auf die Datenbank. Um OTP benutzen zu können gibt es spezielle USB OTP-Keys die am Computer wie Tastaturen funktionieren. OTP-Keys besitzen einen oder mehrere Buttons um gespeicherte Daten mittels Knopfdruck auszulösen. Mittels Konfigurationssoftware lassen sich die OTP-Keys konfigurieren. Ich habe mich für den YubiKey der Firma Yubico entschieden und gleich zwei YubiKey’s für 50 Dollar bestellt.
Obwohl auf der Webseite eine Lieferfrist von 7 – 14 Tagen angegeben wurde, hatte ich die beiden YubiKey’s schon nach vier Tagen im Briefkasten! Top Service!

Bild: YubiKey

Um den YubiKey zu konfigurieren gibt es zwei Programme, das Configuration Utility (Link angepasst am 19.06.2015) und das Personalization Tool. Ich habe die Konfiguration mit dem Configuration Utility durchgeführt, welches ich nachfolgend beschreiben werde.

Wir stecken den YubiKey in einen freien USB Anschluss und starten das Configuration Utility Programm.
Beim ersten Start des YubiKeys kann es durchaus einen Moment dauern bis das Betriebssystem den Key erkannt hat.

Bild: Startbildschirm

 

Bild: OATH-HOTP

Hier OATH-HOTP auswählen.

 

Bild: OTP Länge und Startposition

Die OTP Länge sollte man hier auf 8 Stellen setzen was die Sicherheit zusätzlich erhöht. Wichtig ist der Moving factor seed, dieser definiert nämlich ab welcher OTP-Nummer zu zählen begonnen wird. Hier den Wert Fixed zero auswählen.

 

Bild: Secret Key

Hier wird der Schlüssel definiert mit dem die OTP’s generiert werden. Über den Button Single rand können neue Schlüssel “zufällig” erzeugt werden. Hat man den Button ein paar mal gedrückt muss man den 160bit Schlüssel irgendwo zwischenspeichern, denn diesen brauchen wir später noch für KeePass. Dieser Schlüssel ist sehr wichtig, denn ohne diesen lässt sich die KeePass Datenbank nicht mehr öffnen, sollte irgendwann mal der YubiKey verloren gehen. Am besten schreibt man den Schlüssel auf und verwahrt diesen an einem sicheren(!) Ort.

 

Bild: Output Format Flags

Da YubiKey wie eine Tastatur funktioniert, können verschiedene Tastaturbefehle, wie Tabulator oder Zeilenumbruch mit übergeben werden. Dies ist praktisch, da bei der Eingabe eines OTP’s über mehrere Felder hinweg auf die normale Tastatur verzichtet werden kann. Wir lassen die Einstellungen hier alle leer, denn wir definieren die Tastaturbefehle später in KeePass.

 

Bild: YubiKey schützen

Hier kann der YubiKey gegen das Überschreiben seiner Konfigurationen geschützt werden. Vorläufig lassen wir den YubiKey ungeschützt.

 

Bild: Konfiguration schreiben

YubiKey besitzt zwei Speicherbänke um Bspw. ein Passwort und ein OTP Schlüssel abzuspeichern. Wir nehmen die Konfiguration 1 und betätigen den Run Button.

Hinweis: Um die Konfiguration der beiden Speicherbänke abrufen zu können, drückt man den Gold-Button auf dem YubiKey unterschiedlich lange.

KeePass mit OTP aktivieren

Um OTP in KeePass verwenden zu können, muss erst OptKeyProv heruntergeladen und seinen Inhalt in das Hauptverzeichnis von KeePass entpackt werden.

Wir öffnen nun KeePass und geben das Master Passwort ein.

Bild: Master Key

Danach gehen wir zu File -> Change Master Key und geben unseres Master Passwort ein oder definieren ein neues. Unter Key file / provider wählen wir One-Time Passwords (OATH-HOTP) aus und bestätigen mit OK.

 

Bild: OTP

Die Passwortlänge setzen wir auf 8 Zeichen fest, so wie wir dies im Configuration Utility Tool definiert haben. Unter Secret key kommt der zwischengespeicherte 160bit Schlüssel rein, der Counter ist der Moving factor seed aus dem Configuration Utility Tool, diesen lassen wir auf 0. Bei Number of OTPs required to open the database definieren wir, wie viele OTP’s es braucht um KeePass zu öffnen. In diesem Beispiel müsste sechs mal auf den YubiKey gedrückt werden, damit sich KeePass öffnet.

Den Loock-ahead count muss ich an dieser Stelle kurz erklären. Da der YubiKey und KeePass den identischen Secret Key haben und sich daraus alle nachfolgenden OTP-Nummern mathematisch ergeben, müssen beide synchron laufen. Nun ist es aber möglich den YubiKey auch unabhängig von KeePass zu benutzen, was sich mit einem Texteditor und dreimal auf den YubiKey drücken auch rasch überprüfen lässt. In diesem Fall wäre der YubiKey jetzt schon um drei OTP-Nummern weiter als KeyPass. Der Loock-ahead count ermöglicht es KeyPass einen Versatz zu definieren, um diese “Diskrepanz” auszugleichen. Genauer gesagt: KeePass erkennt anhand der eingegebenen OTP-Nummern wie weit der YubiKey voraus ist und passt die neue Startposition an. An der Reihenfolge der einzugebenden OTP-Nummern ändert sich nichts, diese müssen in jedem Fall immer die korrekte Abfolge besitzen, lediglich die Startposition wird angepasst. Dieser Look-ahead count lässt sich nicht unendlich nach Vorne verschieben und sollte zudem mit einem sinnvollen Wert gesetzt werden, denn je höher der Wert ist, desto grösser ist der mögliche Angriffsvektor. Würde man in diesem Beispiel mit dem YubiKey 13 mal in das Leere ein OTP erzeugen, so könnte KeePass nur noch mit dem – hoffentlich zuvor notierten – Secret Key geöffnet werden.

Wir speichern das Ganze und beenden KeePass.

Nach einem Restart von KeePass lässt sich unter Key File das One-Time Password auswählen.

 

Bild: Login mit OTP

Nun geben wir unser Master Password ein und drücken auf OK.

 

Bild: OPT

Als erstes gehen wir gleich mal in die Options und aktivieren Auto-Accept und Auto-Tab. Damit brauchen wir bei der Eingabe der OTP-Nummer nicht die Tabulator- und Zeilenumbruchtaste zu betätigen.

Nun ist KeePass bereit für das erste OTP Login, viel Spass!

Netcat

Mit Netcat oder auch nc genannt, lassen sich Daten von der Standardein- oder -ausgabe durch eine Netzwerkverbindung über TCP oder UDP transportieren. Das Ganze läuft als Server und Client ab, dabei werden die Daten unverschlüsselt übermittelt. Das Anwendungsgebiet kann beispielsweise ein internes Netz sein, wo Daten ohne Sicherheitsbedürfnis rasch kopiert werden müssen.

Netcat gibt es für praktisch alle Plattformen, untenstehende Beispiele wurden auf einem Linuxsystem durchgeführt.

Um Daten empfangen zu können wird zuerst auf dem Zielrechner Netcat als Server initialisiert. Folgendes Beispiel lauscht (-l = listen) auf dem Port (-p = Port) 3000 und alle Daten werden in der Datei “kopie” gespeichert. Der Zielrechner lauscht solange auf diesem Port bis Netcat z.B. mittels strg + c abgebrochen wird.

Zielrechner::

nc -l -p 3000 > kopie

Um nun Daten senden zu können, wird auf einem anderen Rechner, nennen wir diesen Startrechner, Netcat aufgerufen, der eine Verbindung zum Zielrechner über den Port 3000 macht und die Datei “original” übermittelt.

Startrechner:

nc Zielrechner 3000 < original

Dabei spielt es keine Rolle in welcher Art die Daten vorliegen, Netcat leitet diese einfach weiter.

Im folgenden Beispiel wird der Inhalt des Arbeitsspeichers mittels dem Programm Disk Dump (dd) zum Zielrechner übermittelt. Das Pipe-Zeichen "|" bedeutet, dass das Ergebnis aus dd an Netcat weitergereicht wird.

Startrechner:

dd if=/dev/mem | nc Zielrechner 3000

Zielrechner:

nc -l -p 3000 > arbeitsspeicher

Auf dem Zielrechner werden dann die Arbeitsspeicherdaten in die Datei "arbeistspeicher" geschrieben.
Natürlich lassen sich so auch ganze Festplatten oder einzelne Partitionen über das Netz sichern.

Startrechner:

dd if=/dev/hda1 | nc Zielrechner 3000

Die Harddiskdaten werden auf dem Zielrechner mittels gzip komprimiert und dann in die Datei "hda1.gz" gespeichert.

Zielrechner:

netcat -l -p 3000 | gzip > hda1.gz

Netcat kann auch als Portscanner eingesetzt werden.
Die Option -z überprüft in diesem Beispiel, ob der SSH Port 22 offen ist und gibt dessen Status mittels -v aus.

netcat -vz Zielrechner 22

Ohne die Option -z initiiert Netcat eine Verbindung auf den Port 22, was bei einem offenen Port und einem laufenden SSH Server mit einem Banner wie z.B. SSH-2.0-OpenSSH_5.1 quittiert werden kann.

Es lassen sich auch ganze Port-Breiche absuchen, hier alle Ports zwischen 21 und 80. Die Option -w gibt das Timeout in Sekunden an.

netcat -vz -w 10 Zielrechner 21-80

Google und die neue Web Search Sidebar

Die neue Web Search Sidebar auf der linken Google Seite, welche seit gestern als standardmässig fix eingeblendet wird, stösst nicht bei allen Benutzern auf Freude. Die praktische “Show-” und “Hide options”, mit der man nach Bedarf die Optionen verschwinden lassen konnten, wurden von Google entfernt. Stattdessen nimmt jetzt die neue Sidebar Platz weg und stört gewaltig – mich zumindest.

Unter http://www.google.com/webhp?hl=all ist noch die alte Google Seite mit der freien Wahl der Options-Anzeige verfügbar. Wie lange noch kann ich nicht sagen, diese wird Google bestimmt bald mal deaktivieren.

Eine weitere Möglichkeit ohne die permanenten Optionen leben zu müssen bietet das “Hide Google Options” Add-on von seotools.com, welches bei mir aber nicht mit dem Firefox funktionierte.

Empfehlen kann ich hingegen das Stylish Add-on für den Firefox um mittels CSS die nötigen Einstellungen vornehmen zu können.

Vorgehen für den Firefox Browser mit Stylish
1.) Stylish von https://addons.mozilla.org/en-US/firefox/addon/2108 installieren
2.) Gehe zu: Extras -> Add-ons -> Eigene Stile -> Neuen Stil erstellen
3.) Folgenden CSS Code einfügen:

@namespace url(http://www.w3.org/1999/xhtml);
#leftnav {
display: none;
}
#center_col {
margin-left: 0px !important;
border-left: none !important;
}

5. speichern und aktivieren.

Vorgehen für den Opera Browser
1.) Erstellen einer CSS Datei mit folgendem Inhalt

@namespace url(http://www.w3.org/1999/xhtml);
#leftnav {
display: none;
}
#center_col {
margin-left: 0px !important;
border-left: none !important;
}

2.) Gehe zu: Extras -> Einstellungen -> Erweitert -> Inhalte -> Verwalten der Site-Einstellungen -> Hinzufügen -> Allgemein
3.) In dem Feld “Site” die URL angeben, in der das CSS die Änderung bewirken soll (z.B. google.ch)
4.) Gehe zu: Anzeige
5.) Wähle unter “Eigenes Stylesheet” das zuvor definierte CSS File
6.) speichern

Was man damit sonst noch alles machen kann zeigt dieses kleine Beispiel 🙂

@namespace url(http://www.w3.org/1999/xhtml);
#leftnav {
display: none;
}
#center_col {
margin-left: 0px !important;
border-left: none !important;
}
#resultStats {
color:#ff5566;
}
#guser, #gbar, #gbh, #cnt {
background-color:#000000;
color:#ffdd56;
}

Ändern von Dateinamen welche mit einem Sonderzeichen beginnen

Ein Tippfehler bei einem Parameter mit “tar” oder “touch” und schon hat man eine Datei erstellt, die mit einem Sonderzeichen im Dateinamen anfängt, z.B. “-r”.

Ein beherztes

rm -r

wird nicht wie erwartet die Datei “-r” löschen, sondern den gesamten Ordner Inhalt, was zu bösen Überraschungen führen kann 🙂

Um nun so eine Datei löschen zu können, muss dem Dateiname ein “./” vorangestellt werden, dann klappt es auch.

rm ./-r

Peru klopft an meine Firewall

Ist immer wieder spannend mit anzusehen, mit welchen kreativen Benutzernamen versucht wird auf einen SSH Server einzuloggen.


[...]
Apr 2 11:06:11 localhost sshd[7103]: Illegal user elke from 200.60.37.35
Apr 2 11:06:21 localhost sshd[7115]: Illegal user apache from 200.60.37.35
Apr 2 11:06:23 localhost sshd[7117]: Illegal user squid from 200.60.37.35
Apr 2 11:06:26 localhost sshd[7121]: Illegal user mailman from 200.60.37.35
Apr 2 11:06:28 localhost sshd[7123]: Illegal user stephane from 200.60.37.35
Apr 2 11:06:30 localhost sshd[7125]: Illegal user rabbit from 200.60.37.35
Apr 2 11:06:31 localhost sshd[7127]: Illegal user notes from 200.60.37.35
Apr 2 11:06:33 localhost sshd[7129]: Illegal user nick from 200.60.37.35
Apr 2 11:06:35 localhost sshd[7131]: Illegal user jesus from 200.60.37.35
Apr 2 11:06:37 localhost sshd[7133]: Illegal user paul from 200.60.37.35
Apr 2 11:06:39 localhost sshd[7135]: Illegal user penis from 200.60.37.35
Apr 2 11:06:40 localhost sshd[7137]: Illegal user temp from 200.60.37.35
Apr 2 11:06:42 localhost sshd[7139]: Illegal user bob from 200.60.37.35
Apr 2 11:06:44 localhost sshd[7141]: Illegal user software from 200.60.37.35
Apr 2 11:06:46 localhost sshd[7143]: Illegal user advanced from 200.60.37.35
Apr 2 11:06:47 localhost sshd[7145]: Illegal user american from 200.60.37.35
Apr 2 11:06:49 localhost sshd[7147]: Illegal user annmarie from 200.60.37.35
Apr 2 11:06:51 localhost sshd[7149]: Illegal user capital from 200.60.37.35
[...]

Vermutlich ist der arme Tropf aus Peru nicht einmal der Urheber des Übels, er hat vermutlich nicht einmal eine Ahnung davon was auf seinem Rechner – vor allem über den Port 31337 – so abläuft.


Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2009-04-02 11:00 CEST
Interesting ports on ucspperu.info (200.60.37.35):
(The 1654 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
110/tcp open pop3
111/tcp open rpcbind
143/tcp open imap
623/tcp open unknown
6667/tcp open irc
31337/tcp open Elite

mtr, die bessere Alternative zu traceroute

Unter Linux gibt es das praktische Tool: mtr, welches wie traceroute das routing zwischen zwei Punkten darstellt. Im Gegensatz zu traceroute stellt mtr eine Statistik über die Qualität der Ping-Rate zur Verfügung, unterteilt dargestellt in: Last, Best, Average und Worst.
Die Abfrage erfolgt in einem Intervall und so sieht man über einen bestimmten Zeitraum ganz genau, wo sich evt. ein Flaschenhals bilden kann. Unter Loss% sieht man in Prozent, wie viele ICMP Pakete der Router verworfen hat, ein mögliches Indiz für eine zu starke Auslastung des Gerätes oder eine Limitierung der Anfrage über einen bestimmten Zeitraum. Schön ist an diesem Beispiel mit mtr google.com auch zu sehen, dass (mit hoher Wahrscheinlichkeit) ein Loadbalancer ab Zeile 11 die Anfrage an qf-in-f100.google.com weiterleitet.

du – Verzeichnis -und Dateigrösse unter Linux anzeigen

Unter Linux lassen sich Dateien mit dem Befehl “du” (disk usage) auf ihre Grösse untersuchen und mit einer Handvoll Optionen wird sogar der tägliche Kampf eines Linux Administrators erträglicher.

Der Aufruf von du ohne Option, gefolgt von einer Datei oder einem Verzeichnis.
Die Grösse wird dabei in Blocksize angezeigt.

du /home/schurter
2066440 /home/dschurter

Mit der Option -b wird das Ergebnis als Byte angezeigt.

du -b /home/schurter
2113386772 /home/dschurter

Die Option -sh formatiert die Grösse in eine, für Menschen bessere lesbare Form.
Die Darstellung der einzelnen Grössenordnungen reichen von: K (Kilobyte), M (Megabyte) und G (Gigabyte)
In diesem Fall beträgt die Gesamtgrösse 2 GB.

du -sh /home/schurter
2.0G /home/dschurter

-ch als Option zeigt alle Files in einem Verzeichnis und dessen Grösse an.

du -ch /home/dschurter
2.9M /home/dschurter/xxx
4.0K /home/dschurter/yyy/xxx10
20K /home/dschurter/yyy/xxx11
84K /home/dschurter/yyy/xxx20
120K /home/dschurter/yyy/xxx21
20K /home/dschurter/zzz/aaa1
4.0K /home/dschurter/zzz/aaa2
8.0K /home/dschurter/zzz/aaa3
32K /home/dschurter/zzz/aaa4
...
...
...
2.0G insgesamt

Mit einem Wildcard (*) lassen sich Teile einer Abfrage darstellen.

du -ch /home/dschurter/yyy/*
4.0K /home/dschurter/yyy/xxx10
20K /home/dschurter/yyy/xxx11
84K /home/dschurter/yyy/xxx20
120K /home/dschurter/yyy/xxx21
228K /home/dschurter/yyy

du -ch /home/dschurter/yyy/xxx1*
4.0K /home/dschurter/yyy/xxx10
20K /home/dschurter/yyy/xxx11
24K insgesamt

Nützlich ist auch der exclude Parameter, der mit einem Pattern gefüttert werden kann. Dieser Pattern wird dann bei der Suche nicht mitberücksichtigt.

du -ch --exclude='xxx11' /home/dschurter
2.9M /home/dschurter/xxx
4.0K /home/dschurter/yyy/xxx10
20K /home/dschurter/yyy/xxx11 //Dieses File wird bei der Suche nicht mitberücksichtigt.
84K /home/dschurter/yyy/xxx20
120K /home/dschurter/yyy/xxx21
20K /home/dschurter/zzz/aaa1
4.0K /home/dschurter/zzz/aaa2
8.0K /home/dschurter/zzz/aaa3
32K /home/dschurter/zzz/aaa4
...
...
...
2.0G insgesamt

Es gibt noch weitere Optionen für “du”, welche hier nachgeschlagen werden können.