GNU/Linux >> Linux Esercitazione >  >> Linux

Compilazione e installazione di PSAD per IPFire Firewall

Introduzione

Questo articolo riguarda la compilazione e l'installazione di PSAD (Port Scan Attack Detector) per IPFire (firewall basato su Linux). Verrà comunque configurato un ambiente di sviluppo per IPFire per la compilazione di nuovi plugin (PSAD in questo caso). I dettagli sulla configurazione e l'utilizzo dello strumento PSAD sono disponibili nel nostro articolo precedente.

Impostazione dell'ambiente di sviluppo IPFire

I prerequisiti per l'ambiente di sviluppo di IPFire includono:

  • Sistema operativo Ubuntu 16.04 LTS con gli ultimi aggiornamenti
  • Installazione dei seguenti pacchetti richiesti
git gcc g++ make bzip2 realpath
  • Risorse hardware come 5-6 GB di spazio su disco e 6 GB di RAM per ridurre i tempi di compilazione.

Allo stesso modo, l'ambiente di sviluppo IPFire può essere configurato su altre distribuzioni Linux. Installa i seguenti pacchetti necessari per la compilazione del codice sorgente sulla distribuzione Ubuntu. Lo strumento Git viene utilizzato per clonare il codice sorgente sul sistema di sviluppo.

aptitude install git gcc g++ make bzip2 realpath

Albero sorgente IPFire

Attualmente, sul sito github sono disponibili due repository di codice sorgente IPFire.

  • IPFire 2.x   (rilascio stabile)
  • IPFire 3.x 

In questo tutorial abbiamo considerato il repository del codice sorgente IPfire 2.x per la compilazione del nuovo plugin.

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

Lo snapshot seguente mostra gli ultimi aggiornamenti nel repository IPFire-2.x

Nel passaggio successivo, esegui il comando seguente per scaricare il codice sorgente dei pacchetti IPFire.

./make.sh downloadsrc

La macchina attuale è a 64 bit, quindi ora la catena di strumenti precompilata verrà scaricata per compilare il sorgente. Il comando seguente viene utilizzato per scaricare la toolchain sul sistema di sviluppo.

./make.sh gettoolchain

Dopo aver clonato con successo IPFire, scaricato i pacchetti sorgente e la toolchain, il passaggio successivo è avviare il processo di compilazione. Innanzitutto, il firewall IPFire verrà compilato senza alcuna modifica. Successivamente il plug-in desiderato verrà incluso e ricompilato per creare il pacchetto PSAD per l'ambiente IPFire. Un pacchetto appena creato con estensione ipfire verrà spostato su IPFire VM per l'installazione del pacchetto PSAD.

Compilazione di IPFire

L'ultimo passaggio consiste nell'eseguire il comando seguente per creare il codice sorgente. Assicurati che lo spazio su disco sia sufficiente nel sistema di sviluppo e che il comando build venga eseguito sotto l'utente root.

./make.sh build

Per sistema a 32 bit.

linux32 ./make.sh build                

Il completamento del processo di creazione per la prima volta richiederà alcune ore. Tuttavia, può essere ridotto utilizzando buone risorse hardware sul sistema di sviluppo. Lo script di compilazione di IPFire viene eseguito seguendo quattro fasi.

  1. Building LFS  (Building Linux From Scratch system) e contiene gli script per l'installazione dei pacchetti.
  2. Costruire IPFire
  3. Installatore di edifici
  4. Pacchetti di costruzione

L'istantanea seguente mostra l'Building LFS passaggio.

La fase di creazione di IPFire è mostrata di seguito.

L'istantanea seguente mostra la fase di creazione dell'installatore.

Infine, il processo di compilazione dei pacchetti del processo di compilazione.

La compilazione di IPFire richiederà molte ore (13 ore in questo caso) come mostrato nella schermata seguente.

Alla fine, lo script di build IPFire genera file di output iso, xen e img come mostrato di seguito. Lo script Build calcola anche il checksum md5 del file iso generato.

Infine, la compilazione di IPfire dal codice sorgente è completata e pronta per l'installazione nella VM. Si consiglia di accedere come root al sistema di sviluppo per eseguire il processo di compilazione.

Installazione di IPFire

Il firewall IPFire può essere configurato utilizzando iso generato dallo script di build. I passaggi dettagliati sull'installazione di IPFire non sono inclusi in questo tutorial. Dopo l'installazione, vengono visualizzate le seguenti finestre che mostrano la versione del kernel Linux (3.14.73-ipfire 1686).

