Alle Beiträge von koma

Blog Author Matteo

Zugriff auf Virtuellen Festplatten

Manchmal kann es nützlich sein, Daten von virtuellen Festplatten zu lesen oder Dateien von einer virtuellen Partition in eine andere zu kopieren, ohne das virtuelle Betriebssystem zu booten. In diesem Fall wird es erforderlich, die virtuelle Festplatte zu öffnen um den Inhalt zu lesen. Außerdem können Dateien auch gelöscht, verschoben oder zu einer virtuellen Maschine hinzufügt werden, um beispielsweise ein nicht mehr Boot fähiges System zu reparieren oder Offline-Windows-Updates auszuführen.

Eine weitere Möglichkeit ergibt sich zur Wiederherstellung von Daten aus einer Snapshot Sicherung, beispielsweise bei VMware Consolidated Backup durch ghettoVCB.

Es gibt viele verschiedene Möglichkeiten, wie auf den Inhalt eines virtuellen Laufwerks zugegriffen werden kann, ohne das virtuelle Betriebssystem selbst zu booten. Hier wird die recht einfache Lösungen mit 7-Zip vorgestellt.

7-Zip ist wahrscheinlich das beliebteste kostenlose Archiv-Tool, dieses auch die Möglichkeit bietet, VHD-, VDI- und VMDK-Disk-Images zu öffnen. Es können benötigte Dateien einfach aus der virtuellen Maschine extrahiert werden, oder aber das Archive wird über die Schaltfläche Extrahieren in ein Ordner kopiert.

Abbildung: 7-Zip Kontextmenu Flat VMDK öffnen.

Um ein virtuelles Laufwerk zu öffnen, klicken man mit der rechten Maustaste auf die Flat VMDK oder VHD Datei um die virtuelle Festplatte über das 7-Zip-Kontextmenü zu öffnen. Es werden nur Single-Volume-VDIs unterstützt, wenn es mehr als eine Partition gibt, wird kein Root- Verzeichnis geöffnet. Multi-Volume-VHD und VMDK-Dateien werden aber unterstützt, dabei werden die Partitionen nummeriert angezeigt, 0 ist oft die Reserved Boot-Partition, 1 ist die Haupt-Windows-Partition und 2 ist die Partition für das Laufwerk D.

 

OpenSSH in Windows 10

Im aktuellen Windows-10-Build ist der OpenSSH-Client als Beta-Feature enthalten. Mit

dem Build 1709 „Fall Creators Update“ hat Windows 10 auch ein paar versteckte Features eingeführt, die für Linux Admins und Poweruser interessant sind. Das beste für Linux- und Unix-Anwender ist vermutlich die Integration des SSH-Client und Server, wie bereits vor zwei Jahren angekündigt, der auf OpenSSH basierte SSH-Client.

Windows 10 SSH-Client

Um den SSH-Client auf Windows 10 zu aktivieren, gib man in der Eingabeaufforderung folgendes Command ein.

Anschließend kann der Client, der unter dem Pfad  „C:\WINDOWS\System32\OpenSSH“ installiert wurde, aus dem CLI wie von der Linux Shell gewohnt genutzt werden, beispielsweise auch ein lokales und Remote-Port-Forwarding steht zur Verfügung.

Die Windows-native OpenSSH-Implementierung, die Remote-Sitzungen in der Eingabeaufforderung „cmd“ und in der PowerShell ermöglicht, erlaubt nun ohne SSH-Tools auszukommen, wie es das Windows-Subsystem für Linux (WSL) mit bash on Windows, PuTTY oder KiTTY und dergleichen wäre.

Sollen Dienstprogrammen wie vi, top, man, multitail und weitere verwendet werden, macht man die besten Erfahrungen, in dem man die Windows SSH-Client Verbindung mit einem * nix-Server hat, das Terminal für einen xterm-ähnlichen Rendering-Modus konfiguriert.

TTY Support in Windows OpenSSH

Öffne hierzu die Eingabeaufforderung (cmd) und klicke mit der rechten Maustaste im Fenster oben links auf das kleine Icon    dann unten auf Eigenschaften.

