jueves, 23 de mayo de 2013

Crear un archivo tar excluyendo archivos

tar -czvf respaldo.`date +%d-%m-%Y`.tar.gz  /var/www/html/ --exclude=/var/www/html/sites/default/files/videos/*

Con la opción --exclude indicamos que no queremos ciertos directorios; para cuando sólo necesitemos respaldar ciertos directorios.

jueves, 16 de mayo de 2013

Deshabilitar un módulo de Drupal 7 desde base de datos MYSQL


Esta vez necesitaba desactivar un módulo de Drupal 7, desde la base de datos porque no podía entrar desde web, entonces pues me dispuse a investigar cómo hacerlo:

1- Buscamos el módulo que necesitamos desactivar

SELECT name,status FROM prefijo_de_la_tabla_system where name='modulo';

2- Lo desactivamos

UPDATE  prefijo_de_la_tabla__system SET status='0' WHERE name='modulo';

Nota:  prefijo_de_la_tabla_ es opcional y depende de como se haya creado la base de datos; si no se creó con ningún prefijo, pues sólo es el nombre de la tabla y list.

3- Por último limpiamos la cache de Drupal 7

DELETE FROM vc1_cache_bootstrap WHERE cid='system_list'


y listo!!!! eeeh

jueves, 9 de mayo de 2013

Cambiar contraseña de Moodle con salt

Hoy tuve la necesidad de cambiar la contraseña de un Moodle; pero no teniamos acceso a él y además éste tenía salt y me pusé a investigar cómo se aplica la salt a la contraseña. Para cambiar la contraseña hice lo siguiente:

  1.  Ir al archivo de configuración de moodle config.php, ver la salt en la propiedad $CFG->passwordsaltmain 
Si se encuentra  la propiedad con el siguiente valor $CFG->passwordsaltmain=''   quiere decir que la salt está desactivada y puedes cambiar la contraseña de admin de moodle de la siguiente forma:

 mysql -u usuario_db_moodle -p //cambiar usuario_db_moodle por el usuario de su moodle

Ponen el password

Una vez dentro de mysql

use db_moodle  ; //cambiar el nombre por la bd que usa su moodle

ejecutar con CUIDADO (No olvidar poner la restricción en WHERE)

UPDATE mdl_user SET password = MD5('nuevo_password') WHERE username='admin' AND email='mail_que_tiene_ese_usuario';

Listo ya podrás entrar a Moodle como admin con la nueva contraseña :-D

2- En el caso de que  tenga Salt Moodle:


Ir al archivo de configuración de moodle config.php, ver la salt en la propiedad $CFG->passwordsaltmain
Si se encuentra  la propiedad con el siguiente valor $CFG->passwordsaltmain='valor'   quiere decir que la salt está activada y puedes cambiar la contraseña de admin de moodle de la siguiente forma:

 mysql -u usuario_db_moodle -p //cambiar usuario_db_moodle por el usuario de su moodle

Ponen el password

Una vez dentro de mysql

use db_moodle  ; //cambiar el nombre por la bd que usa su moodle

ejecutar con CUIDADO (No olvidar poner la restricción en WHERE)



UPDATE mdl_user SET password = MD5(CONCAT('PASSWORD','SALT')) WHERE username='admin' AND email='mail_que_tiene_ese_usuario';

Cambiar la contraseña de Moodle, pero ahora en Postgresql



Tabla que contiene las contraseñas cifradas:  mdl_user

SELECT username,password FROM mdl_user;

copiamos la salt del archivo config.php de Moodle



contra salt

UPDATE mdl_user SET password=MD5('contraseña'||'salt') WHERE username='usuario';

NO INVERTIR EL ORDEN CON PASSWORD Y SALT, porque no funciona.


Listo ya podrás entrar a Moodle como admin con la nueva contraseña :-D









miércoles, 21 de marzo de 2012

Hardening PHP

En este primer post les quiero compartir cómo realizar hardening a PHP.

PHP es un lenguaje de script que se ejecuta del lado del servidor como un módulo de Apache, que es una aplicación que nos sirve para implementar un servicio de HTTP.

El hardening es la técnica por la cual podemos robustecer la seguridad por medio de configuraciones ya sea un sistema operativo, una aplicación, una red, etc.

Esta ocación les hablaré de PHP.

En PHP existe un archivo de configuración  llamado php.ini, este archivo tiene toda la configuración con la que operará PHP, este archivo tiene directivas de configuración que modifican el comportamineto de PHP. En este caso nosotros modificarémos ese comportamiento para que sean más seguras nuestras páginas y podamos míticar un ataque como XSS, XST.

Las directivas a modificar serán las siguientes:

register_gloals=ON

debemos cambiar el valor por OFF
Para que se oblligue al programador a usar la variable (que es un arreglo) superglobal $_POST o $_GET para recoger los datos que lleguen de formularios o de la URL y que no sólo utilice el nombre de la variable por ejemplo $patitofeo y se obligue a usar $_POST[patitofeo] y así no se pueda modificar el valor en el envio del formulario al script PHP que procesará los datos enviados.

display_errors=ON
debemos cambiar el valor a OFF
Esto nos ayuda en un servidor de producción a que no se muestren los errores al usuario, porque un usuario malicioso podría utilizar esa información para atacar nuestra web. En un entorno de pruebas podemos dejar el valor en ON para que sea más fácil identificar los posibles bugs o errores.

allow_url_fopen=ON
debemos cambiar el valor a OFF
Esto nos ayuda a que no se pueda incluir o leer un script que este fuera de nuestro servidor, ya que este puede ser vulnerado, como por ejemplo al usar include("http://malo/scriptXSS.php"). En este ejemplo se incluye un script que está en una ubicación remota y que puede ser malicioso.