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.

Labels: , , ,

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.

Labels: ,

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.

Labels: , , ,

Saturday, November 29, 2008

Uso de estándares

Hoy vamos a hablar de estándares y su utilización en nuestras tareas habituales.
Primero definamos qué entendemos por estándar:
- Según wikipedia por ej. un estándar es una especificación que regula la realización de ciertos procesos o la fabricación de componentes para garantizar la interoperabilidad.
- Según la ISO (International Organization for Standarization) la Normalización es la actividad que tiene por objeto establecer, ante problemas reales o potenciales, disposiciones destinadas a usos comunes y repetidos, con el fin de obtener un nivel de ordenamiento óptimo en un contexto dado, que puede ser tecnológico, político o económico.
La normalización persigue fundamentalmente tres objetivos:
* Simplificación: Se trata de reducir los modelos quedándose únicamente con los más necesarios.
* Unificación: Para permitir la intercambiabilidad / interoperabilidad a nivel internacional.
* Especificación: Se persigue evitar errores de identificación creando un lenguaje claro y preciso

Teniendo en cuenta además que un estándar se convierte en tal, luego de que su utilización se hace masiva, podemos entonces pensar que en nuestras labores cotidianas y sobre todo en el ambiente de las Tecnologías de Información existen infinitas tareas que pueden estandarizarse. Veamos un ejemplo:
Cuántos de nosotros hemos instalado en más de una oportunidad un sistema operativo, algún servidor de correo, o realizado la migración de servicios?
Independientemente de que la implementación haya sido exitosa, he aquí la gran pregunta: SIEMPRE SEGUIMOS LOS MISMOS PASOS?
Realizar por ejemplo una planificación, preever supuestos, tener planes alternativos, controlar que la ejecución de pasos se realice de acuerdo a lo planificado, documentar los procesos y posteriormente a su ejecución analizar posibles mejoras de los mismos. Si señores esas son actividades que nos van a permitir estandarizar logrando como dice doña ISO: Simplificación, Unificación y Especificación.
Y que logramos con esto? En el caso de la instalación del SO por ej:
- Posibilidad de delegar tareas operativas asegurándonos de que se realicen de forma adecuada.
- Mayor grado de control.
- Independencia de las personas y de las ganas que éstas tengan de realizar sus labores.
- Mayor rapidez y exactitud en los procesos de toma de decisiones.
- Mayor capacidad de respuesta a incidentes: uptime de servicios alto, reducción del tiempo entre fallas.
- Mayor estabilidad y niveles de seguridad.
- Y como si fuera poco menor carga de trabajo para los administradores o responsables que por lo general suelen dedicar mucho tiempo a tareas no relacionadas con su cargo debido a la falta de estándares.
Para finalizar, aclaremos que no se trata de utilizar o generar estándares por capricho. Si bien está comprobado que la utilización de estándares beneficia por lo general a las organizaciones que los implementan. Por más ISO, BS, IRAM, etc que fuese, nunca debemos perder de vista la realidad de la organización y adecuar los mismos ésta. Debemos tratar de mejorar continuamente de eso se trata.

Algunos estándares tecnológicos muy utilizados:
ITIL, COBIT, ISO 27k, SOX, entre otros.

Monday, November 10, 2008

Hay que blogear, eso dicen

Perdón por haberte dejado mi querido amigo blog. No tengo excusas así que a contar en qué andamos:

Hace casi dos años estoy abocado a tareas relacionadas con la Seguridad de la Información un término que voy a repetir hasta el cansancio de acá en más y que no se confunda con un el subconjunto o subsistema denominado Seguridad Informática. Lejos está ya el tiempo en el que la seguridad pasaba por la tecnología únicamente (Firewalls, Antivirus, IDSs, IPSs, entre otros), hoy debemos pensar no solo en ello sino también en Procesos (Documentación, Cumplimientos normativos, Buenas Prácticas, Estándares) y Personas (Conciencia de Seguridad y riesgos inherentes propios yo diría de la era de la información).