L'interfaccia web del dispositivo IPFire a cui si accede utilizzando l'indirizzo IP (192.168.1.150:444) dell'interfaccia verde. Le informazioni sulla versione di IPFire vengono fornite anche nel sottomenu di Fireinfo.

Creazione del componente aggiuntivo PSAD

Direttamente, lo strumento PSAD non può essere compilato su IPFire. Quindi il sistema di sviluppo è necessario per compilare il codice sorgente del nuovo componente aggiuntivo per la piattaforma IPFire. L'ambiente di sviluppo di IPFire è già configurato nella sezione precedente.

Di seguito sono riportati i requisiti per la compilazione del nuovo codice sorgente sull'ambiente di sviluppo IPFire.

  • Crea uno script di compilazione per l'addon o il pacchetto desiderato e inseriscilo in lfs\ directory (sotto ipfire-2.x\lfs\)
  • Aggiunta dello script addon nello script di build make.sh

Lo script di compilazione per PSAD è stato creato per il pacchetto psad-2.4.1.tar.gz. Scarica lo script lfs e posizionalo nella directory lfs all'interno di ipfire-2.x e il checksum MD5 viene creato per psad-2.4.1.tar.gz nello script lfs.

Lo script PSAD lfs viene mostrato nelle istantanee seguenti.

La modifica nello script di build make.sh per il componente aggiuntivo PSAD è mostrata di seguito.

Per la compilazione del nuovo addon, il seguente comando build verrà eseguito due volte. Come mostrato nello screenshot, psad è stato incluso correttamente nello script di compilazione.

./crea build

L'output del primo comando build è mostrato nella figura seguente che manca il file root per PSAD.

Il nome del file root dell'addon è uguale al nome del pacchetto/file (psad-2.41) ed esiste all'interno del log directory.

Come mostrato nella figura seguente, copia il psad-2.4.1 file in config/rootfiles/packages path e rinominalo come lfs di nome pacchetto/file che si trova nella directory lfs.

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

Il file radice dell'addon contiene un elenco di tutti i file rimossi, modificati o aggiunti dallo script di installazione. Esegui il comando seguente per rimuovere "+ " dal rootfile di PSAD come mostrato di seguito.

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

È necessario includere la routine PakFire (sistema di gestione dei pacchetti IPFire) come l'installazione, la disinstallazione e l'aggiornamento nel nuovo componente aggiuntivo. Prima di tutto, crea una directory (psad) all'interno di src/paks come lfs del nome del pacchetto. Copia la routine predefinita da src/paks/default/* in src/paks/psad e personalizzalo di conseguenza.

Eseguire nuovamente il comando build per la compilazione del codice sorgente di PSAD.

./crea build

Come mostrato di seguito, componente aggiuntivo PSAD (psad-2.4.1-2.ipfire ) viene compilato correttamente nell'ambiente IPFire e posizionato nella directory packages.

Installazione PSAD su IPFire

Ora, il pacchetto PSAD verrà installato su IPFire. Come mostrato di seguito, il pacchetto compilato viene copiato sull'IPFire già installato.

Assicurati che il pacchetto compilato debba essere in /opt/pakfire/tmp percorso.

Il pacchetto viene estratto per l'installazione utilizzando il comando seguente.

 tar -xvf psad-2.4.1-2.ipfire

L'elenco dei file aggiuntivi PSAD è mostrato di seguito.

La seguente finestra mostra l'installazione del componente aggiuntivo PSAD su IPFire.

  ./install.sh

La figura seguente mostra la guida dello strumento PSAD sull'ambiente IPFire.

In questo articolo, è inclusa una nuova funzionalità o componente aggiuntivo del noto firewall basato su Linux "IPFire". Lo strumento PSAD viene utilizzato per bloccare automaticamente il traffico dannoso utilizzando IPtables. La compilazione di PSAD per l'ambiente IPFire è il nostro contributo.


Linux
  1. Come utilizzo Ansible e anacron per l'automazione

  2. 10 tutorial sui comandi Linux per principianti ed esperti

  3. Cheat sheet per utenti e autorizzazioni Linux

  4. Bash For Loop Guida ed esempi

  5. Colore diverso per comando e output

Creazione di certificati e chiavi per il tuo server OpenVPN

Installa e configura phpMyAdmin

Installazione e primi passi con Git

Come installare e configurare il firewall CSF per Linux

Interfaccia a nastro per GTK e Qt

Debug di iptables e insidie ​​comuni del firewall?