Abbildung: Eigenschaften von Eingabeaufforderung

Stelle sicher dass Legacykonsole (erfordert Neustart) nicht deaktiviert ist.

Des Terminal Fenster sollte eine probate Größe haben, entsprechend zum gewählten Font und dessen Größe.

Abbildung: Eigenschaften von Eingabeaufforderung – Layout

Im Register Layout die Fensterbreite und Buffergrösse auf 110 setzen.

Für TTY und PTY wird der VT100 Terminal Emulator unterstützt, dazu benötigt es die Umgebungsvariable XTERM diese in der Windows MMC-Konsole mit +R  control sysdm.cpl,,3 gesetzt werden kann.

Unten auf Umgebungsvariablen klicken und im Abschnitt Systemvariablen auf Neu klicken und die Variable TERM=xterm eintragen.

Das Fenster schließen und wieder öffnen, nun ist das TTY Terminal in einer SSH Verbindung anwendbar.

Hinweis zur Implementierung

Windows verfügt über keine integrierte Unterstützung für ein Pseudoterminal.

Die Windows-Version des OpenSSH-Servers implementiert einen VT100 PTY, indem Windows Console-Ereignisse abgefangen werden. Dies ist in ssh-shellhost.exe implementiert, verbunden mit sshd über stdout input/output. Auf einer high-level Ebene fungiert ssh-shellhost.exe als Vermittler zwischen sshd und einer Windows-Konsole, die Folgendes ausführt:

Interpretiert eingehende VT100, Prozesse und Aufrufe von Windows Console IO.

Verarbeitet die Ereigniswarteschlange der Windows-Konsole (Ausgabe), übersetzt sie in VT100 und gibt sie auf stdout aus.

 

Outlook DelegateSentItemsStyle

Outlook bietet mehreren Personen Zugang auf ein freigegebenes Exchange-Postfach, um von dort E-Mails versenden zu dürfen, die versandten E-Mails finden sich stets im Postfach des eigenen Benutzer „Gesendete Elemente“. Dieses Standard Verhalten von Outlook macht es für Mitarbeiter nur schwer nachvoll­ziehbar, was von wem auf welche E-Mail geant­wortet wurde.

In den Einstellungen von Outlook gibt es keine Möglichkeit, diesen Zustand zu verändern. Jedoch durch das hinzufügen eines Registry-Schlüssels wird ermöglicht, dass Outlook solche E-Mails immer in das Postfach verschiebt, das die E-Mail abgeschickt hat. Die folgende Anleitung ist gültig für Microsoft Outlook 2007 bis 2016.

Öffne den Registrierungs-Editor mit    regedit ausführen, und navigiere zu folgendem Ordner:

Der Ordner 14.0 steht für die Office-Version, es gelten hier folgende Werte zu den Versionen:

13.0 = 2007
14.0 = 2010
15.0 = 2013
16.0 = 2016

Erstelle hier einen neuen DWORT-Wert mit dem Namen DelegateSentItemsStyle. Weise diesem neu erstellten Eintrag den Wert 1 zu.

Alternativ kann man folgenden Befehl in einer als Administrator geöffneten Eingabeaufforderung  ausführen.

Nun sollte Outlook in der Lage sein, die gesendeten E-Mails in den Ordnern des freig­egebenen Postfach zu speichern.

Für öffentliche Ordner gibt es leider keine schnelle Lösung. Hier muss man eine Transport-Rolle auf dem Exchange-Server konfigurieren.

 

Cookie-Hinweise Blockieren

Wer im Netz unterwegs ist, stößt derzeit ständig auf Cookie-Hinweise, die den Nutzer daran erinnern, dass sein Surfverhalten aufgezeichnet wird. Vor Jahren von der EU als nützliche Datenschutzinformation eingeführt, ist die jetzige Flut dieser Hinweise für viele Nutzer nur noch ein lästiges Hindernis.

Dieser Hinweis ist meiner Meinung nach relativ sinnlos, weil fast jede Website Cookies verwendet. Eine aktuelle Studie spricht etwa von 95 Prozent aller Websites, die das Surfverhalten der Nutzer mit Cookies und anderen ausgefeilten Methoden systematisch aufzeichnen.

