Im Kurztest: Fillin 0.0.8, Geo 1.2.0, Grip 0.5, Hotshell 0.5.0, Honeypy 0.6.2, Obackup 2.1 Beta 3
Fillin 0.0.8
Wiederverwendbare Shellkommandos
Quelle: https://github.com/itchyny/fillin
Lizenz: MIT
Alternativen: keine
Fillin macht oft genutzte Befehlsparameter wiederverwendbar. Anwender schreiben dazu hinter »fillin« und das Shellkommando die Parameter, die sie als Variablen in doppelten geschweiften Klammern definieren, etwa »fillin echo {{message}}«. Jetzt geht es interaktiv weiter: Das Tool fragt nach dem Wert für »message«. Zur Bestätigung führt Fillin den Befehl mit den Parametern einmal aus. Das Go-Tool speichert die Zuordnungen in der Datei »~/.config/fillin/fillin.json«. In den Variablen sind Buchstaben, Zahlen, Unter- und Bindestriche erlaubt.
Wirklich clever ist die Möglichkeit, Variablen zu gruppieren. Dazu stellen Nutzer in den geschweiften Klammern einen eindeutigen Bezeichner voran, gefolgt von einem Doppelpunkt: »fillin ssh -l {{ssh:user}} {{ssh:host}}«. Dann geben sie wieder die Werte ein.
Wenn sie dasselbe Kommando erneut aufrufen, können sie entweder weitere Werte eintragen oder mit den Pfeiltasten in den letzten Zuordnungen hoch und runter blättern. Damit trennt Fillin sauber zwischen der Aktion (Was ist auszuführen?) und der Umgebung (Wo soll der Befehl abgesetzt werden?).
Das Tool ist ein praktischer Helfer für Shellarbeiter. Die Möglichkeit, Variablen zu gruppieren und damit ähnliche Szenarien zusammenzufassen, verdient weitere Pluspunkte.
Geo 1.2.0
IP-Adressen und Geodaten ermitteln
Quelle: https://github.com/jakewmeyer/Geo
Lizenz: MIT
Alternativen: Netgeo, diverse Websites
Das kleine Shellskript ermittelt IP-Adressen und ihre Geodaten (IPv4 und IPv6) und befragt dazu verschiedene Dienste im Internet. Anwender laden Geo von der Projektseite herunter und machen die Datei ausführbar.
Wer wissen möchte, mit welcher IP-Adresse er gerade im Netz auftritt, ruft »geo -w« (für WAN) auf. Das Skript führt »dig +short myip.opendns.com @resolver1.opendns.com« aus. Auch bei den anderen Funktionen bedient sich Geo externer Tools und Webdienste. Die lokale IP (»geo -l«) ermittelt »ip« (Linux) beziehungsweise »ifconfig« (Mac OS). Ähnlich funktioniert die Kontaktaufnahme zum Router (»geo -r«): Unter Linux arbeiten »ip« und »grep« zusammen, unter Mac OS »ifconfig« und »grep«.
Den DNS-Server (»geo -d«) verrät ein Blick in die Datei »/etc/resolv.conf«. Zum Bestimmen der Geodaten (»geo -g«) kontaktiert das Tool mit »curl« die Seite http://ip-api.com. Wer diese Daten nicht für die eigene, sondern eine andere IP ermitteln möchte, kann diese hinter »-a« angeben. In dem Fall ist es erforderlich, hinter »-o« zusätzlich die Datenfelder fürhttp://ip-api.com anzugeben: »-o query,city,region,country,zip,isp«.
Geo ist ein auskunftsfreudiges Skript. Die Tester vermissen eine Möglichkeit, FQDNs anzugeben. Geo fehlt eine Funktion, diese aufzulösen.
Grip 0.5
Schnelles Grep mit Index
Quelle: https://github.com/sc0ty/grip
Lizenz: GPLv3
Alternativen: Cscope, Grep
Um Zeichenketten in Textdateien aufzuspüren, greifen die meisten Anwender zu »grep«. Insbesondere bei vielen Files oder in größeren Dateien kann aber einige Zeit vergehen, bis das Tool seine Ergebnisse präsentiert. Das C++-Programm »grip« will die Sache beschleunigen, indem es mit einem Index arbeitet.
Vor dem ersten Einsatz erzeugt »gripgen« den Suchindex, der im versteckten Verzeichnis ».grip« landet. Alle Dateien im lokalen Ordner erfasst etwa »find -type f | gripgen«. Alternativ geben Benutzer hinter »gripgen« eine Liste mit den gewünschten Dateien an. Um den Index zu aktualisieren, reicht der Aufruf von »gripgen -u«. Ein entsprechender Cronjob automatisiert die Aufgabe.
Sobald der Index steht, können Anwender mit »grip« die Suche einleiten. Die Entwickler haben viele »grep«-Parameter übernommen. So schaltet »-i« die Unterscheidung zwischen Groß- und Kleinschreibung aus, und hinter »-A«, »-B« und »-C« geben Anwender an, wie viele Zeilen Kontext sie in der Ausgabe wünschen. Über »-E« nimmt das Tool reguläre Ausdrücke entgegen.
Im Test brauchte »grip« für 1115 Dateien lediglich 2 Sekunden, während »grep« 7 veranschlagte. Lediglich der Name ist unglücklich gewählt, gibt es doch einen beliebten CD-Ripper, der genauso heißt.
Honeypy 0.6.2
Klebrige Falle für Schädlinge
Quelle: https://github.com/foospidy/HoneyPy
Lizenz: GPLv2
Alternativen: Honeypotd, Honeydrive
Wie ein Honigtopf, der Bären in die Falle locken soll, will Honeypy Eindringlinge und Schadsoftware anziehen. Das Python-Tool simuliert dazu verwundbare Netzwerkdienste. Es setzt auf das ältere Python 2.7 und benötigt für seine Arbeit sieben weitere Module, welche die Datei »requirements.txt« auflistet.
Nach dem Entpacken ist das Tool sofort arbeitsfähig. Nutzer konfigurieren es über »honeypy.cfg« und »service.cfg«. Sie sollten sich auch die Files im »profiles«-Ordner anschauen, die vorgefertigte »service«-Definitionen enthalten, darunter auch solche für TCP-Malware und Windows-IIS-Simulationen. Beim Programmstart schaltet Honeypy in den interaktiven Modus. Das Kommando »list« zeigt, welche Dienste konfiguriert sind, »start« und »stop« aktivieren und deaktivieren sie. Über »set profile« lesen Anwender eine andere »service.cfg« ein.
Damit Honeypy ohne Rootrechte auskommt, empfehlen die Entwickler, Weiterleitungen für privilegierte Ports auf unprivilegierte einzurichten. Das kann beispielsweise via IPtables erfolgen. Alle Verbindungen und Ereignisse speichert Honeypy in einem Logfile. In der Datei »honeyp.cfg« können Benutzer andere Ziele konfigurieren, darunter Splunk, Logstash und Elasticsearch. Optional twittert das Tool sogar.
Mit Honeypy stellen Admins ohne viel Aufwand Fallen für Angreifer auf. Dank der mitgelieferten Module sind offene Ports verschiedener Dienste schnell simuliert. Da das Tool auch professionelle Tools wie Splunk oder Elastic unterstützt, eignet es sich auch für den Einsatz in größeren Umgebungen.
Hotshell 0.5.0
Interaktive Menüs für Shells bauen
Quelle: https://github.com/julienmoumne/hotshell
Lizenz: MIT
Alternativen: Dialog
Wer für seine Nutzer eine eingeschränkte Shell mit wenigen Befehlen und simplen Menüs zur Verfügung stellen möchte, sollte einen Blick auf Hotshell werfen. Das Go-Programm akzeptiert Tastenkürzel- und Menüdefinitionen im Javascript-DSL-Format. Vorkompilierte Binaries und Quellen für Linux und Windows sind im Github-Repository verlinkt. Die Mac-OS-Anwender installieren das Tool via Homebrew.
Hinter »hs -f« erwartet Hotshell eine Konfigurationsdatei. Eine ausführliche Anleitung zum Bauen eigener Einrichtungen finden Nutzer auf der Github-Seite. Jede Definition beginnt mit dem Top-Level-Menü, danach folgen so genannte Items für Tastenkürzel oder Untermenüs. Optional ist bei den Shortcuts Platz für eine Beschreibung. Im Quellarchiv finden Anwender fertige Dateien für diverse Einsatzgebiete, darunter solche zum Auswerten der Bash-History, Menüs zum Verwalten von Netzwerkschnittstellen und Docker-Containern.
Sogar um die Dokumentation kümmert sich Hotshell selbst. Wenn Nutzer den Parameter »–generate-md« angeben, erzeugt das Tool eine Markdown-Datei mit allen Funktionen der aktuell geladenen Konfiguration. In eine Datei umgeleitet eignet sich das gut, um Handbücher für die Benutzer zu basteln.
Mit Hotshell erzeugen Admins Shells mit Menüs und Tastenkürzeln, die ganz bestimmte Funktionen für unerfahrene Nutzer bereitstellen. Die Notation im Javascript-DSL-Format ist gewöhnungsbedürftig; die Beispiele der Projektseite eignen sich aber gut als erste Anlaufstelle zum Lernen.
Obackup 2.1 Beta 3
Einfache Backuplösung
Quelle: https://github.com/deajan/obackup
Lizenz: BSD
Alternativen: Synbak, Rsnapshot
Obackup sichert Daten auf lokalen und entfernten Rechnern, auf Wunsch verschlüsselt. Im Hintergrund setzt das Shellskript auf Rsync, SSH und Gnu PG. Obackup kümmert sich auch um MySQL- und Maria-DB-Datenbanken und arbeitet dazu mit »mysql« und »mysqldump« zusammen. Die Entwickler empfehlen, in der Obackup-Konfigurationsdatei den Parameter »MYSQLDUMP-OPTIONS« auf »–single-transaction« zu setzen, was auch die Voreinstellung in der aktuellen Version ist.
Die im Quellarchiv mitgelieferte Beispielkonfiguration eignet sich als Vorlage für persönliche Anpassungen. Anwender sollten ausreichend Zeit für das Erstellen einer eigenen Einrichtungsdatei einplanen, denn Obackup kennt zahlreiche Optionen. Neben den Quell- und Zielverzeichnissen für Datei- und Datenbanksicherungen definieren Anwender hinter »ENCRYPTION«, ob sie eine Verschlüsselung wünschen. Für Remote- und Datenbank-Backups hinterlegen sie außerdem die Zugangsdaten.
Wer sicherstellen möchte, dass immer genug Plattenplatz für die nächste Sicherung zur Verfügung steht, der kann in der Konfigurationsdatei einen Grenzwert für den Speicherplatz festlegen. Über Erfolg oder Misserfolg eines Backup-Durchlaufs informiert das Tool per Mail. Praktisch: Mit der Option »–dry« können Nutzer die Konfiguration testen und eine Obackup-Sicherung simulieren.
Auch wenn Obackup selbst überzeugt, bemängeln die Tester, dass es keine Recovery-Option gibt. Um das Wiederherstellen der Daten im Fall des Falles müssen sich Anwender selbst kümmern.











