Alle Beiträge von Don Matteo

lebt in der Schweiz, ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Network. Author und Blogger zu den Themen, Linux und Open Source. Tutorials für Windows, VMware, Synology, Fortinet.

Verdächtige IP mit Linux Firewall Daemon sperren

Brute-Force Angriffe mit Firewall Daemon blockieren aus Bash Script

Firewall Daemon für den Schutz vor laufenden Brute-Force Attacken, bei der Erkennung versuchter Angriffe auf den Linux Host. Um den Host permanent zu schützen, können verdächte Anfragen von angreifenden Quellen schnell gesperrt werden. Das folgende bash Script sperrt die IP, diese als Argument übergeben wird und von firewall-cmd auf reject gesetzt wird.

Das Script wurde auf Debian 10 (buster) geschrieben, bei Debian muss firewalld erst installiert werden, wie auch unter Ubuntu 20. Bei RHEL und CentOS Linux 7+ und Fedora 30 oder höher ist firewalld im Standard und das Script ist gleich anwendbar.

Firewalld Installation auf Debian

Das firewalld-Paket ist in den offiziellen Debian 10 Repositorys verfügbar. Die Installation ist unschwer wie folgender Ablauf zeigt.

Bereitstellung von Firewalld im Terminal mit Root Privileg.

Wenn ufw aktiviert ist, muss die Uncomplicated Firewall (ufw) zur Verwaltung der Netfilter deaktiviert werden, um firewalld zur Standard-Firewall zu machen.

Den Firewall daemon starten und für den Systemstart aktivieren.

Ausführung und Erreichbarkeit des Dienstes überprüfen.

Laden der neuen Firewall-Regeln unter beibehalten des Status.

Erscheint bei Debian nach firewall-cmd –reload der Fehler:

