Archiv der Kategorie: Linux

GNU/Linux Howto’s and Tutorials

Linux Bash on Windows

Linux Bash Shell kommt auf Windows

Ermöglicht durch die Zusammenarbeit zwischen Microsoft Corporation 137,08 -1,82 -1,31% und Ubuntu Canonical. Bash kann über das Windows 10 Startmenü gestartet werden, damit ist man in der Lage eine vollständige Linux-Kommandozeilen-Umgebung zu erhalten.

Viele Entwickler bevorzugen Linux oder auch Mac OS X, da man aus der Bash Shell (Bourne-again shell) Zugriff auf ein ganzes Universum von Dienstprogrammen hat, was Windows oft nicht beinhaltet.

Bash on Windows ist keine virtuelle Maschine und auch kein Container, es basiert auch nicht auf Cygwin oder Wine.
Es bietet sich nun die alternative, Bash Scripts auf dem lokalen Windows Computer zu entwickeln und zu testen, Verbindungen zu Remote Linux Server oder einer virtuellen Maschine wie Virtualbox oder VMware Workstation sind nicht erforderlich.

Das Ziel ist es, Apps aus dem Windows Store die vollständig auf Ubuntu lauffähig sein werden und als Programm auf dem Desktop im Userspace laufen. Programme die für Linux kompiliert werden, können auch unter Windows kompiliert und lauffähig gemacht werden. Es können die Ubuntu apt-get Kommandos angewandt werden, um Programme herunterzuladen und sie zu installieren. Entwickler können Bash Skripte schreiben und diese auf Windows ausführen. Es ist angeblich so schnell wie die selben Dienstprogramme nativ auf Ubuntu Linux laufen.

Dies ist alles im neuen Subsystem von Windows 10 ab Build 14251 integriert. Die Dateien lxcore.sys und lxss.sys bilden das neue Windows Subsystem für Linux (WSL).

Canonical Dustin Kirkland ist begeistert von der Technologie, und erklärt es so: im Grunde eine Echtzeit-Übersetzung von Linux syscalls in Windows-Betriebssystem syscalls. Linux-Freaks betrachten es als eine Art inverse Wine-Ubuntu-Binärdateien die nativ in Windows ausgeführt werden können

Um Bash on Windows nutzen zu können ist Windows 10 als 64-bit Edition und min. Build 14251 erforderlich. Empfohlen wird auf das Windows 10 Anniversary Update zu gehen, damit ist man dann auf dem Build 14393 – Stand 2. Aug 2016.

Die Installation von Bash on Windows

Als erstes muss das Windows Subsystem für Linux (Beta) installiert werden. Mit den Tasten  +R das Ausführen Fenster öffnen, und mit dem Befehl:

die mmc-Konsole, Windows-Features aufrufen.

control_appwiz

Windows-Features

Weiter muss der Entwicklermodus aktiviert werden, über Systemsteuerung – Update und Sicherheit – Für Entwickler.

entwicklerfunktionen

Nach einem neustart stehen die Funktionen zur Verfügung.

Ubuntu Linux Installation

Starten lässt sich die Bash Shell über Start und der Eingabe bash

start_bash

Bei dieser Installation war es erforderlich, die Legacykonsole zu deaktivieren, dies geschieht über das öffnen einer Eingabeaufforderung (CMD) und mit rechts klick im Fensterbalken auf Eigenschaften.

legacykonsole

Beim ersten ausführen von bash.exe wird man die Nutzungsbedingungen zu akzeptieren gefragt. Welche wir mit „J* quittieren. Die Bash Shell wird aus dem Windows Store heruntergeladen und Installiert, weiter wird man aufgefordert ein Benutzerkonto und Passwort zu erstellen, dieser Benutzer muss nicht der selbe wie der von Windows sein.

Möchte man die Installation automatisieren, kann folgender Befehl in einer Eingabeaufforderung ausgeführt werden. Dies wird automatisch allen Aufforderungen zustimmen und den Standardbenutzer „root“ ohne Passwort vergeben.

Linux Software Installation

Sollen nun weitere Linux Pakete installiert werden, kann dies mit apt-get, dem Advanced-Packaging-Tool getätigt werden, als erstes sollten hier gleich alle Updates eingespielt werden.

Nach einigen Minuten ist Bash on Windows up-to-date, mit folgendem Befehl aus der Bash Shell oder direkt aus Windows ist das installieren der Linux Pakete möglich.

bash_ausfuehren

Das Windows Dateisystem kann so wohl von Bash on Windows erreicht werden, wie auch das Linux Dateisystem aus Windows.

bash_ls

explorer_lxss
%appdata%\local\lxss\rootfs

Grafische Anwendungen sind ausführbar sobald ein X Server zur Verfügung steht, ein solcher ist von Xming verfügbar, der X Window System Server for Windows lässt sich hier herunterladen und kann für Windows installiert werden.

xming

Damit das rendering einer grafischen Anwendung möglich wird, kann folgender Befehl aus der Bash Shell ausgeführt werden.

Nun können Bash Kommandos abgesetzt werden, dies auch aus Windows oder aus der PowerShell.

bash Befehle ausführen
bash Befehle ausführen

X Windows Applikationen wie nautilus oder gvim können ebenfalls direkt ausgeführt werden.

