Cómo instalar RKHunter en CentOS 7
En este artículo vamos a aprender a instalar y encontrar rootkits con Rootkit Hunter, entre otras amenazas, podrás utilizarlo para encontrar indicios de algunas variantes del malware XOR.DDoS, que actualmente se está utilizando para crear botnets con Sistemas Linux para ataques masivos distribuidos de denegación de servicio.
Tabla de contenido
- Instalar en pc
- Descargar
- Parche – (opcional)
- Instalar en pc
- Configurar
- pruebas
- registros
- whilelists
- misceláneo
- Correr
Instalar RKHunter
Descarga Rkhunter, prueba cURL para hacer esto.
curl http://nbtelecom.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz -o rkhunter-1.4.2.tar.gz
Luego extraiga el contenido del paquete.
tar zxvf rkhunter-1.4.2.tar.gz
Ingrese al directorio tarball.
cd rkhunter-1.4.2
Parche (opcional)
Este paso contra parcheará el script rkhunter y su base de datos para buscar el malware XOR DDoS Linux. Este parche se basa en el puerto y los archivos encontrados en los informes realizados por Akamai, Avast y El malware debe morir.
Ingrese en el directorio de archivos bajo el directorio rkthunter.
cd files
Instala el parche utilidad con yum.
yum install patch
Ahora descargue el parche.
curl http://sourceforge.net/p/rkhunter/patches/44/attachment/rkhunter.patch -o rkhunter.patch
Alternativamente, puede copiar y pegar el contenido del archivo rkhunter.patch desde aquí.
--- rkhunter 2014-03-12 17:54:55.000000000 -0300 +++ rkhunter.new 2015-10-02 17:01:25.040000000 -0300 @@ -7797,6 +7797,19 @@ # + # XOR.DDoS + XORDDOS_FILES="/lib/udev/udev + /lib/udev/debug + /etc/cron.hourly/cron.sh + /etc/cron.hourly/udev.sh + /lib/libgcc4.so + /var/run/udev.pid + /var/run/sftp.pid" + XORDDOS_DIRS= + XORDDOS_KSYMS= + + + # 55808 Variant A W55808A_FILES="/tmp/.../r /tmp/.../a" @@ -11907,6 +11920,13 @@ return fi + # XOR.DDoS Rootkit + SCAN_ROOTKIT="XOR.DDoS - Rootkit" + SCAN_FILES=${XORDDOS_FILES} + SCAN_DIRS=${XORDDOS_DIRS} + SCAN_KSYMS=${XORDDOS_KSYMS} + scanrootkit + # 55808 Trojan - Variant A --- backdoorports.dat 2010-11-13 20:41:19.000000000 -0300 +++ backdoorports.dat.new 2015-10-02 17:10:24.086000000 -0300 @@ -12,6 +12,7 @@ 2001:Scalper:UDP: 2006:CB Rootkit or w00tkit Rootkit SSH server:TCP: 2128:MRK:TCP: +3502:Possible XOR.DDoS Botnet Malware:TCP: 6666:Possible rogue IRC bot:TCP: 6667:Possible rogue IRC bot:TCP: 6668:Possible rogue IRC bot:TCP:
Aplicar el parche en el rkhunter guión y backdoors.dat archivos con el siguiente comando.
patch < rkhunter.patch
El parche está hecho, ahora regrese al directorio raíz del tarball para continuar con la instalación.
cd ..
Instalar archivos
Ejecute el script de instalación con los siguientes parámetros para instalarlo en / usr / local.
./installer.sh --install --layout /usr/local
También puede utilizar el –ejemplos marca para mostrar más información de diseño y ejemplos o y el –show opción en lugar de la –Instalar en pc para mostrar lo que se instalará en su diseño.
Instalar Mostrar (recomendado)
los mostrar y mostrar-tcp las utilidades buscarán procesos y puertos ocultos, aunque no es obligatorio, es muy recomendable ya que la mayoría de los rootkits sofisticados ocultarán su presencia.
Primero, necesitamos instalar GNU Compiler Collection.
yum install gcc
Instale glibc-static, necesario para crear los binarios seccionados.
yum install glibc-static
Compila unhide-linux.
gcc -Wall -O2 --static -pthread unhide-linux*.c unhide-output.c -o unhide-linux
Compile unhide-tcp.
gcc -Wall -O2 --static unhide-tcp.c unhide-tcp-fast.c unhide-output.c -o unhide-tcp
Instale los archivos en / usr / local / bin y cree un enlace simbólico para mostrar.
cp unhide-linux unhide-tcp /usr/local/bin && cd /usr/local/bin/ && ln -s unhide-linux unhide && cd -
Configurar
En esta sección, mostraré algunas de las opciones que se encuentran en el rkhunter.conf archivo, las opciones están separadas en grupos y su descripción se simplifica, lea la descripción real en el archivo y si no está seguro, simplemente ignore, ya que las opciones predeterminadas deberían ser suficientes, la mayoría de ellas están comentadas.
Le recomendamos que realice una primera ejecución antes de realizar los cambios reales en el archivo de configuración, esto le dará una mejor comprensión de cómo funciona rkhunter y la posibilidad de identificar algunos falsos positivos para incluirlos en la lista blanca del archivo de configuración.
Simplemente llame a rkhunter con el -C o –controlar parámetros.
rkhunter -c
Como puede ver en la imagen de arriba, habrá algunas advertencias sobre archivos como egrep o ifup to be script en lugar de binarios ELF, sin embargo, son archivos de sistema legítimos y la mayoría de las opciones en el archivo de configuración tratan sobre cómo hacer que rkhunter ignore tales ocurrencias.
Pruebas
Las siguientes opciones ENABLE_TESTS y DISABLE_TESTS establecen qué tipos de testículos se van a realizar, habilita todos y luego deshabilita los no deseados. Es una buena idea tener al menos suspscan deshabilitado de forma predeterminada, ya que es propenso a falsos positivos.
ENABLE_TESTS=ALL DISABLE_TESTS=suspscan
Cubierta segura
Nunca es una buena idea habilitar el inicio de sesión de root en conexiones SSH, use su / sudo en su lugar; de lo contrario, establezca esto en yes.
ALLOW_SSH_ROOT_USER=no
Se sabe que la versión 1 del protocolo SSH es insegura, configúrelo en 1 para ignorar esta verificación de protocolo
ALLOW_SSH_PROT_V1=0
Puertos de red
Puertos de red permitidos con protocolo de formato: puerto
PORT_WHITELIST
Establezca la lista blanca para algunos programas con la sintaxis path_to_binary: protocol: port_number
PORT_PATH_WHITELIST=/usr/sbin/squid:TCP:3801
Versión de la aplicación
Esta opción le permite ejecutar algunas aplicaciones desactualizadas, esto generalmente no se recomienda y debe asegurarse de que la aplicación sea segura antes de incluirla en esta lista.
APP_WHITELIST=openssl:0.9.7d gpg httpd:1.3.29
Olfateadores
Permitir el uso de rastreadores, software que captura paquetes de red.
Permita que el siguiente proceso escuche la red, como la siguiente línea.
ALLOWPROCLISTEN=/usr/sbin/snort-plain
Esto permitirá que la interfaz de red enumerada escuche la red en modo promiscuo.
ALLOWPROMISCIF=eth0
Archivos
Necesitará crear algunas excepciones a las pruebas realizadas por rkhunter, las siguientes opciones le permiten omitir las pruebas a objetos específicos, como archivos, directorios.
Permita algunos directorios ocultos.
ALLOWHIDDENDIR=/etc/.java
Permitir algunos archivos ocultos.
ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz ALLOWHIDDENFILE=/usr/share/man/man5/.k5identity.5.gz ALLOWHIDDENFILE=/usr/share/man/man5/.k5login.5.gz
Esta lista blanca permitirá que algunos archivos sean scripts en lugar de un binario ELF.
SCRIPTWHITELIST=/usr/sbin/ifdown SCRIPTWHITELIST=/usr/sbin/ifup SCRIPTWHITELIST=/usr/bin/egrep SCRIPTWHITELIST=/usr/bin/fgrep SCRIPTWHITELIST=/usr/bin/ldd
Permitir que el archivo sea editable en todo el mundo.
WRITEWHITELIST=/usr/bin/date
Permitir que el archivo tenga cambios de atributos.
ATTRWHITELIST=/usr/bin/date
Permitir que el proceso consulte los archivos eliminados.
ALLOWPROCDELFILE=/sbin/cardmgr
Opciones de registro
Esto definirá en qué archivo iniciar sesión.
LOGFILE=/var/log/rkhunter.log
Establezca este en 1 si desea continuar registrando el mismo archivo cada vez que se ejecuta rkhunter, el valor predeterminado es 0, que agregará ‘.old’ al archivo de registro y creará uno nuevo.
APPEND_LOG=0
Si desea conservar el archivo de registro cuando hay algún problema, establezca la siguiente opción en 1.
COPY_LOG_ON_ERROR=0
Descomente y configure la función de registro si desea utilizar syslog.
USE_SYSLOG=authpriv.warning
De forma predeterminada, los elementos incluidos en la lista blanca informarán bien en las pruebas; si desea resaltar los elementos incluidos en la lista blanca, debe establecer esta opción en 1.
WHITELISTED_IS_WHITE=0
Opciones del sistema operativo
Configure la opción del administrador de paquetes en RPM en sistemas similares a Red Hat, que incluyen CentOS.
PKGMGR=RPM
Habilite esta opción para informar de una advertencia cuando el sistema operativo cambie de versión o lanzamiento.
WARN_ON_OS_CHANGE
¿Debemos actualizar nuestra base de datos cuando cambie el sistema operativo?
UPDT_ON_OS_CHANGE
Dónde encontrar el archivo de versión del sistema operativo, configúrelo en / etc / redhat-release en CentOS.
OS_VERSION_FILE=/etc/redhat-release
Cierre
Si es probable que tenga más de un rkhunter ejecutándose al mismo tiempo, debe habilitar esta opción para habilitar el uso de archivos de bloqueo y evitar la corrupción de la base de datos.
USE_LOCKING=0
Si habilitó el uso de bloqueos, debe establecer un tiempo de espera para evitar interbloqueos.
LOCK_TIMEOUT
¿Debemos advertir sobre sesiones bloqueadas?
SHOW_LOCK_MSGS
Startup y Superdeamon
¿Dónde está el archivo de configuración inetd?
INETD_CONF_PATH=/etc/inetd.conf
Qué servicios pueden ejecutarse a través de inetd.
INETD_ALLOWED_SVC=/usr/sbin/rpc.metad /usr/sbin/rpc.metamhd
Archivo de configuración de Xinetd.
XINETD_CONF_PATH=/etc/xinetd.conf
Rutas de archivos de inicio RC.
STARTUP_PATHS=/etc/rc.d /etc/rc.local
Cuentas
El archivo que contiene las contraseñas ocultas.
PASSWORD_FILE=/etc/shadow
Permitir cuentas de usuario distintas de raíz tener UID 0.
UID0_ACCOUNTS=toor rooty
Permitir cuentas sin contraseña.
PWDLESS_ACCOUNTS=abc
Syslog
Archivo de configuración de Syslog.
SYSLOG_CONFIG_FILE=/etc/syslog.conf
Permita que syslog inicie sesión de forma remota.
ALLOW_SYSLOG_REMOTE_LOGGING=0
Informes
¿Informar el número de advertencias?
SHOW_SUMMARY_WARNINGS_NUMBER
¿Muestra el tiempo total necesario para ejecutar las pruebas?
SHOW_SUMMARY_TIME
Para recibir informes por correo cuando rkhunter encuentre algo, debe configurar las siguientes opciones, así como tener una aplicación de correo.
Quién recibirá el correo electrónico.
MAIL-ON-WARNING=your-email@your.domain
Qué comando se utilizó para enviar correo electrónico.
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
Ejecutando rkhunter
De acuerdo, en este punto ya debería haber ejecutado rkhunter al menos una vez, ahora eche un vistazo a algunas otras banderas que se pueden usar con rkhunter.
Verifique sus cambios
Una vez que haya terminado con la configuración, ejecute rkhunter con el -C o –check-config marca para comprobar si hay algún error en el archivo.
rkhunter -C
Actualización de propiedades
Ahora, y cada vez que cambie el archivo de configuración, asegúrese de actualizar la base de datos de propiedades del archivo.
rkhunter --propupd
Informar solo de advertencias.
rkhunter --rwo
A veces desea ejecutar solo una prueba específica, para este intento – lista de pruebas para obtener los nombres de las pruebas disponibles y luego usar el –habilitar bandera seguida del nombre de la prueba.
rkhunter --list tests
La siguiente opción deshabilitará el aviso de pulsación de tecla.
rkhunter --sk
Para ejecutar rkhunter en un cronjob use el –cronjob bandera, crea el archivo ejecutable /etc/cron.daily/rkhunter.sh con los siguientes contenidos para hacer un chequeo diario
#!/bin/sh ( /usr/local/bin/rkhunter --versioncheck /usr/local/bin/rkhunter --update /usr/local/bin/rkhunter --cronjob -c ) >> /dev/null 2>&1
Conclusión
Esto debería ayudarlo a comenzar con rkhunter, brindándole una capa de seguridad más, sin embargo, esto no será suficiente si descuida los principios básicos de seguridad y si coloca todas las advertencias que encontró en listas blancas en lugar de mitigar los problemas. También tenga en cuenta que rkhunter le ayudará a evitar que sus máquinas se conviertan en miembros de una botnet de Linux, pero no protegerá su sitio de ser blanco de una campaña DDoS. ¡Gracias por leer!