Google löste Hinweiswelle aus

Eigentlich hat die EU bereits 2009 in der Cookie-Richtlinie festgelegt, dass eine Website das Onlineverhalten seiner Besucher nur dann speichern darf, wenn der einzelne User dem vorher zugestimmt hat. Die EU-Vorgaben wurden allerdings nie umgesetzt. Als gängige Praxis wurde bisher die Aufklärung mittels Datenschutzerklärung im Impressum als ausreichend angesehen.

Hinter der jetzigen Flut an Cookie-Hinweisen steckt ausgerechnet Google, der mit Abstand größte Datensammler im Internet. Im Herbst letzten Jahres verpflichtete Google all seine Werbepartner, die EU-Richtlinie zu befolgen und auf Cookies hinzuweisen. Das Ergebnis bekommen die Nutzer seit Monaten massenweise zu sehen.

Cookie weiß was Nutzer tun

Bei jedem Websitebesuch hinterlässt der Nutzer Spuren. Diese werden von den Betreibern der Websites gespeichert und ausgewertet. Das nennt man Tracking. Dabei kommen unter anderem Cookies zum Einsatz, kleine Textdateien, welche die personenbezogenen Informationen direkt auf dem Computer des Nutzers speichern. Ursprünglich wurden die Cookies eingeführt, um sich zu merken, was der Benutzer vorher auf der Seite gemacht hat. Auch Facebook nutzt die Technik rigoros um anhand des Surfverhalten der Nutzer die passenden Produkte platzieren zu können.

Cookies zeichnen klares Bild des Nutzers

Mit Hilfe der Cookies können die Websitebetreiber genau nachvollziehen, welche Videos wann angeschaut und welche Produkte wie oft aufgerufen wurden. Aus einer Fülle von Einzeldaten zeichnen sie so eine ausführliche Datenspur, die ein klares Bild des Nutzers ergeben.

Sollte man manche Cookies also besser nicht erlauben? Das gezielte Ausschalten einzelner Cookies ist technisch möglich, aber unrealistisch für den Endnutzer. Das Blockieren aller Cookies ist hingegen technisch einfach möglich, hat aber den Nachteil, dass dann viele Funktionen von Webseiten einfach nicht mehr funktionieren. Zum Beispiel das automatische Log-in und das Hinterlegen von Produkten im Warenkorb.

Im Browser Cache gespeicherten Cookies löschen

Die im Browser Cache gespeicherten Cookies können mit Plugins wieder gelöscht werden, wie mit dem Click&Clean, dieses beim beenden des Browsers alle Cookies und bei bedarf den Verlauf und weitere Daten aus dem Cache entfernt.

Cookie-Warnungsblocker bringen Ruhe

Ein Browser Plugin mit dem bezeichnenden Namen „I don’t care about Cookies“ existiert bereits. Einmal im Browser installiert, werden die Hinweise einfach ausgeblendet. Auch Adblock und uBlock (Fanboy’s Cookiemonster List) bieten Filter gegen die massenhaften Hinweise an. Andere Filter wie zum Beispiel „Ghostery“ und „Disconnect“ zeigen an, wie viele Cookies auf welcher Website im Einsatz sind, denn bei vielen Websites weiß man nicht was alles im Hintergrund noch sonst so läuft.

uBlock Origin: Dashboard – Vorgegebene Filter

 

Nagios Monitoring mit Raspberry Pi

Nagios Open Source Monitoring für die Überwachung komplexer IT-Infrastrukturen. Nagios besteht aus einer Sammlung von Modulen zur Überwachung von Netzwerken, von Hosts und deren spezifischen Diensten, sowie ein Web-Interface um Abfragen der gesammelten Daten zu ermöglicht. Nagios steht unter der GNU GPL, ist also freie Software und läuft unter zahlreichen Unix-ähnlichen Betriebssystemen. Nagios ist wegen seiner großen Verbreitung auch im professionellen Einsatz ein Quasi-Standard geworden.

Nagios-Überwachung mit Raspberry Pi