Bash on Windows Unity
Bash on Windows Unity

ClamAV Postfix Integration auf CentOS

ClamAV ist ein Open-Source (GPL) Anti-Virus Toolkit für UNIX/Linux

speziell für E-Mail-Scanning auf Mail-Gateways. Es bietet eine Reihe von Dienstprogrammen, einschließlich eines flexiblen und skalierbaren Multi-Threaded Daemon, sowie ein Kommandozeilen-Scanner als Fortgeschrittenes Werkzeug für die automatische Datenbankaktualisierungen. Der Kern des Pakets stellt eine Anti-Virus-Engine in Form einer gemeinsam genutzten Bibliothek zur Verfügung.

Dieser Artikel beschreibt die Integration von ClamAV auf einem CentOS 6 Mail Gateway (MTA) mit Postfix.

Als erstes wird der ClamAV Daemon aus dem EPL-Repo auf dem MTA installiert.

Nach der Installation wird der ClamAV-SMTP Daemon konfiguriert, bei den aufgeführten Zeilen das Kommentarzeichen-# entfernen (uncomment).

vi /etc/clamsmtpd.conf

Nun können die Dienste gestartet werden.

Mit freshclam die Antivirus-DB herunterladen.

Den ClamAV Daemon starten

Automatischer Systemstart aktivieren.

Die Postfix content-filter Integration erfolgt in main.cf,  über Port 10025 zu ClamAV, aus master.cf über Port 10026 der Rücktransport zu Postfix.

vi /etc/postfix/main.cf

vi /etc/postfix/master.ch

Postfix muss nun neu gestartet werden.

Mit netstat kann die  Daemon Bereitschaft überprüft werden.

ClamAV kann mit telnet überprüft werden, wenn alles funktioniert sollte folgendes Resultat ausgegeben werden.

Auch sollte das Mail Protokoll konsultiert werden.

Bei den E-Mail Internetkopfzeilen (SMTP-Envelope) erscheint die X-Header Signatur.

internetkpfzeile
SMTP-Internetkopfzeilen

Quelle: https://www.clamav.net/

DKIM mit OpenDKIM und Postfix auf CentOS

DKIM für Domain Keys Identified Mail

DKIM fügt den Mails eine eindeutige Signatur hinzu, die sich der Domain zuordnet und für alle Nachrichten benutzt wird die versendet werden. Dies hilft dem Internet Service Provider (ISP) bei der Kontrolle der Authentizität der E-Mails und garantiert für die Integrität der Nachrichten.

Ursprünglich sollte das Verfahren DomainKeys Identified Mail nur die Spam-Flut eindämmen. Doch da es gefälschte Absenderadressen entdeckt, hilft es besser gegen Phishing.

OpenDKIM ist die Open-Source Technologie unter Linux für digitale E-Mail-Signatur und Verifikation, die bereits von namhaften E-Mail-Anbieter unterstützt wird.

In diesem Artikel wird beschrieben wie OpenDKIM auf CentOS 5/6/7 integriert und konfiguriert wird.

Das EPEL-Repository wird zur Installation benötigt, falls dieses nicht schon auf dem System integriert ist, wird folgendes vorgehen ausgeführt.

CentOS 5.x Extras Repository
wget -P /tmp https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
sudo rpm -Uvh /tmp/epel-release-5*.rpm

CentOS 6.x Extras Repository
wget -P /tmp https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
sudo rpm -Uvh /tmp/epel-release-6*.rpm

CentOS 7.x Extra Repository
yum -y install epel-release

Nun kann OpenDKIM auf dem Server installiert werden.

Nach dem OpenDKIM installiert ist, wird die Hauptkonfiguration erstellt. Dabei wird die original Datei opendkim.conf vor dem editieren erst kopiert.

cp /etc/opendkim.conf /etc/opendkim.conf.orig
vi /etc/opendkim.conf

Nun werden die Verzeichnisse und ein DomainKey für die Beispiel Domain maildomain.ch durch die folgenden vier Eingaben generiert.

Den DomainKey zur maildomain.ch hinzufügen.
vi /etc/opendkim/KeyTable

DomainKey zur Unterzeichnung eintragen.
vi /etc/opendkim/SigningTable

Welche Domains und Hosts sollen DKIM verwenden.
vi /etc/opendkim/TrustedHosts

Den DomainKey auf dem Nameserver als DNS TXT Record zur Zone maildomain.ch hinzufügen. Beispiel: maildomain.txt, zu beachten ist, das die Key Zeile auf einer Linie zu stehen kommt.

Und wenn wir schon dabei sind, kann auch gleich ein TXT Record für SPF, Sender Policy Framework hinzugefügt werden.

Mit dem domain information groper – dig lässt sich ein query des DomainKey mit folgender Eingabe ausgeben.

Bei Postfix muss noch der milter integriert werden. Das Domain signing wird zum SMTP-Header hinzugefügt und über Port 8899 an Postfix zurückgegeben.

vi /etc/postfix/main.cf

Dann die Services starten.

Mit einem Test Mail an check-auth@verifier.port25.com wird die DKIM Signatur überprüft und das Resultat gleich als Antwort zurück gesendet. Das Ergebnis sollte dann in etwa wie folgt aussehen.


Quellen Links:
DomainKeys Wiki