Snort: Consultas a la base de datos

Abrimos conexión con la base de datos

mysql -u root -p

En la base de datos de snort,

use snort;

Para ver el diagrama entidad relación de la base de datos:

Buscamos el identificador del evento que necesitamos:

select sig_id,sig_name from signature;

En mi caso, es

223 | COMMUNITY WEB-MISC mod_jrun overflow attempt

Seleccionamos los eventos de mi  signature:

select * from event where signature = 223;

En la tabla de eventos, tenemos las alertas con origen y destino

SELECT timestamp, inet_ntoa(ip_dest), inet_ntoa(ip_src) FROM iphdr WHERE  inet_ntoa(ip_src)="192.168.5.125";

 

Finalmente, hacemos el join entre ambas tablas, y ya podemos sacar el resultado a un fichero de texto:

select inet_ntoa(ip_src), inet_ntoa(ip_dst) from event,iphdr  where iphdr.cid=event.cid and event.sid=iphdr.sid and event.signature = 223  and inet_ntoa(ip_dst)="195.23.2.123" GROUP BY ip_src ORDER BY ip_src  INTO OUTFILE '/tmp/res.txt';

Sobre el acceso a snort a través de la base de datos, tienen un post estupendo en everything about nothing.

Backup de wordpress sobre Cpanel y mysql.

Para crear un backup de nuestra instancia de wordpress tenemos que salvaguardar dos partes:

  • Base de datos.
  • Archivos propios de wordpress (en carpeta servida por apache)

Nosotros tenemos la instancia de WP, instalada sobre un gestor de CPANEL, que es el que vamos a usar para sacar el backup de la base de datos.

Buscamos mysql; abrimos phpmyadmin,

Exportar con phpmyadmin:

En el caso de los archivos de wordpress, basta con acceder a la ruta y crear un tar.gz:

tar -cvzf  backup/public_doms_$(date -I).tar.gz public_doms/

Instalación phpmyadmin

Instalación sobre Debian 7:

La instalación sobre debian es bastante trivial, ya que no suele haber problemas con paquetes y librerías de php.

apt-get install phpmyadmin -y

Os pongo también nuestro sources.list

cat /etc/apt/sources.list | grep -v '#'
deb http://ftp.es.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free

A diferencia de la instalación sobre centos, en este caso tampoco hay que editar a mano la clave secret del fichero config.inc.php.

Instalación  sobre CentOS 6.5

Para ver la versión:
cat /etc/centos-release
CentOS release 6.5 (Final)

Instalar paquetes de phpmyadmin mediante yum:

[root@server~]# yum list installed | grep php
php.x86_64              5.3.3-27.el6_5  @updates
php-cli.x86_64          5.3.3-27.el6_5  @updates
php-common.x86_64       5.3.3-27.el6_5  @updates
php-devel.x86_64        5.3.3-27.el6_5  @updates
php-gd.x86_64           5.3.3-27.el6_5  @updates
php-ldap.x86_64         5.3.3-27.el6_5  @updates
php-mbstring.x86_64     5.3.3-27.el6_5  @updates
php-mysql.x86_64        5.3.3-27.el6_5  @updates
php-pdo.x86_64          5.3.3-27.el6_5  @updates
php-pear.noarch         1:1.9.4-4.el6   @anaconda-CentOS-201303020151.x86_64/6.4
php-xml.x86_64          5.3.3-27.el6_5  @updates
phpmyadmin.noarch       2.11.11.3-2.el6.rf

Si preferís usar pear, aquí os dejo un enlace para configurar pear

 

Instalar mcrypt:

yum install php-mcrypt

Cambiar clave para cookies:

Recién instalado, da un error de configuración:

phpMyAdmin indicates  “configuration files now needs a secret passphase (blowfish_secret)”.

Es necesario editar el fichero de configuración, añadiendo una clave para las cookies.

[root@server~]# cat /usr/share/phpmyadmin/config.inc.php | grep blow
$cfg[‘blowfish_secret’] = ‘mypass’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

 

Mysql. Olvidé la contraseña de root

Olvidé contraseña de root

Este tutorial está hecho sobre una máquina centos 6.4. Es posible que en otras distribuciones, las rutas absolutas no sean las mismas.

He olvidado la contraseña del usuario root en mysql.

Paramos el servicio de mysql, y arrancamos de nuevo con el flag “skip-grant-tables”:
service mysqld stop
/usr/bin/mysqld_safe --skip-grant-tables --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql

 

En la consola de mysql, abrimos sin contraseña, y actualizamos el valor de la contraseña de la tabla users:
mysql -u root mysql

Problema socket mysql

Tras un reinicio, al aplicar actualizaciones, no se puede encender la base de datos:

[root@server~]# service mysqld start
Another MySQL daemon already running with the same unix socket.
Iniciando mysqld: [FALLÃ]

Para buscar el nombre del socket

cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

Siguiendo este tutorial, salvaguardamos el socket de mysql, y hacemos un apagado ordenado con shutdown -r.


[root@server~]# ls -la /var/lib/mysql/mysql.sock
srwxrwxrwx. 1 mysql mysql 0 ene 15 13:16 /var/lib/mysql/mysql.sock
[root@server~]# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.old
[root@server~]# shutdown -r now

También hay que verificar que se pueda crear el archivo .pid

[root@server~]# tail /var/log/mysqld.log | grep -i error
140115 13:18:49 [ERROR] /usr/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
140115 13:18:49 [ERROR] Can't start server: can't create PID file: No such file or directory
[root@server~]# mkdir /var/run/mysqld/
[root@server~]# chown mysql:mysql /var/run/mysqld
[root@server~]# service mysqld restart