Pero pensemos en un pequeño ejemplo, para aclarar de qué estamos hablando:
En una empresa X se decide dar cierto grado de seguridad a la información considerada crítica o sensible y para ello deciden contratarnos como profesionales de seguridad.
Surgen muchas preguntas pero listemos algunas:
Cómo saber cuándo estamos en presencia de información crítica o sensible?. Esto nos hace pensar que necesitamos alguna metodología para clasificarla.
Dónde se encuentra dicha información? De aquí surge, que sería conveniente contar con algún mecanismo de registro, un inventario tal vez que nos permita saber dónde está esa información, qué sistemas la procesan, en qué medios se almacenan y demás.
Quién maneja / administra / transporta o hace algún uso de esa información? Debemos también identificar a los propietarios de esa información para poder posteriormente definir un control de acceso acorde a sus necesidades.
A qué tipo de amenazas está sometida dicha información? Si es información digital por ej. se realizar copias de resguardo (backups)? Si fuese información impresa por ej. está almacenada en un área o lugar seguro?
El estudio detallado de los riesgos a los cuales está expuesta la información de una organización se conoce como Análisis de Riesgo, el cual puede realizarse de manera cuantitativa y/o cualitativa y sirve como herramienta de gestión para obtener el nivel de seguridad global existente, justificar inversiones, aplicar controles de seguridad acorde y facilitar el arduo trabajo de quienes estamos relacionados con la Seguridad de la Información, entre otras utilidades.
Podemos continuar con esta lista de preguntas, pero me interesa que noten que nunca hablamos de ningún tipo de tecnología. Es que así debe ser, primero debemos VALORAR la información para posteriormente decidir si vamos a asumir el riesgo, trasladarlo o implementar Tecnología, mejorar los Procesos o capacitar a las Personas o las tres cosas.
Espero como siempre haber sido claro y que este post les resulte práctico. Para quien quiera comenzar a transitar el camino de la Seguridad de la Información les aconsejo visitar los siguientes sitios:
http://secugest.blogspot.com/
http://www.iso27000.es/
http://seguridad-de-la-informacion.blogspot.com/
http://blog.infosecman.com/
http://www.segu-info.com.ar/
Además de temas como:
SGSI (ISMS), Gestión de Riesgos, ISO familia 27000, MAGERIT, entre otros.

Thursday, July 24, 2008

PHP Easter Eggs

Seguramente la mayoría que ha trabajado alguna vez con php conoce de la existencia de unos famosos huevos de pascua que se pueden visualizar agregando cierto valor al final de un archivo .php similar a esto:
http://php.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
Los hay de todo tipo, pueden ver algunos otros aquí

Pero, para ir directo al grano, la pregunta es la siguiente:

Creen uds, que dichos huevos pueden representar una amenaza en particular para quienes permitan visualizar estos eggs?

Descartemos el hecho de que se pueda obtener la versión de php, ya que existen métodos mucho más fáciles y efectivos para eso, como los de inspeccionar los Response Headers de dichas páginas, donde no solo podríamos obtener la versión del php, sino también la del web server.

Nota: Si alguien no quiere permitir su visualización, solo ponga la variable expose_php=off en su archivo de configuración php.ini.

Saludos y como siempre espero poder contribuir con alguien al menos.

Saturday, May 10, 2008

No será Privada la 192.168.100.1? chan!


Bueno a ver... cómo decirlo. Puede pasar en las mejores familias, pero veanlo con sus propios ojos...
La ip 192.168.100.1 entra dentro del rango 192.168.0.0 - 192.168.255.255, y por lo tanto es considerada una IP interna clase C. Este tipo de direcciones para quien no esté familiarizado se utiliza en entornos privados para la contrucción de intranets o redes internas que soportan el direccionamiento IP (Ej. una red en casa, la oficina, etc) y NO DEBERÍAN, ser usadas como direcciones IP válidas en Internet cosa que si es posible en Argentina como otras tantas cosas.
En fin... Dejo a los lectores de este blog que emitan opinión del caso.
Saludos y como siempre espero haber colaborado con alguien.