GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kompilierung und Installation von PSAD für IPFire Firewall

Einführung

In diesem Artikel geht es um die Kompilierung und Installation von PSAD (Port Scan Attack Detector) für IPFire (Linux-basierte Firewall). Allerdings wird eine Entwicklungsumgebung für IPFire für die Kompilierung neuer Plug-ins (in diesem Fall PSAD) eingerichtet. Einzelheiten zur Konfiguration und Verwendung des PSAD-Tools finden Sie in unserem vorherigen Artikel.

Einstellung der IPFire-Entwicklungsumgebung

Voraussetzungen für die Entwicklungsumgebung von IPFire sind:

  • Ubuntu 16.04 LTS-Betriebssystem mit den neuesten Updates
  • Installation der folgenden erforderlichen Pakete
git gcc g++ make bzip2 realpath
  • Hardwareressourcen wie 5–6 GB Speicherplatz und 6 GB RAM, um die Kompilierungszeit zu verkürzen.

Ebenso kann die IPFire-Entwicklungsumgebung auf anderen Linux-Distributionen eingerichtet werden. Installieren Sie die folgenden Pakete, die für die Kompilierung des Quellcodes auf der Ubuntu-Distribution erforderlich sind. Das Git-Tool wird zum Klonen des Quellcodes auf dem Entwicklungssystem verwendet.

aptitude install git gcc g++ make bzip2 realpath

IPFire-Quellbaum

Derzeit sind die folgenden zwei Repositories mit IPFire-Quellcode auf der Github-Website verfügbar.

  • IPFire 2.x   (stabil veröffentlicht)
  • IPFire 3.x 

In diesem Tutorial haben wir das IPfire 2.x-Quellcode-Repository für die Kompilierung neuer Plugins betrachtet.

git clone git://git.ipfire.org/ipfire-2.x.git

Der folgende Schnappschuss zeigt die neuesten Updates im IPFire-2.x-Repository

Führen Sie im nächsten Schritt den folgenden Befehl aus, um den Quellcode von IPFire-Paketen herunterzuladen.

./make.sh downloadsrc

Die aktuelle Maschine ist 64-Bit, daher wird jetzt die vorkompilierte Toolkette heruntergeladen, um den Quellcode zu kompilieren. Der folgende Befehl wird verwendet, um die Toolchain auf das Entwicklungssystem herunterzuladen.

./make.sh gettoolchain

Nach dem erfolgreichen Klonen von IPFire, dem Herunterladen der Quellpakete und der Toolchain besteht der nächste Schritt darin, den Build-Prozess zu starten. Zuerst wird die IPFire-Firewall ohne Änderungen kompiliert. Danach wird das gewünschte Plugin eingebunden und neu kompiliert, um ein PSAD-Paket für die IPFire-Umgebung zu erstellen. Ein neu erstelltes Paket mit der ipfire-Erweiterung wird zur Installation des PSAD-Pakets auf die IPFire-VM verschoben.

Zusammenstellung von IPFire

Der letzte Schritt besteht darin, den folgenden Befehl auszuführen, um den Quellcode zu erstellen. Stellen Sie sicher, dass genügend Speicherplatz auf dem Entwicklungssystem vorhanden ist und dass der Build-Befehl unter dem Benutzer root ausgeführt wird.

./make.sh bauen

Für 32-Bit-Systeme.

linux32 ./make.sh build                

Der erstmalige Erstellungsprozess dauert einige Stunden. Sie kann jedoch durch gute Hardwareressourcen auf dem Entwicklungssystem reduziert werden. Das Build-Skript von IPFire führt die folgenden vier Phasen aus.

  1. Building LFS (Building Linux From Scratch system) und es enthält Skripte für die Installation von Paketen.
  2. Aufbau von IPFire
  3. Gebäudeinstallateur
  4. Pakete erstellen

Der folgende Schnappschuss zeigt das Building LFS Schritt.

Der Schritt zum Erstellen von IPFire wird unten gezeigt.

Der folgende Schnappschuss zeigt den Installationsschritt des Installers.

Schließlich Pakete Kompilierungsprozess des Build-Prozesses.

Die IPFire-Kompilierung dauert viele Stunden (in diesem Fall 13 Stunden), wie im folgenden Screenshot gezeigt.

Am Ende generiert das IPFire-Build-Skript iso-, xen- und img-Ausgabedateien, wie unten gezeigt. Das Build-Skript berechnet auch die MD5-Prüfsumme der generierten ISO-Datei.

Schließlich ist die Kompilierung von IPfire aus dem Quellcode abgeschlossen und bereit zur Installation in der VM. Es wird empfohlen, sich als Root auf dem Entwicklungssystem anzumelden, um den Build-Prozess auszuführen.

Installation von IPFire

Die IPFire-Firewall kann mit ISO eingerichtet werden, die vom Build-Skript generiert wird. Detaillierte Schritte zur Installation von IPFire sind in diesem Tutorial nicht enthalten. Nach der Installation erscheint das folgende Fenster, das die Version des Linux-Kernels (3.14.73-ipfire 1686) anzeigt.

Auf die Webschnittstelle des IPFire-Geräts wird über die IP-Adresse (192.168.1.150:444) der grünen Schnittstelle zugegriffen. IPFire-Versionsinformationen finden Sie auch im Fireinfo-Untermenü.