Raspberry Pi mit seinem lüfterlosen Design, den minimalen Ausmaßen und seinem geringen Stromverbrauch eignet sich der Raspberry Pi als Einplatinencomputer hervorragend für einen Nagios-Monitoring-Server, der sich sogar selbst überwachen kann.

INSTALLATION

Die Installation von Nagios Core 4 auf dem Raspberry eigenen OS Raspbian, welches auf Debian basiert, ist unspektakulär. Hier in dieser Anleitung wird die Vorgehensweise für ein Raspberry Pi 3 Model B aufgezeigt, auf einer 32 GB microSD Card Typ Class 10, eine 16 GB microSD Card würde ebenfalls genügen.

Raspbian Terminal

Zur Bereitstellung von Raspbian auf einer microSD Card wird hier nicht näher eingegangen. Nach boot eines Raspbian Desktop Image, wird das LXTerminal auf dem Raspbian X-Desktop geöffnet und die root shell gestartet, bei Headless Betrieb kann mit VNCViewer eine VNC Session gestartet werden, mit der Anmeldung als Benutzer pi und dem default Passwort raspberry. Möchte man das Raspbian Minimal Image einsetzen, bietet sich die Authentifizierung über SSH zum Raspberry Pi an.

Raspbian VNCViewer

Nach der Anmeldung als User pi wollen wir root werden.

Zunächst werden alle benötigten Pakete als Voraussetzung aus dem Repository installiert.

Herunterladen und entpacken der Nagios Core 4 Source Pakete. Hier findet man das letzte Release, auf Github steht das Core Release sowie die Agenten und Plugins zur Verfügung.

Compilieren

Erstellen des Benutzer nagios und der Gruppe. Der Apache-Benutzer www-data wird auch der nagios-Gruppe hinzugefügt.

Die Binaries Installieren.

Das Installieren der Service-Daemon-Dateien und das konfigurieren für den Bootvorgang.

Installiert und konfiguriert die externe Befehlsdatei.

Nun werden die * SAMPLE * Konfigurationsdateien installiert. Diese sind erforderlich, da Nagios um zu starten einige Konfigurationsdateien benötigt.

Es werden die Apache-Webserver-Konfigurationsdateien installiert und die Apache-Einstellungen für Nagios konfiguriert.

Es muss Port 80 für den eingehenden Datenverkehr auf der lokalen Firewall zugelassen werden, damit die Webschnittstelle von Nagios Core erreicht werden kann.

Antworte mit ja, um die bestehenden Regeln zu speichern.

Es wird ein Apache-Benutzerkonto erstellt, damit es diesem ermöglicht wird sich bei Nagios anmelden zu können.

Der folgende Befehl erstellt ein Benutzerkonto namens nagiosadmin und es wird ein Passwort für das Konto erstellt, dieses Passwort jetzt sich merken.

Es muss der Apache Webserver neu gestartet werden.

Nun wird Nagios Core gestartet.

Nagios ist jetzt bereit und kann getestet werden.

Es kommt die Aufforderung sich mit Benutzernamen und Passwort anzumelden. Der Benutzername ist nagiosadmin (du hast ihn in einem vorherigen Schritt erstellt) und das Passwort ist das, was du zuvor angegeben hast.

Nach erfolgreicher Anmeldung erscheint die Nagios Core Web-Oberfläche. Herzlichen Glückwunsch, Du hast es geschafft.

