Introducción
Este artículo trata sobre la compilación e instalación de PSAD (Port Scan Attack Detector) para IPFire (cortafuegos basado en Linux). Sin embargo, se configurará un entorno de desarrollo para IPFire para la compilación del nuevo complemento (PSAD en este caso). Los detalles sobre la configuración y el uso de la herramienta PSAD están disponibles en nuestro artículo anterior.
Configuración del entorno de desarrollo de IPFire
Los requisitos previos para el entorno de desarrollo de IPFire incluyen:
- Ubuntu 16.04 LTS OS con las últimas actualizaciones
- Instalación de los siguientes paquetes necesarios
git gcc g++ make bzip2 realpath
- Recursos de hardware como 5-6 GB de espacio en disco y 6 GB de RAM para reducir el tiempo de compilación.
De manera similar, el entorno de desarrollo de IPFire se puede configurar en otras distribuciones de Linux. Instale los siguientes paquetes que son necesarios para la compilación del código fuente en la distribución de Ubuntu. La herramienta Git se utiliza para clonar el código fuente en el sistema de desarrollo.
aptitude install git gcc g++ make bzip2 realpath
Árbol de fuentes de IPFire
Actualmente, los siguientes dos repositorios de código fuente de IPFire están disponibles en el sitio de github.
- IPFire 2.x (versión estable)
- IPFire 3.x
En este tutorial, hemos considerado el repositorio de código fuente de IPfire 2.x para la compilación del nuevo complemento.
git clone git://git.ipfire.org/ipfire-2.x.git
La siguiente instantánea muestra las últimas actualizaciones en el repositorio IPFire-2.x
En el siguiente paso, ejecute el siguiente comando para descargar el código fuente de los paquetes de IPFire.
./make.sh descargasrc
La máquina actual es de 64 bits, por lo que ahora se descargará la cadena de herramientas precompilada para compilar el código fuente. El siguiente comando se usa para descargar la cadena de herramientas en el sistema de desarrollo.
./make.sh gettoolchain
Después de la clonación exitosa de IPFire, la descarga de los paquetes fuente y la cadena de herramientas, el siguiente paso es comenzar el proceso de compilación. Primero, el firewall IPFire se compilará sin ningún cambio. Después, el complemento deseado se incluirá y volverá a compilar para crear un paquete PSAD para el entorno IPFire. Un paquete recién creado con extensión ipfire se moverá a IPFire VM para la instalación del paquete PSAD.
Recopilacion de IPFire
El último paso es ejecutar el siguiente comando para compilar el código fuente. Asegúrese de que haya suficiente espacio en disco en el sistema de desarrollo y que el comando de compilación se ejecute bajo el usuario root.
./make.sh construir
Para sistema de 32 bits.
linux32 ./make.sh build
El proceso de compilación por primera vez tardará algunas horas en completarse. Sin embargo, se puede reducir utilizando buenos recursos de hardware en el sistema de desarrollo. La secuencia de comandos de compilación de IPFire se realiza siguiendo cuatro etapas.
- Building LFS (Building Linux From Scratch system) y contiene scripts para la instalación de paquetes.
- Construyendo IPFire
- Instalador de edificios
- Paquetes de construcción
La siguiente instantánea muestra el Building LFS paso.
El paso de creación de IPFire se muestra a continuación.
La siguiente instantánea muestra el paso de creación del instalador.
Finalmente, el proceso de compilación de paquetes del proceso de construcción.
La compilación de IPFire llevará muchas horas (13 horas en este caso), como se muestra en la siguiente captura de pantalla.
Al final, el script de compilación IPFire genera archivos de salida iso, xen e img como se muestra a continuación. El script de compilación también calcula la suma de comprobación md5 del archivo iso generado.
Finalmente, la compilación de IPfire desde el código fuente está completa y lista para instalar en la VM. Se recomienda iniciar sesión como raíz en el sistema de desarrollo para ejecutar el proceso de compilación.
Instalacion de IPFire
El firewall IPFire se puede configurar usando iso que genera el script de compilación. Los pasos detallados sobre la instalación de IPFire no se incluyen en este tutorial. Después de la instalación, aparecen las siguientes ventanas que muestran la versión de Linux Kernel (3.14.73-ipfire 1686).
Se accede a la interfaz web del dispositivo IPFire mediante la dirección IP (192.168.1.150:444) de la interfaz verde. La información de la versión de IPFire también se proporciona en el submenú Fireinfo.
Complemento PSAD de construcción
Directamente, la herramienta PSAD no se puede compilar en IPFire. Por lo tanto, se requiere un sistema de desarrollo para compilar el código fuente del nuevo complemento para la plataforma IPFire. El entorno de desarrollo de IPFire ya está configurado en la sección anterior.
Los siguientes son los requisitos para la compilación del nuevo código fuente en el entorno de desarrollo de IPFire.
- Cree un script de compilación para el complemento o paquete deseado y colóquelo en el lfs\ directorio (bajo ipfire-2.x\lfs\)
- Adición de secuencia de comandos adicional en la secuencia de comandos de compilación
make.sh
Se crea un script de compilación para PSAD para el paquete psad-2.4.1.tar.gz. Descargue el script lfs y colóquelo en el directorio lfs dentro de ipfire-2.x y se crea una suma de comprobación MD5 para psad-2.4.1.tar.gz en el script lfs.
El script PSAD lfs se muestra en las siguientes instantáneas.
La modificación en el script de compilación make.sh para el complemento PSAD se muestra a continuación.
Para la compilación del nuevo complemento, el siguiente comando de compilación se ejecutará dos veces. Como se muestra en la captura de pantalla, psad se incluyó correctamente en el script de compilación.
./hacer compilación
El resultado del primer comando de compilación se muestra en la siguiente figura que falta el archivo raíz para PSAD.
El nombre del archivo raíz del complemento es el mismo que el nombre del archivo/paquete (psad-2.41) y existe dentro del log
directorio.
Como se muestra en la siguiente figura, copie el psad-2.4.1 archivo en config/rootfiles/packages
path
y cámbiele el nombre como lfs del paquete/nombre de archivo que se encuentra en el directorio lfs.
cp log/psad-2.4.1 config/rootfiles/packages/psad
El archivo raíz del complemento contiene una lista de todos los archivos eliminados, modificados o agregados por el script de instalación. Ejecute el siguiente comando para eliminar "+ " del archivo raíz de PSAD como se muestra a continuación.
sed -i 's/+//g' config/rootfiles/packages/psad
Es necesario incluir la rutina PakFire (sistema de gestión de paquetes IPFire), como instalar, desinstalar y actualizar en el nuevo complemento. En primer lugar, cree un directorio (psad) dentro de src/paks igual que lfs del nombre del paquete. Copie la rutina predeterminada de src/paks/default/* en el src/paks/psad y personalícelo en consecuencia.
Vuelva a ejecutar el comando de compilación para la compilación del código fuente de PSAD.
./hacer compilación
Como se muestra a continuación, el complemento PSAD (psad-2.4.1-2.ipfire ) se compila con éxito en el entorno IPFire y se coloca en el directorio de paquetes.
Instalación de PSAD en IPFire
Ahora, el paquete PSAD se instalará en IPFire. Como se muestra a continuación, el paquete compilado se copia en el IPFire ya instalado.
Asegúrese de que el paquete compilado debe estar en /opt/pakfire/tmp camino.
El paquete se extrae para su instalación mediante el siguiente comando.
tar -xvf psad-2.4.1-2.ipfire
La lista de archivos adicionales de PSAD se muestra a continuación.
Las siguientes ventanas muestran la instalación del complemento PSAD en IPFire.
./install.sh
La siguiente figura muestra la ayuda de la herramienta PSAD en el entorno IPFire.
En este artículo, se incluye una nueva función o complemento, el conocido cortafuegos basado en Linux "IPFire". La herramienta PSAD se usa para bloquear automáticamente el tráfico malicioso usando IPtables. La compilación de PSAD para el entorno IPFire es nuestra contribución.