Friday, October 16, 2009

Cómo conservar la hora actual en los servidores Linux con zona horaria Argentina

Gracias al gobierno Argentino por ser tan previsor como siempre y avisar con 3 días de anticipación. Cristina te vas de vacaciones este verano, ya las planificaste o es muy apresurado pensar en eso?

Antes que nada comentarles que este procedimiento lo probé con Linux Debian 5.0.3 pero creo que es aplicable a cualquier linux que use tzdata.
En principio vamos a conocer nuestra versión de debian:

cat /etc/debian_version
5.0.3

Luego bajamos el parche en .deb provisto por la GENIA de Marga Manterola (Gracias Marga)

wget http://www.marga.com.ar/~marga/debian/tzdata/tzdata_2009l-0lenny1.1_all.deb

Para otras versiones pueden buscar en el siguiente directorio:
http://www.marga.com.ar/~marga/debian/tzdata/

Pero antes de aplicar el parche vamos a ver qué tiene planeado hacer con la hora nuestro debian para este año:

zdump -v /etc/localtime | egrep "2009|2010"
/etc/localtime Sun Mar 15 01:59:59 2009 UTC = Sat Mar 14 23:59:59 2009 ARST isdst=1 gmtoff=-7200
/etc/localtime Sun Mar 15 02:00:00 2009 UTC = Sat Mar 14 23:00:00 2009 ART isdst=0 gmtoff=-10800
/etc/localtime Sun Oct 18 02:59:59 2009 UTC = Sat Oct 17 23:59:59 2009 ART isdst=0 gmtoff=-10800
/etc/localtime Sun Oct 18 03:00:00 2009 UTC = Sun Oct 18 01:00:00 2009 ARST isdst=1 gmtoff=-7200
/etc/localtime Sun Mar 21 01:59:59 2010 UTC = Sat Mar 20 23:59:59 2010 ARST isdst=1 gmtoff=-7200
/etc/localtime Sun Mar 21 02:00:00 2010 UTC = Sat Mar 20 23:00:00 2010 ART isdst=0 gmtoff=-10800
/etc/localtime Sun Oct 17 02:59:59 2010 UTC = Sat Oct 16 23:59:59 2010 ART isdst=0 gmtoff=-10800
/etc/localtime Sun Oct 17 03:00:00 2010 UTC = Sun Oct 17 01:00:00 2010 ARST isdst=1 gmtoff=-7200
Como podrán ver, si no aplicamos el parche nuestro sistema debería de adelantarse una hora el día Sat Oct 17 a las 23:59:59 y pasar a el Sun Oct a las 18 01:00:00 (Esto DEBERIA de haber sido habitual, porque sería nuestro DST, pero de habitual tenemos poco en este país).

Bueno para corregirlo aplicamos el parche (.deb) que bajamos de la siguiente forma:
dpkg -i tzdata_2009l-0lenny1.1_all.deb

Una vez aplicado el parche podemos observar que ahora nuestro debian no va a realizar ningún cambio a lo largo de este año ni el que viene (Vemos que nos dice Cristina el año que viene).

zdump -v /etc/localtime | egrep "2009|2010"
/etc/localtime Sun Mar 15 01:59:59 2009 UTC = Sat Mar 14 23:59:59 2009 ARST isdst=1 gmtoff=-7200
/etc/localtime Sun Mar 15 02:00:00 2009 UTC = Sat Mar 14 23:00:00 2009 ART isdst=0 gmtoff=-10800

Bueno eso es todo y espero como siempre que haya sido útil.

Thursday, September 10, 2009

Modsecurity-console como servicio

Estuve teniendo algunos probleas con la consola de modsecurity: el application server que trae se inicia desde un script de shell y suele finalizarse el proceso que se inicia con un nohup.
Por eso, lo que hice fue modificar el archivo modsecurity-console que sería el ejecutable del mismo y en la linea 239 donde está lo siguiente:
nohup "$app_java_home/bin/java" -server -Dinstall4j.jvmDir="$app_java_home" -Dinstall4j.appDir="$app_home" -Dexe4j.moduleName="$prg_dir/$prg" "-Djava.awt.headless=t rue" $INSTALL4J_ADD_VM_PARAMS -classpath "$local_classpath" com.install4j.runtime.Launcher start com.thinkingstone.juggler.Main false false "$prg_dir/var/logs/ stderr.log" "$prg_dir/var/logs/stdout.log" true true false "" true true 0 0 "" 20 20 "Arial" "0,0,0" 8 500 "version 1.0.5" 20 40 "Arial" "0,0,0" 8 500 -1 --co nf $prg_dir//etc/console.conf --default $prg_dir//etc/console.conf.default start "$@" &

Eliminé el comando nohup, quedando la linea de la siguiente manera:
"$app_java_home/bin/java" -server -Dinstall4j.jvmDir="$app_java_home" -Dinstall4j.appDir="$app_home" -Dexe4j.moduleName="$prg_dir/$prg" "-Djava.awt.headless=t rue" $INSTALL4J_ADD_VM_PARAMS -classpath "$local_classpath" com.install4j.runtime.Launcher start com.thinkingstone.juggler.Main false false "$prg_dir/var/logs/ stderr.log" "$prg_dir/var/logs/stdout.log" true true false "" true true 0 0 "" 20 20 "Arial" "0,0,0" 8 500 "version 1.0.5" 20 40 "Arial" "0,0,0" 8 500 -1 --co nf $prg_dir//etc/console.conf --default $prg_dir//etc/console.conf.default start "$@" &

Luengo para poner el script como daemon hice lo siguiente:
Suponiendo que tenemos la consola instalada en /opt/modsecurity-console, debemos hacer un enlace simbólico al /etc/init.d/:
ln -s /opt/modsecurity-console/modsecurity-console /etc/init.d/modsecurity-console
Y para finalizar lo agregamos en los runlevels:
update-rc.d modsecurity-console defaults



Listo eso es todo, como siempre espero que les sea útil, saludos.

Wednesday, September 02, 2009

Configuration Auditing php.ini To Help Prevent Web Application Attacks

Paseando un poco por la web, encontré en el blog de la gente de Tenable Network Security By Paul Asadoorian este artículo MUY UTIL que ayuda a disminuir los riesgos en un ataque a una aplicación web que use php como engine / lenguaje de programación.

Saludos y espero como siempre que les sea útil a alguien.