Nagios Core ist nun installiert, zum Betrieb werden noch die Nagios Plugins benötigt. Es erscheint die Fehler Meldung: (No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load .. das ist normal, in den folgenden Schritten werden die Standard Plugins installiert.

Plugin Installation

Zur Voraussetzung der Installation der Plugins werden folgende Pakete aus dem Repository installiert.

Die Source Pakete herunterladen und entpacken. Auf nagios-plugins.org sind die letzten Plugin Release.

Pakete compilieren und installieren.

Gehe zu einem Host- oder Service Objekt und „Re-schedule the next check“ im Menü Commands. Der Fehler der zuvor erschien, sollte nun verschwinden und die korrekte Ausgabe wird auf dem Bildschirm angezeigt.

Die Daemon Kommandos für start / stop / restart / status.

Nagios Konfiguration

Nachdem nun der Nagios Core Server betriebsbereit ist, geht es an das erstellen der Konfiguration der Host und Services die Überwacht werden sollen. Unter /usr/local/nagios/etc ist die Hauptkonfiguration nagios.cfg, hier werden mit cfg_file die Pfade zu den Konfigurationsdateien definiert, in einer Datei hosts.cfg können die zu überwachenden hosts eingetragen werden.

Soll es mehr strukturiert sein bietet sich die Möglichkeit die Host und Service Konfiguration in die Verzeichnisse printers, routers, servers, switches zu speichern, hierzu wird die Datei nagios.cfg editiert und die Kommentar Zeichen # (hash) entsprechend bei cfg_dir= entfernt.

Es werden die in den Verzeichnissen angelegten .cfg Dateien ausgelesen.

Beispiel für ein Mail und Webserver bei diesem IMAP und HTTPS überprüft wird.

Nach jeder Änderung wird der Nagios Server neu gestartet.

Ein blick in die Nagios-Log Datei kann sich lohnen.

Unter dem Verzeichnis objects findet man weitere Konfigurationsbeispiele für Linux, Windows, Printer Router und Switch.

nagios_check_dns
Beispiel: Nagios Service Konfiguration

Mit Remote Agenten wie NCPA können Active Checks auf Windows und Linux Hosts ausgeführt werden, über NRDP und NRPE sind Passive Checks möglich, die werte über CPU last, Memory Nutzung, Prozesse, User und Disk Nutzung geben.

Nagios Notification

In der Datei nagios.cfg und in der Datei objects/contacts.cfg wird als Email Empfänger bei email hier in diesem Beispiel root@localhost belassen.

In der Datei nagios.cfg bei admin_email.

Für die Nagios Email Notification wird hier Postfix als Mail Transport Agent verwendet. Dies wie folgt installiert und konfiguriert wird.

Während der Installation wird man zur Auswahl einer MailServer Konfiguration gefragt, hier wählen wir Internet Site.

Um das senden von Email später testen zu können, wird das Paket mailutils installiert.

Die Postfix Hauptkonfiguration main.cf wird angepasst.

Bei relayhost wird der MailServer eingetragen dieser von Raspberry Pi erlaubt Emails zu empfangen, ist das Raspberry hinter einer Firewall mit NAT, muss beim MailServer die öffentliche IP Adresse für den Empfang berechtigt werden.

Eine Email Adresse für root einrichten, dazu wird die Datei aliases editiert.

Es wird am ende eine gültige Email Adresse eingetragen, damit Mails von diesem Host zugestellt werden, hier als Beispiel ist es helpdesk@banana.org, der Doppelpunkt bei root: ist zwingend.

Die Änderungen in der Datei aliases müssen noch die Datei aliases.db erzeugen.

Auch die Postfix Konfiguration muss noch eingelesen und aktiviert werden.

jetzt den Email Versand von Raspberry Pi testen, dies lässt sich wie folgt ausführen.

Das Email sollte nun im Posteingang von helpdesk@banana.org ankommen sein.

Hier kann auch das Email Log-Protokoll weiter Aufschluss geben.

Gibt der Sendeversuch den status=bounced zurück, ist der Empfang auf dem Mailer noch nicht berechtigt. Bei Exchange muss die IP Adresse des Raspberry Pi beim Empfangsconnector im FrontendTransport unter Bereichsdefinition bei E-Mail von Servern mit diesen Remote-IP-Adressen empfangen, eingetragen sein. Für Postfix muss in main.cf eine smtpd_client_restrictions direktive existieren.

Die Datei client_access beinhaltet die IP Adresse des Raspberry Pi.

Die Postfix Datenbank muss noch generiert werden.

Werden die SMTP Anfragen vom Mailer akzeptiert, kann der Queue Prozess und die Zustellung erfolgen.

last but not least

Wenn das nun alles zu kompliziert ist, oder dir die erforderliche Zeit nicht zur Verfügung steht, dann kann die fertige Raspberry Pi Box hier bezogen werden.

Fully initialized and ready to rock!