Anti rootkit para Linux

Sin duda contra rootkits en Linux los dos más conocidos son rkhunter y chkrootkit, y yo me decanto siempre por el primero.

Instalación y setup inicial

Instalamos el paquete:
aptitude install rkhunter

Base de datos de archivos del sistema

Hacemos un:
rkhunter --propupd

Para indexar los archivos del sistema. Deberemos hacerlo al instalar nuevos paquetes o actualizar existentes.

Base de firmas

Hacemos un update de las firmar:
rkhunter --update

Escanear bajo demanda

Podemos lanzar una ejecución bajo demanda así:
rkhunter -c --enable all --disable none --rwo

Con –rwo -> –report-warnings-only: sólo mostrará los warning (útil cuando lo ejecutamos vía cron).
Otra opción interesante es -q, –quiet que no produce ninguna salida.
También tenemos –cronjob deshabilita las opciones interactivas.
Por último comentar que la opción –appendlog permite que el log, en lugar de ser sustituido en cada ejecución, vaya creciendo.

Conviene personalizar estas variables del fichero de configuración /etc/rkhunter.conf, sobre todo el email:
nano /etc/rkhunter.conf

MAIL-ON-WARNING=”your_user@domain.com”
MAIL_CMD=mail -s “[rkhunter] Warnings found for ${HOST_NAME}”
ALLOW_SSH_ROOT_USER=yes

Programar un escaneado

Pero lo ideal es programar una tarea cron y despreocuparnos.

crontab -e

Añadimos una linea al final como esta para ejecutarlo a las 4 a.m.:

00 04 * * * /usr/bin/rkhunter -c --report-warnings-only --update --cronjob --quiet

Si nos asusta cada vez que recibimos un email diciendo “” con el asunto “Warnings found for server” podemos hacer en la tarea cron que nos envíe un email con la salida mínima que produce el comando, para saber si preocuparnos:

00 04 * * * /usr/bin/rkhunter --update -c --report-warnings-only --cronjob | mail -s "Rkhunter" jblancov@gmail.com

He quitado –quiet.

Y esto es todo, hasta la próxima. Espero que os haya resultado interesante.

Apache2: Tips de seguridad

Incluir a nivel configuración servidor estas directivas:

<Directory />
  AllowOverride None
  Options None
  Order Deny,Allow
  Deny from all
 </Directory>

<ifmodule mod_usedir.c>
UserDir disabled root
</IfModule>

Después en los Host virtuales que queramos habilitar en las secciones Directory:

        <Directory /var/vhosts/joseblanco.pro/>
                Options -Indexes +FollowSymLinks +MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

En la declaración anterior por un lado hemos deshabilitado la navegación por los directorios que cuelgan de /var/vhosts/joseblanco.pro/ mediante la opción -Indexes.
Después hemos permitido ficheros .htaccess mediante AllowOverride All.
Por último hemos abierto lo que habíamos cerrado, de lo contrario los visitantes recibirán un “403 Forbidden Error”.
Es decir, siempre tened un esquema de 1º Prohibir todo, 2º Permitir lo necesario:

<Directory />
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>

<Directory /www>
Order Allow,Deny
Allow from all
</Directory>

Seguridad por oscuridad

Otras dos configuraciones de seguridad para Apache2 están actualmente en un fichero security.conf, estos son los dos parámetros y el valor a establecer:

ServerTokens ProductOnly
ServerSignature Off

Y como casi siempre tenemos funcionando PHP, conviene verificar que la directiva expose_php está inactiva:
Editar el fichero /etc/php5/apache2/php.ini y cambiar la siguiente directiva:
expose_php = off

Un artículo donde se explica como montar un servidor vps Debian desde cero os podría venir bien.

1 2 3 4 7