lunes, 7 de abril de 2008

Backups con software de código abierto en PyMEs

Mientras preparo una ponencia sobre backups con software libre estoy viendo algunos temas interesantes para tratar. Conversando con un amigo recordé que las soluciones de backup de código abierto tienen mucho que ofrecer a las redes de PyMEs, donde el principal actor es la pc cliente.

En una LAN empresarial puede encontrarse mucho hardware en la actualidad: pcs, impresoras de red, switches L2/L3, routers, gateways appliances de web filtering/seguridad, pequeños servidores, etc. Sin embargo los datos primarios a resguardar permanecen prioritariamente en los directorios privados no compartidos de las pcs cliente, típicamente Mis Documentos en la pc del gerente y/o de la secretaria del mismo (más algún directorio compartido abierto público general también, pero con datos menos importantes). Otro conjunto de datos importante a resguardar está en la base/s de datos del servidor que usualmente corre herramientas empresariales de bajo ratio de crecimiento en disco y por ello se suele ver servers con hardware de pc o modelos básicos de líneas de hard de server.

El software de backup tiene dos tareas allí, resguardar los datos de los directorios importantes de las pcs cliente y la BD empresarial.

Todo ello en un ambiente donde la conectividad de red nos permite llegar de modo simple a todos los nodos, sino directamente por medio del switch, sí indirectamente mediante políticas L2 y/o L3 (Layer 2/Layer 3), que nos den acceso, al menos en intervalos de tiempo (para minimizar las implicaciones potenciales como riesgo en la seguridad). Y todo ello en ambiente relajado de L8 donde todo se resuelve cruzando un par de cubículos hacia el despacho del jefe y mediante autorización verbal, a diferencia de grandes redes y datacenters donde suele nos espera una laboriosa tarea al cumplimentar los lineamientos de las diferentes políticas y controles hasta llegar a obtener el nivel de acceso requerido a clientes y servers para realizar las tareas de backup.

En este entorno "liberal" de sistemas, una solución de backup de código abierto se implementa rápidamente, inicialmente añadiendo a los sets de backup los directorios de los clientes y la BD y luego avanzando a hacia una política de disaster recovery del server y de los clientes relevantes para la continuidad de los procesos de negocios, normalmente con un resguardo (altamente automatizado, incluso para que lo pueda realizar el usuario), para restauración bare metal, mensual o semanal según la criticidad de los datos de los equipos.

En particular, la clave de la velocidad de la implementación radica en que las pc cliente son clientless (no es necesario instalar ningun software cliente para realizar los backups), y se toma los datos directamente mediante el uso de los directorios compartidos y si no estuvieran compartidos explícitamente, se puede llegar a ellos con las correspondientes credenciales de administrador del equipo y mediante los shares administrativos que están habilitados por defecto normalmente, excepto que hubiere algun tipo de firewall que no sea el de Windows, ya que este último habilita el acceso a los shares administrativos mediante la excepción configurada en el firewall necesaria para acceder a otros shares, aún cuando no se comparta ningun directorio.

En cuanto al servidor, si fuera Windows, se puede seguir usando los shares administrativos (asumo que no tendría nada compartido), y si estuvieran deshabilitados y/o bloqueados por un firewall (una rara demostración de buenas prácticas de seguridad para una PyME), se puede solucionar con poco de scheduling en el mismo server habilitando puertos y servicios necesarios en una ventana de tiempo apropiada para la transferencia de la información. El scheduling podría ser muy simple, o podría escalar hasta tener una miniaplicacion basada en scripting que abriera/habilitara puertos y servicios on-demand (por ejemplo, lockeando el server al finalizarse la sesión de copia de los archivos desde la ip del servidor de backup). Adicionalmente para asegurar la imposibilidad de acceder (aún teniendo las credenciales del server de backup), desde las pcs cliente, un hipotético script podría, por ejemplo, llegar a bloquear comunicaciones con todas las ip que no sean la/s del server de backup durante la ventana de tiempo de la transferencia (posiblemente necesites y sea recomendable también usar un producto de firewall diferente/mejor que el incluído en los winservers y deberías verificar que ese soft fuera scripteable también). Estamos asumiendo que la ventana de tiempo de resguardo del server de BD está fuera del horario normal en que los clientes entablan sesiones con la BD, por ejemplo, de madrugada.

Según el hardware que estemos utilizando inclusive, hoy en día puede hablarse de llegar a implementar un pequeño server virtual linux dentro del server windows si hiciera falta y según los requerimientos del entorno de backup y del server en sí.

Como pueden ver, de momento, la implementación de un server de backup completo (SO+software de backup), es la principal desventaja del uso de software libre de backup, ya que necesitamos un *nix (Linux, Solaris, BSDs), forzosamente para correr la mayoría del software que califica como apto para una solución semi-compleja en una PyME: Amanda, Bacula, etc. Pero aún así, y considerando los costos de adquirir una solución comercial PyME no siempre completa (normalmente solo incluye soporte y no capacitación), los potenciales costos de consultoría, implementación y capacitación en el manejo del software de backup de código abierto pueden llegar a ser competitivos aún si hubiera que tercerizar (pagar), su adopción.

De nuevo aclaro que en una LAN PyME balanceamos limitados recursos (de harware y/o económicos), con amplias posibilidades operativas y bajos requerimientos de seguridad IT en general.

No hay comentarios: