Mostrando entradas con la etiqueta incron. Mostrar todas las entradas
Mostrando entradas con la etiqueta incron. Mostrar todas las entradas

03 marzo 2015

No me toques la web, que me entero

Uno de los problemas de seguridad más comunes es la modificación de un website por parte de un atacante. Tanto en su versión 'deface' como en otras vertientes mucho peores.

Hoy día es muy común sufrir un ataque a un CMS como Joomla o Wordpress y que la web termine sirviendo para distribuir malware mediante la inyección de alguna suerte de código en HTML/Javascript.

Hace unos días leí en NIXCRAFT un interesante artículo donde reseñaban la herramienta incron. Una herramienta que, aprovechando Inotify(), permite detectar en tiempo real cuando se modifica un fichero o directorio y lanzar un comando.

Con esta herramienta resulta muy fácil crear un pequeño sistema HIDS para que nos avise en tiempo real si algún fichero del directorio que contiene nuestra web sufre algún cambio (o aparece un nuevo fichero)

Lo primero que hemos de hacer es instalar dicha herramienta. Vamos a usar Fedora como sistema base aunque trasladar el concepto a un entorno Debian resulta trivial.

# yum -y install incron

Con esto ya tendremos instalado el software base para poder configurar nuestro mini-HIPS.

Ahora vamos a instalar ciertos módulos Perl para poder generar correos electrónicos cuando se detecte un evento

# yum -y install perl-Email-MIME
# yum -y install perl-Email-Sender

Y usaremos este simple script para enviar correos:

#!/usr/bin/perl
use strict;
use warnings;
use Email::MIME;
 
my $message = Email::MIME->create(
  header_str => [
    From    => 'alerts@example.com',
    To      => 'yjesus@example.com',
    Subject => 'Alerta cambio WEB',
  ],
  attributes => {
    encoding => 'quoted-printable',
    charset  => 'ISO-8859-1',
  },

  body_str => "Cambio de tipo @ARGV[0] en fichero @ARGV[1]"
);

use Email::Sender::Simple qw(sendmail);
sendmail($message);

Tan solo hay que 'customizar' el correo origen y el destino.

Copiamos dicho script a /usr/local/bin y le damos el correspondiente chmod +x 

# cp sendalert.pl /usr/local/bin/
# chmod +x /usr/local/bin/sendalert.pl

Y arrancamos incrond

# service incrond start

Ahora vamos a crear la correspondiente entrada para monitorizar el directorio /var/www/html (donde típicamente se almacena un site web ...)

# incrontab -e

Y en el editor pulsamos 'a' para poder escribir y añadir:

/var/www/html IN_MODIFY,IN_ATTRIB,IN_CREATE,IN_DELETE /usr/local/bin/sendalert.pl "$% $#"

Luego pulsamos 'Esc' y :wq 

Con esto ya tendremos nuestro sistema de alerta temprana para cambios en el sitio web. Una vez algo se modifique recibiremos un correo parecido a este:

Leer más...
  翻译: