Erstellung und Installation von PSAD für IPFire Firewall
Einführung
Dieser Artikel beschäftigt sich mit der Kompilierung und Installation von PSAD (Port Scan Attack Detector) für IPFire (Linux-basierte Firewall). Allerdings wird eine Entwicklungsumgebung für das IPFire für die Erstellung eines neuen Plugins (in diesem Fall PSAD) eingerichtet. Details zur Konfiguration und Verwendung des PSAD-Tools finden Sie in unserem vorherigen Artikel.
Einstellen der IPFire-Entwicklungsumgebung
Zu den Voraussetzungen für die Entwicklungsumgebung von IPFire gehören:
- Ubuntu 16.04 LTS OS mit den neuesten Updates
- Installation der folgenden erforderlichen Pakete
git gcc g++ make bzip2 realpath
- Hardware-Ressourcen wie 5-6 GB Festplattenspeicher & 6 GB RAM zur Reduzierung der Kompilierungszeit.
Ebenso kann die IPFire-Entwicklungsumgebung auf anderen Linux-Distributionen eingerichtet werden. Installieren Sie folgende Pakete, die für die Kompilierung von Quellcode auf der Ubuntu-Distribution erforderlich sind. Das Git-Tool wird verwendet, um den Quellcode auf dem Entwicklungssystem zu klonen.
aptitude install git gcc g++ make bzip2 realpath
IPFire Quellbaum
Derzeit sind folgende zwei Repositories von IPFire-Quellcode auf der github-Website verfügbar.
- IPFire 2.x (stabil freigegeben)
- IPFire 3.x
In diesem Tutorial haben wir das IPfire 2.x Quellcode-Repository für die Kompilierung eines neuen Plugins berücksichtigt.
git clone git://git.ipfire.org/ipfire-2.x.git
Der folgende Snapshot 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, so dass nun eine vorkompilierte Toolkette heruntergeladen wird, um die Quelle zu kompilieren. Mit dem folgenden Befehl wird die Toolchain auf das Entwicklungssystem heruntergeladen.
./make.sh gettoolchain
Nach dem erfolgreichen Klonen von IPFire, dem Herunterladen von Quellpaketen und Toolchain ist der nächste Schritt der Start des Build-Prozesses. Zunächst 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, und ein neu erstelltes Paket mit ipfire-Erweiterung wird zur Installation des PSAD-Pakets nach 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 Festplattenspeicher auf dem Entwicklungssystem vorhanden ist und der Build-Befehl unter dem Benutzer root ausgeführt wird.
./make.sh bauen
Für 32-Bit-Systeme.
linux32 ./make.sh build
Der erstmalige Build-Prozess wird einige Stunden in Anspruch nehmen. Sie kann jedoch durch gute Hardware-Ressourcen auf dem Entwicklungssystem reduziert werden. Das Build-Skript von IPFire führt in vier Schritten aus.
- Building LFS (Building Linux From Scratch system) und enthält Skripte für die Installation von Paketen.
- Aufbau von IPFire
- Gebäudeinstallateur
- Pakete erstellen
Der folgende Schnappschuss zeigt den Schritt LFS erstellen.
Der Schritt zum Erstellen von IPFire ist unten dargestellt.
Der folgende Schnappschuss zeigt den Schritt zum Erstellen 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 erzeugt das IPFire-Build-Skript iso, xen und img Ausgabedateien, wie unten gezeigt. Das Build-Skript berechnet auch die md5-Prüfsumme der erzeugten ISO-Datei.
Schließlich ist die Kompilierung von IPfire aus dem Quellcode abgeschlossen und kann in der VM installiert werden, 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, das vom Build-Skript generiert wird. Detaillierte Schritte zur Installation von IPFire sind in diesem Tutorial nicht enthalten. Nach der Installation erscheinen folgende Fenster, die die Version des Linux-Kernels (3.14.73-ipfire 1686) anzeigen.
Die Webschnittstelle des IPFire-Geräts, auf das über die IP-Adresse (192.168.1.150:444) der grünen Schnittstelle zugegriffen wird. IPFire Versionsinformationen finden Sie auch im Untermenü Fireinfo.
Aufbau eines PSAD-Addons
Direkt kann das PSAD-Tool nicht auf dem IPFire kompiliert werden. So ist das 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 auf der IPFire-Entwicklungsumgebung aufgeführt.
-
Erstellen Sie ein Kompilierungsskript für das gewünschte Addon oder Paket und platzieren Sie es in der Datei Wenn ich Verzeichnis (unter ipfire-2.x\lfs\)
-
Hinzufügen von Addon-Skripten im Build-Skript
make.sh
Das Kompilierungsskript für PSAD ist für das Paket psad-2.4.1.tar.gz erstellt worden. lfs-Skript herunterladen und im lfs-Verzeichnis innerhalb des ipfire-2.x platzieren und MD5-Prüfsumme für psad-2.4.1.tar.gz im lfs-Skript erstellen.
PSAD lfs Skript ist in den folgenden Schnappschüssen dargestellt.
Die Änderung im make.sh Build-Skript für das PSAD-Addon ist unten dargestellt.
Für die Kompilierung eines neuen Addons wird der folgende Build-Befehl zweimal ausgeführt. Wie im Screenshot gezeigt, ist psad erfolgreich in das Build-Skript eingebunden.
Build erstellen
Die Ausgabe des ersten Build-Befehls ist in der folgenden Abbildung dargestellt, dass die Rootfile für PSAD fehlt.
Der Name der Addon-Rootfile ist identisch mit dem Paket-/Dateinamen (psad-2.41) und existiert innerhalb des log
Verzeichnis.
Wie in der folgenden Abbildung dargestellt, kopieren Sie die Datei psad-2.4.1.1 in das Verzeichnis config/rootfiles/packages
path
und benennen Sie es um in lfs des Paket-/Dateinamens, der sich im lfs-Verzeichnis befindet.
cp log/psad-2.4.1 config/rootfiles/packages/psad
Die 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 „+“ aus der Rootfile von PSAD zu entfernen, wie unten gezeigt.
sed -i’s/+///g‘ config/rootfiles/packages/psad
Es ist erforderlich, PakFire (IPFire-Paketverwaltungssystem) Routinen wie Installation, Deinstallation und Update in das neue Addon aufzunehmen. Zuerst erstellen Sie ein Verzeichnis (psad) innerhalb von src/paks, wie lfs des Paketnamens. Kopieren Sie die Standardroutine von src/paks/default/* in die src/paks/psad und passen Sie sie entsprechend an.
Führen Sie erneut den Build-Befehl für die Kompilierung des Quellcodes von PSAD aus.
Build erstellen
Wie unten dargestellt, wird das PSAD-Addon (psad-2.4.1-2.1-2.ipfire) wird erfolgreich auf der IPFire-Umgebung kompiliert und im Verzeichnis packages abgelegt.
PSAD-Installation auf IPFire
Nun 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 path befinden muss.
Das Paket wird für die Installation mit dem folgenden Befehl extrahiert.
tar -xvf psad-2.4.1-2.ipfire
Die Liste der PSAD-Addon-Dateien ist unten aufgeführt.
Folgendes Fenster zeigt die Installation des PSAD-Addons auf dem IPFire.
./install.sh
Die folgende Abbildung zeigt die Hilfe zum PSAD-Tool in der IPFire-Umgebung.
In diesem Artikel ist ein neues Feature oder Addon die bekannte Linux-basierte Firewall „IPFire“ enthalten. Das PSAD-Tool wird verwendet, um den bösartigen Datenverkehr automatisch über IP-Tabellen zu blockieren. Die Erstellung von PSAD für IPFire-Umgebungen ist unser Beitrag.