Error: COMMAND_FAILED: ‚/usr/sbin/ip6tables-restore -w -n‘ failed: ip6tables-restore v1.8.2 (nf_tables:
line 4: RULE_REPLACE failed (no such file ordirectory): rule in chain OUTPUT

Ist die Lösung das Ausführen von update-alternatives, um Debian zu erzwingen, iptables anstelle von nftables zu verwenden.

Nach dem wechsel von nftables zu iptables den Linux Rechner mit reboot neu starten.

Firewalld Konfiguration

Firewalld ist eine Firewall-Verwaltungslösung als Frontend für das vom Linux-Kernel bereitgestellte iptables-Paketfiltersystem. firewall-cmd ist das Dienstprogramm zum Verwalten der Firewall-Konfiguration. Der firewalld Daemon verwaltet Gruppen von Regeln mithilfe von Entitäten, die als „Zonen“ bezeichnet werden. Zonen sind wie Regelsätze, die festlegen, welcher Datenverkehr zugelassen werden soll, anhand des Vertrauen der Netzwerke, mit denen der Computer verbunden ist. Den Netzwerkschnittstellen wird eine Zone zugewiesen, um das Verhalten festzulegen, das die Firewall zulassen soll.

Ein Netzwerk Interface zur Default Zone public zugewiesen, unter Verwendung des firewall-cmd Tools, mit dem Kommand zur Überprüfung von Zonen und den Interfaces.

Erscheint bei interfaces (bei Zeile 6) keine Netzwerk Schnittstelle, muss dieses der Zone noch zugeweisen werden, dazu mit ip oder ifconfig (net-tools) die Schnittstellen abfragen.

Hier bei unserem virtuellen Debian (buster) ist es Link 2 ens33.

Das Interface ens33 wird zur Default Zone public zugewiesen.

Das zur Zone zugewiesene Interface überprüfen mit der Ausgabe.

Das Interface ens33 ist mit der Zone verbunden.

Fail2ban und Firewalld Interaktion

Fail2ban (Fehlschlag führt zum Bann) ist ein in Python entwickeltes IPS und Framework zur Vorbeugung gegen Einbrüche, das auf allen Unixoiden OS läuft, die ein manipulierbares Paketfiltersystem oder eine Firewall besitzen wie iptables oder firewalld unter Linux.

Bei Zeile 13 im Script reject.sh (oben), wird falls vorhanden und ausgeführt, die von Fail2ban verbannten (banned) Adressen nach der manipulation von firewalld, den zuvor aktive Zustand wieder hergestellt. Wird Fail2ban nicht angewandt, können die Zeilen 12 – 14 gelöscht werden.

Script ausführen

Mit Übergabe der Source-IP wird das Script in der bash ausgeführt, um verdächtige Anfragen durch die Firewall abzulehnen.

Die abgelehnte IP-Adresse kann mit folgender Kommandozeile in der Shell wieder entfernt werden.

Die Regel mit firewall-cmd –remove wieder entfernen.

Mit firewall-cmd –reload wird die Änderung aktiviert.

Anwendung und Hilfe zu firewall-cmd

Ausgeben der geänderten und aktivierten Regel der Zone Public.

Aktuelle Firewall Regeln überprüfen mit folgenden Kommandos.

Standardzone für Verbindungen und Schnittstellen ausgeben.

Eine Zone zur Defaultzone festlegen.

Derzeit aktive Zonen ausgeben.

Vordefinierte Zonen ausgeben.

Hilfe und man page von firewall-cmd ausgeben.

Netzwerk Drucker Verwaltung aus Command Prompt

rundll32 printui.dll,PrintUIEntry

printui.dll ist eine ausführbare Datei für automatisierte Druckerkonfigurationsaufgaben mit Funktionen die von den Dialogfeldern für die Druckerkonfiguration verwendet werden. Diese Funktionen können auch aus einem Skript oder einer Befehlszeilen-Batchdatei heraus aufgerufen werden, oder interaktiv über die Eingabeaufforderung ausgeführt werden.

printui.dll wird mit rundll32.exe ausgeführt um Werkzeuge für anspruchsvolle Aufgaben bereitzustellen, für Drucker hinzufügen, Verwalten, löschen und Netzwerkdruckerverbindung herstellen.

Eigenschaften von Druckerserver öffnen

Eigenschaften von Druckerserver öffnen

Netzwerkdruckerverbindung herstellen:

Der auf dem SERVER freigegebene Netzwerkdrucker LaserJet wird auf dem Client Computer installiert und mit dem Server verbunden.

Drucker Installation mithilfe der Druckertreiber INF-Datei:

/if Installiert Drucker mithilfe der angegebenen INF-Datei.
/b Basisdruckername AddressLabel
/f Pfad zu der Druckertreiber INF-Datei.
/r Portname oder IP Adresse.
/m Modellname des Druckertreibers aus der INF-Datei.
/Z Drucker freigeben, Verwendung nur mit Option „/if“ möglich.

Lokaler Druckertreiber löschen:

/dd Löscht den lokalen Druckertreiber.
/m Modellname des Druckertreibers.
/q Mögliche Fehlermeldungen nicht ausgeben.

Netzwerkdruckerverbindung löschen:

/dn Löscht die Netzwerkdruckerverbindung.
/n Der Name des Druckers.

  Hilfe zu printui.dll wird mit folgendem Kommando in der Eingabeaufforderung ausgegeben.

Batch Beispiel:

Beispiel für Netzwerkdruckerverbindung aus einem Loginscript.

Desktop Verknüpfung erstellen

Windows Einstellungen Snap-In als Verknüpfung auf dem Desktop

Windows Desktop Verknüpfungen können nützlich sein, um längere Befehle nicht erneut eingeben zu müssen. Mit Windows Kurzbefehle zu den MMC Snap-In Verwaltungsprogramme lassen sich ebenfalls Verknüpfungen erstellen, wie in diesem Beitrag gezeigt wird.

MMC Snap-In sind ausführbare Dateien die es als Kurzbefehle bei Windows 10 gibt, wie die von Windows 7 bekannten Fenster für die Verwaltungsprogramme. Zu einem solchen Kurzbefehl kann eine Verknüpfung erstellt werden, wie hier für die Einstellungen.

Verknüpfung auf Desktop erstellen mit Rechtsklick – Neu – Verknüpfung

Microsoft Management Console (MMC)

Die Microsoft Management Console (MMC) ist eine grafische Benutzeroberfläche zur Verwaltung von Computern unter Microsoft Windows. Die MMC selbst führt keine Verwaltungsaufgaben aus, sie führt die Verwaltungsprogramme zusammen. Ein solches Programm für die MMC wird Snap-In genannt und trägt die Dateinamenserweiterung msc. Über die Kurzbefehle sind die einzelnen MMC Snap-In direkt aufrufbar.

MMC Snap-In Kurzbefehle

Eine Zusammenfassung der wichtigsten Windows Kurzbefehle zu den MMC Snap-In gibt es hier.