PSAD-Addon erstellen

Das PSAD-Tool kann nicht direkt auf IPFire kompiliert werden. Daher ist ein Entwicklungssystem erforderlich, um den Quellcode des neuen Addons für die IPFire-Plattform zu kompilieren. Die Entwicklungsumgebung von IPFire ist bereits im obigen Abschnitt eingerichtet.

Nachfolgend sind die Anforderungen für die Kompilierung von neuem Quellcode in der IPFire-Entwicklungsumgebung aufgeführt.

  • Erstellen Sie ein Kompilierungsskript für das gewünschte Add-on oder Paket und platzieren Sie es im lfs\ Verzeichnis (unter ipfire-2.x\lfs\)
  • Hinzufügen eines Addon-Skripts im Build-Skript make.sh

Das Kompilierungsskript für PSAD wird für das Paket psad-2.4.1.tar.gz erstellt. Laden Sie das lfs-Skript herunter und platzieren Sie es im lfs-Verzeichnis innerhalb von ipfire-2.x, und die MD5-Prüfsumme wird für psad-2.4.1.tar.gz im lfs-Skript erstellt.

Das PSAD-lfs-Skript wird in den folgenden Schnappschüssen gezeigt.

Die Änderung im make.sh-Build-Skript für das PSAD-Addon ist unten dargestellt.

Für die Kompilierung des neuen Addons wird der folgende Build-Befehl zweimal ausgeführt. Wie im Screenshot gezeigt, wurde psad erfolgreich in das Build-Skript eingefügt.

./Build erstellen

Die Ausgabe des ersten Build-Befehls wird in der folgenden Abbildung gezeigt, dass die Stammdatei für PSAD fehlt.

Der Name der Addon-Stammdatei ist derselbe wie der Paket-/Dateiname (psad-2.41) und befindet sich im log Verzeichnis.

Kopieren Sie, wie in der folgenden Abbildung gezeigt, die Datei psad-2.4.1 Datei in config/rootfiles/packages path und benennen Sie es in lfs des Paket-/Dateinamens um, der sich im lfs-Verzeichnis befindet.

cp log/psad-2.4.1 config/rootfiles/packages/psad

Rootfile des Addons enthält eine Liste aller Dateien, die vom Installationsskript entfernt, geändert oder hinzugefügt wurden. Führen Sie den folgenden Befehl aus, um „+ zu entfernen " aus der Stammdatei von PSAD wie unten gezeigt.

sed -i 's/+//g' config/rootfiles/packages/psad

Es ist erforderlich, die PakFire-Routine (IPFire-Paketverwaltungssystem) wie Installieren, Deinstallieren und Aktualisieren in das neue Add-On aufzunehmen. Erstellen Sie zunächst ein Verzeichnis (psad) in src/paks dasselbe wie lfs des Paketnamens. Kopieren Sie die Standardroutine von src/paks/default/* in die src/paks/psad und passen Sie es entsprechend an.

Führen Sie erneut den Build-Befehl zum Kompilieren des Quellcodes von PSAD aus.

./Build erstellen

Wie unten gezeigt, ist das PSAD-Addon (psad-2.4.1-2.ipfire ) wurde erfolgreich in der IPFire-Umgebung kompiliert und im Paketverzeichnis abgelegt.

PSAD-Installation auf IPFire

Jetzt wird das PSAD-Paket auf dem IPFire installiert. Wie unten gezeigt, wird das kompilierte Paket auf das bereits installierte IPFire kopiert.

Stellen Sie sicher, dass sich das kompilierte Paket unter /opt/pakfire/tmp befinden muss Pfad.

Das Paket wird zur Installation mit dem folgenden Befehl extrahiert.

 tar -xvf psad-2.4.1-2.ipfire

Die Liste der PSAD-Zusatzdateien wird unten angezeigt.

Das folgende Fenster zeigt die Installation des PSAD-Addons auf dem IPFire.

  ./install.sh

Die folgende Abbildung zeigt die Hilfe des PSAD-Tools in der IPFire-Umgebung.

In diesem Artikel ist als neues Feature bzw. Addon die bekannte Linux-basierte Firewall „IPFire“ enthalten. Das PSAD-Tool wird verwendet, um den schädlichen Datenverkehr mithilfe von IPtables automatisch zu blockieren. Die Kompilierung von PSAD für die IPFire-Umgebung ist unser Beitrag.


Linux
  1. Wie ich Ansible und Anacron für die Automatisierung verwende

  2. 10 Linux-Befehls-Tutorials für Anfänger und Experten

  3. Bash For Loop Guide und Beispiele

  4. Herunterladen einer bestimmten Version des Pakets und seiner Abhängigkeiten aus dem Repository für die Offline-Installation mit YUM

  5. Code für Malloc und kostenlos

Erstellen von Zertifikaten und Schlüsseln für Ihren OpenVPN-Server

Installieren und konfigurieren Sie phpMyAdmin

Installation und erste Schritte mit Git

So installieren und konfigurieren Sie die CSF-Firewall für Linux

Ribbon-Schnittstelle für GTK und Qt

Debuggen von iptables und häufigen Firewall-Fallstricken?