Estrategias de ciberseguridad que debes tener en cuenta

Como responsable de un sistema informático, sabes que los datos son el alma del negocio. Por lo tanto, es esencial mantener todos los datos de tu empresa a salvo y seguros. 

Según el Informe sobre las amenazas para la seguridad en Internet de Symantec del año 2015, el 60% de los ataques dirigidos a violación de datos afectaron a las pequeñas y medianas empresas.

Ya sea que se trate de una nueva empresa, una pequeña empresa o una gran corporación, el robo de datos y la amenaza de la Web causan interrupciones masivas en las operaciones comerciales diarias. Si no dispones de las medidas de seguridad adecuadas, tu empresa o departamento se vuelve vulnerable a los ciber ataques.

Si bien la pérdida o el robo de datos (Data Breach) puede causar grandes daños a tu empresa, existen varias formas de proteger los datos.

Debes crear una estrategia sólida de seguridad


Independientemente del tamaño de la empresa, contar con sólidas prácticas de seguridad de datos te dará protección contra las brechas de seguridad y otras vulnerabilidades de los datos. Haz que tu estrategia de seguridad sea tan exhaustiva y detallada como sea posible.

La estrategia de seguridad de TI debe incluir cómo proteger los datos de la empresa, como la información de los clientes, el acceso de los empleados o la información de las tarjetas de crédito, y soluciones cuando las cosas van mal. Luego, actualiza la estrategia y manténla accesible.

Protege las PC y la red contra el malware


El malware puede causar daños masivos en los datos. Ocurre sin saberlo, especialmente en dispositivos desprotegidos. Por lo tanto, asegúrate de mantener tanto los ordenadores como la red protegidos de software malicioso.

Puede aplicar un firewall en el router, ya que proporciona la primera línea de defensa. Instala un software de seguridad que se ocupe de la piratería y el robo de identidad sin afectar al rendimiento de tu PC y tu red. En cuanto a los correos electrónicos, para que permanezcan limpios, puedes instalar un software antispam que te proteja contra los correos electrónicos no deseados.

Crea contraseñas seguras


Sobre este asunto llevo escribiendo bastante, y uno de los artículos más destacados es «Como hacer una contraseña segura»

Contraseñas más complejas pueden ser una molestia para recordar. Sin embargo, las contraseñas fuertes proporcionan más protección contra una amenaza a la seguridad.

Es ideal para crear una contraseña de ocho caracteres. Asegúrate de combinar números, caracteres especiales y letras aleatorias para que nadie pueda adivinarla fácilmente. No olvides cambiarlas a menudo. Puedes aprovechar los administradores de contraseñas para que tu empleado no tenga que arriesgarse a escribirlas o recordarlas.

Utiliza la encriptación más fuerte


Otra forma de proteger los datos de su empresa contra los ataques de seguridad cibernética es utilizando la encriptación más fuerte. Usted está codificando los datos a través de la encriptación de datos para hacerlos inútiles sin la contraseña para desencriptarlos.

Tener la encriptación de datos más fuerte significa que aunque sus archivos estén duplicados o sean robados, a una persona le será mas difícil acceder a los datos. Además de cifrar su computadora de escritorio, también necesita asegurar sus computadoras portátiles, tabletas, unidades flash, correos electrónicos y otros almacenamientos digitales.

Realiza las actualizaciones automáticas de software


Tenga en cuenta que los hackers a menudo escanean sitios web o redes para saber qué versión de software estás ejecutando. Esto les ayuda a explotar las vulnerabilidades de las versiones más antiguas.

Para evitar este riesgo, asegúrese de actualizar tus sistemas operativos, la configuración de seguridad de los dispositivos y otros programas de software a sus últimas versiones. Luego, configure mejoras y parches para las actualizaciones automáticas en segundo plano para una mayor protección.

Construye un plan de dispositivos personales


A medida que tus empleados introducen y utilizan sus dispositivos personales, pueden causar riesgos de seguridad para los datos de la empresa. Para evitar que esto ocurra, debes crear un plan de protección contra los costes del sistema móvil y las repercusiones legales.

Su plan debe ser claro y completo y debe abarcar cuestiones de vigilancia en Internet, seguimiento de la ubicación y eliminación de los datos pertinentes. También debes crear una provisión adecuada para los empleados que trabajan a distancia, ya que podrían traer nuevas amenazas a la seguridad si no se gestionan adecuadamente.

Utiliza el servicio de la nube

En caso de que tenga la experiencia o el tiempo para gestionar todas las medidas de seguridad y actualizaciones, es mejor aprovechar las plataformas de servicios en la nube que permiten a las empresas beneficiarse de las mejores prácticas de la ciberseguridad.

Busca un proveedor de servicios en la nube de buena reputación que pueda ayudarte a implementar una completa seguridad de los datos, mantener los parches de software y almacenar los datos de forma segura. Esto podría no ser adecuado para las empresas de nivel empresarial. Las pequeñas empresas pueden beneficiarse mucho en términos de altos niveles de protección.

Deshazte de los datos de la compañía adecuadamente


Hay algunos datos que ya no son necesarios en tu negocio. Por lo tanto, es mejor deshacerse de ellos para reducir los riesgos de violación de la seguridad adecuadamente. Asegúrate de tener las medidas de eliminación correctas en su lugar.

Elimina todo el contenido de los medios y dispositivos de almacenamiento reutilizados o retirados para evitar la recuperación de cualquier dato confidencial. Ten en cuenta que la eliminación de determinados archivos y carpetas, el formateo del disco duro o la reinstalación del sistema operativo no garantiza la eliminación completa de los datos. La mayoría de las veces, los datos permanecen accesibles sin saberlo.

Puedes crear e implementar una política de destrucción de datos que cubra un protocolo sobre el uso de cada dispositivo. Esta política debe aplicarse en cuanto a si serán redistribuidos o desechados al final de su ciclo de vida.

Difunde esta conciencia a tus compañeros


No todo el mundo en tu empresa es consciente del daño que una violación de datos puede traer. Por lo tanto, asegúrate de que todos ellos entiendan la importancia de la política de seguridad dentro de la empresa.

Puedes educar a tus empleados a través de cursos de actualización bianuales o incluso durante la incorporación. Asegúrate de que todos ellos están atentos a las prácticas de seguridad.

Para finalizar:

Mejorar la seguridad de tu red de datos es una de las mejores maneras de empezar a proteger tu negocio contra los ataques de ciberseguridad.

Nadie sabe cuándo se producirían los ataques a la seguridad, así que asegúrate de que tu empresa esté protegida en todo momento. Con los consejos anteriores, puedes entonces proporcionar la capa extra de protección de tu negocio. No esperes a mañana. Ahora es el mejor momento para implementar medidas de seguridad estrictas.

Déjame saber tu opinión con respecto al tema ¿Ha sido tu empresa víctima de un cIberataque? ¿Cómo resolviste el problema?

¿Qué otra(s) estrategia(s) aplicas para asegurar la información de tu empresa?

Principales pautas para securizar tu WordPress

Iniciar un blog, un e-commerce o un site para una pyme o cualquiera que sea el site que quiere implementar con este CMS requiere una inversión inicial como alojamiento, temas, o posibles desarrollos adhoc.

Esta inversión inicial por sí sola es suficiente para proteger su sitio web desde el principio. Pero lo más importante, es asegurar el potencial retorno que puede traer.

De forma predeterminada, el core de WordPress tiene implementadas algunas medidas de seguridad, pero no es nada comparado con lo que un plugin de seguridad acreditado hacer. Por ejemplo, los principales plugins de seguridad de WordPress ofrecen lo siguiente:

  • Monitoreo de seguridad activa
  • Escaneo de archivos
  • Escaneo de malware
  • Seguimiento de lista negra
  • Endurecimiento de la seguridad
  • Acciones de post-hack
  • Firewalls
  • Protección de ataque de fuerza bruta
  • Notificaciones para cuando se detecta una amenaza de seguridad

Las principales pautas a grandes rasgos que se deben seguir para mantener la seguridad de tu WordPress pasarían por las siguientes.

Hosting

Sin duda la elección de nuestro proveedor de hosting puede traernos quebraderos de cabeza o darnos cierta seguridad.
En más de alguna ocasión he mencionado que para un tipo de blog normal o incluso uno con un cierto tráfico la mejor solución es una implementación VPS, donde poder levantar una instancia privada (virtualizada) donde sólo estará tu WordPress bajo una misma IP. Dejando atrás los arcaicos servidores compartidos que sólo traían problemas.
Para más detalles sobre la elección del Hosting y servidores VPS recomiendo la siguiente lectura de otro de mis artículos: Cómo lanzar tu WordPress en un VPS

 

Instalación de plugins y temas

Siempre tenemos que descargar plugins y temas (o themes) de sitios oficiales o recomendados por la comunidad. Así evitamos caer en posibles archivos dañinos que afecten a nuestra web.

Existen muchos sites para comprar plantillas que van desde los 9$, sites tan reconocidos como Themeforest, pero también hay muchos otro sites con plantillas wordpress que son realmente útiles.

Actualizar, actualizar, actualizar

Que más decir. WordPress es un código abierto, que cualquiera puede analizar y procesar. Si se tratan de ciberdelicuentes que intentan obtener beneficio de instalaciones obsoletas de wordpress tienen listados con exploits y vulnerabilidades que pueden explotar: https://wpvulndb.com/

Existe algún que otro plugin que realiza actualizaciones automáticas de los propios plugins presentes en la instalación. Sin duda una estrategia a tener en cuenta si el administrador del WordPress no suele estar conectado con frecuencia.

Backups

Es muy recomendable realizar una copia de seguridad de manera periódica. Así nos aseguramos de mantener a salvo nuestra página ante posibles problemas. Guardar la configuración y los archivos es vital para poder restaurarla si fuera necesario.
Al menos es aconsejable hacer una copia de seguridad cada mes, pero ya depende del flujo de nuestra página. Cuanto menos tiempo pase, mejor. Todo sea por aumentar la seguridad en WordPress
Existen plugis como «BackWPup» donde se pueden programar trabajos para realizar backups de la base de datos, listado de plugins, configuración, etc y volcarlos ya sea en Amazon S3, una cuenta FTP, una cuenta de Dropbox, etc..
Algo fundamental.

 

Gestión de contraseñas

Este es un consejo tanto para WordPress como para cualquier aplicación o servicio. Es muy recomendable cambiar las contraseñas periódicamente. Además éstas deben de ser lo más complejas que podamos. Evitar siempre introducir nombres propios, fechas, números que nos relacionen. Siempre es bueno alternar letras, números y otros caracteres, con mayúsculas y minúsculas.

También es importante revisar y modificar las claves de acceso FTP para evitar posibles incidentes.

Si quieres leer un artículo específico sobre este tema te recomiendo la siguiente lectura: Gestión de contraseñas seguras

Cómo mantener el valor de tu base de datos con email válidos.

Para este artículo vengo con una experiencia interesante. En mi anterior proyecto, queríamos retomar el envío de newsletters a usuarios, que desde hacía más de 4 años que no se hacía. El envío lo hicimos desde una instancia de AWS y utilizamos los servicios de SES y SNS, para todo el lanzamiento de emails y recepción de errores y notificaciones respectivamente. La verdad que todo el sistema era un tanto espartano pero funcional.

Había valorado servicios como Mailchimp pero resultaban más costosos, que si nosotros preparamos todo el servicio web por nuestra cuenta, sobretodo porque la idea era retomarlo, pero comprobar si merecía la pena obteniendo un retorno de usuarios relevante.

Pues bien, lanzamos el newsletter + de 180K, parte de nuestra BBDD. Resultado: El servicio SES de AWS nos baneo. Generamos una tasa de rebote tan elevada, 35%, que saltaron las alarmas en AWS y nos bloquearon el uso de este servicio.

Después de varios emails a AWS y un par de llamadas con nuestro account manager, el incidente se solución pero todo fue por tener una base de datos no administrada correctamente, donde la mayoría de los emails de los usuarios iniciales de la web, ya no existían o que en su momento entraron sin ningún filtro.

Cómo comprobar si un email es válido

Como era de esperar el problema reside en la verificación previa del email. La más común es el típico email de verificación que el usuario recibe en su correo. Pero los propios técnicos de AWS me propusieron 3 servicios donde no necesitas enviar nada al usuario y ellos validan si el email existe.

http://www.briteverify.com/
http://verifalia.com/
http://kickbox.io/

Mi elección fue Kickbox.io. Es un servicio muy fácil de usar. Te ofrece 100 verificaciones de email al día en la versión gratuita.

La escalabilidad es bastante asumible para cualquier empresa, 500 verificaciones/día cuesta 30$/mes.

Tiene un interfaz muy usable e intuitivo.

Lo mejor de todo es su API, tiene códigos de ejemplo para crear un cliente en PHP, Node, Python, Ruby y lo puedes usar con CURL. De hecho me ha gustado tanto que he creado un Plugin para CakePHP.

Puedes ver el código fuente del Plugin en el siguiente repo: https://github.com/pedroventura/kickbox-cakephp. Esta abierto a sugerencias, mejoras, comentarios, etc..

Conclusión

Sin lugar a duda, hacer una gestión correcta es algo obligatorio, esta afirmación parece muy obvia, pero la realidad a veces suele ser otra. Demasiada carga de trabajo, conflictos de prioridades, errores de código o la razón que sea, puede crear problemas que a la larga se agravan mucho más.

Algo tan simple como validar un email y no molestar al usuario con ésta validación debe ser trivial a día de hoy. Dejo como recomendación esta herramienta con la que podemos lograr este propósito.

Seguridad en contraseñas. Como hacer una contraseña segura.

Si estas usando gmail, Hotmail, Facebook, Twitter o tienes cualquier otra cuenta del algún servicio online u offline, sabrás lo importante que es tener una contraseña segura para proteger tu cuenta y acceso a tus datos. No cabe decir que todos los desarrolladores, administradores de sistemas y profesionales del mundo de Internet, y no solo de Internet sino de banca, redes, y cualquier ámbito que tenga que ver con seguridad y accesos sabrá lo importante de una buena contraseña.

Porque securizar tu contraseña

Parece algo evidente, pero hay usuarios que todavía tienen contraseñas tales como: 123456, qwerty, el nombre de su perro,  hermano/a, la fecha de nacimiento de tu hijo/a, etc..

Este tipo de contraseñas sistemáticas y/o predecibles apenas ofrecen una protección contra hackers, bots o softwares, los cuales realizan descifrados por fuerza bruta, que no es más que ir probando millones de combinaciones posibles hasta dar con la correcta.

Otra técnica es utilizar hacking social a través de la ingeniería social. Esto es básicamente cuando el atacante se hace pasar por alguien que no es (ej. un administrador del servicio web o de la plataforma) y te pide los datos. Se crea un contexto inventado que la víctima no percibe. Es el ataque más simple pero el más efectivo! Cuidado con esto.

Otro caso común es el phishing que es cuando una página web simula ser otra, por ejemplo la de tu banco, la de tu cuenta de correo o lo que sea y te pide que introduzcas tus datos de la tarjeta de crédito o tu contraseña.

Consejos para crear una contraseña segura, fiable y fuerte

Una buena contraseña tiene que tener como mínimo:

  • Letras, mayúsculas y minúsculas.
  • Números.
  • Algún caracteres Especial tipo: !»·$%&/()=?^*.
  • Una longitud mínima de 8-10 caracteres. Mejor una que tenga 15-20 caracteres (no exagero).
  • Que todo esté en orden aleatorio, sin ningún tipo de patrón.
  • No tengas la misma contraseña para otras cuentas.

Con esto ya conseguimos una contraseña fuerte. Ejemplos:
z$,xn3P4TMQw
+EesG9A,wx`@
WYvTU%:wE%iS
=85y+A6N,Aa^4{+G&&

Este tipo de contraseñas es muy difícil descifrarlas, aunque con tiempo, algo factible.

Consejo. Utiliza un gestor de contraseñas

Consejo final. Si tienes más de 5-10 contraseñas, olvídate de lo que estés haciendo hasta ahora con las contraseñas y empieza a usar un gestor y/o generador de contraseñas tipo lastpass o keepass.

Recomiendo encarecidamente el uso de keepass, porque es un simple programa (un .exe) y una base de datos que puedes llevar en un USB. Puedes organizar y guardar tus contraseñas de manera segura y eficaz. Compatible con Windows y Linux con (KeepassX)

Para más información sobre keepass sigue leyendo este artículo: organizar y guardar las contraseñas en un USB con KeePass

Para terminar

Si pones en Google «Seguridad en contraseñas» las búsquedas relacionadas que aparecen al final de la página de resultados de Google son las siguientes:

Como vemos, entorno al asunto de la seguridad en contraseñas, hay más búsquedas relacionadas que intenten «hacer mal», que las que intentan ayudar y/o aconsejar.

Spotbros y las invitaciones automáticas. Reflexiones de un usuario molesto.

Este artículo no será la típica review o noticia donde se presenta una nueva y fantástica app o servicio.

Este artículo es un consejo al uso de buenas prácticas sobre algo tan trivial como el envío de emails pero que puede ser tan tóxico como el spam. También es una llamada a la modestia, o a la falta de ella.

Sí, me llego la invitación

Todo empezó con un email invitándome a esta app, de la que no tenía constancia.

Soy consciente de que el 1TB es algo con lo que reclaman usuarios, como las típicas ofertas para captar clientes, una estrategia de negocio, aún así no soy escéptico ni tan desconfiado en el ámbito de las nuevas tecnologías y suelo probar bastantes app y servicios web, por lo que la instalé.

Como iba yo a saber que esa era la típica invitación «automática».

El asunto de las invitaciones automáticas

Una vez instalada la app, lo primero es trastear, mirar todas las opciones, funcionalidades que me permite, en general que me ofrece la app. Cuando ya me cansé de probar y de estar confuso (esto puede dar para otro artículo), cerré la aplicación y seguí a lo mio.

Al comprobar mis cuenta de correo veo que tengo una invitación como que yo mismo me he invitado a Spotbros, y aquí es donde llega el gran WTF!

En que momento me he invitado yo mismo? Y la siguiente gran duda y pregunta que me surge es: «Espero que esta app no haya enviado esta historia a todos los contactos que tengo en mi agenda».
Oye, pues sí. Le envió la invitación a TODOS mis contactos.

Mi cabreo en twitter

Otros usuarios cabreados

Revisando las opiniones de la app en Google Play https://play.google.com/store/apps/details?id=com.spotbros.activities hay joyas como los siguentes comentarios.

No pretendo ser tremendista y sólo añadir comentarios negativos. Es cierto que hay muchos usuarios contentos con la app, pero hay que tener mucho más cuidado y prestar más atención a los usuarios que están descontentos o enfadados que a los que les gusta.

También hay que ser consciente, que los votos positivos con 5 estrellas, muchos de ellos no son realistas, ya sean porque los han realizado la propia empresa, sus contactos, los amigos de «este o del otro», usuarios pagados, campañas de marketing, etc.. los que hay que tomar en serio son los votos negativos.

Falta de modestia

Después de lanzar mis tweets, me responde el co-founder de la app, asegurándome de que no son automáticas.

Punto a su favor, porque se ha tomado la molestia de responderme, pero mal porque no es la respuesta que merece en un primer contacto, este caso procede algo como «lo revisaremos» o «envíenos más detalles del error» o cualquier otra respuesta donde se pretenda recopilar más feedback del error. De hecho es más contraproducente una mala respuesta al hecho de que no la haya.

Después la modestia llega a un nivel mucho mayor, asegurando de que es imposible que se hayan enviado las invitaciones automáticas.

A lo que yo le respondo:

Vamos que vais muy sobrados, que no sois Google, y hasta este Goliat reconoce que tiene errores, y para no ir muy lejos, muestro un pantallazo de un email que me llego hace muy poco.

Tenemos la costumbre de creer que el fallo es de los demás, y esto es algo muy peligroso, sobre todo cuando esto lo aplicas al ámbito del desarrollo, y al código, que no deja de estar realizado por personas. No puedes creer que tu aplicación es infalible y no tiene errores. Tanto el desarrollador como toda la jerarquía superior debe asumir que, ante la expectativa de que un software pueda dar error, es casi seguro que lo haga. De esta manera se podrán aplicar evolutivos y destinar recursos para el continuo desarrollo del software, y, por supuesto asumir que el error es nuestro y no de otros.

Supongo que me equivoco

Hablando de modestia. Por supuesto que he realizado el ejercicio de pensar y suponer que yo he cometido el fallo, y le he dado a algún botón de invitar o algo. El co-founder, me asegura que no son automáticas y que he tenido que pulsar invitar en la siguiente pantalla, que es un pop up dentro de la app.

Vale, supongo que le he dado al botón invitar. Aun dándole al botón me parece MUY MALA práctica seguir enviando invitaciones automáticas a todos los contactos. No hay ningún selector de usuarios? No hay ninguna confirmación? Esto no me parece ni mucho menos una buena práctica.
Señores, esto es SPAM, y como no sólo me ha pasado a mi, sino que le ha pasado a muchos usuarios y le seguirá pasando a muchos más, la frustración entre los usuarios crecerá y su aplicación quedará estigmatizada como un app spamer.

Ejemplo de como tratar a tus usuarios

Hace un tiempo estaba escuchando música en Grooveshark y de repente cargan un banner con audio. No es que sea un anuncio locutado como en Spotify, sino que simultáneamente al streamming de música se carga un banner con audio, con lo que escuchas dos audios. Como usuario, tienes que parar la música o recargar la página para que cambie el banner.
Con toda mi buena intención, y algo de cabreo, escribo un email a Grooveshark y les comento lo que me ha pasado. Sabéis que me dijeron?? Me pidieron perdón, me dieron las gracias y me regalaron un mes Premium. La verdad que el mes Premium me da un poco igual, me gustó mucho más la respuesta en general y el trato que me dieron.

En fin….

La conclusión, es más que evidente.
Luego nos extrañamos de que haya webs, apps, servicios que fracasen. Si no se esta ofreciendo al usuario algo que le aporte un bien, algo de lo que pueda beneficiarse o utilizar, sino que además se le está perjudicando, es obvio que esta app, empresa o lo que sea, tiene los días contados.
Es más perjudicial que la aplicación sea «tóxica» en cuanto al abuso de las invitaciones automáticas o cualquier otro tema, que al hecho de que sea confusa. Porque a mi como usuario, si me ha parecido confusa y la cierro, es muy posible que otro día vuelva a usarla y darle otra oportunidad, ya sea por cualquier motivo: estoy aburrido en el metro, sale en alguna conversación, etc.. Pero si ya me ha perjudicado nunca más volveré a usarla, del mismo modo que una web que no carga a tiempo, la cierro o de un restaurante que tienen mal servicio, no vuelvo.

Hasta que punto compensa «aprovecharse» del usuario para el beneficio de la empresa? En este caso la captación masiva de usuarios?
Es obvio que hay un límite. y ustedes lo han sobrepasado, sean conscientes o no.

Esta es mi reflexión como usuario y como profesional de las nuevas tecnologías.

Seguridad en el RSS de WordPress

Hoy he visto un nodo en el RSS, que se genera automáticamente en WordPress, que no me gusta nada. El nodo en cuestión contiene la información con la versión de WordPress que usa tu site. Ver imagen destacada del artículo.

Es cierto que no es un bug de seguridad crítico, pero puede ser una fuente de información que pueden usar hackers o robots para ejecutar exploits de código de la versión de WordPress que usas. Y Sí, puede llegar a ser crítico para aquellos que no tengan WordPress actualizado, ya que para las versiones antiguas hay más exploits y agujeros de seguridad conocidos y sería más fácil hackear el blog.

Mi consejo es que evitemos dar más información de la necesaria. Si un hacker experto nos quiere «reventar» el site, es muy probable que lo consiga. Lo único que podemos hacer es mejorar todos los aspectos de seguridad que podamos, para que, en caso de que alguien nos quiera hacker le cueste más tiempo y se lo pongamos más difícil. Desgraciadamente tengo la experiencia de que me han hackeado el blog en varias ocasiones y de cada una voy aprendiendo. A día de hoy, voy securizando la aplicación todo lo que puedo, sobre todo cuando veo este tipo de vulnerabilidades.

Con este descuido, nos exponemos a que vean, que efectivamente está hecho con el propio WordPress y encima le estamos dando la versión.

Para solucionar esto, tenemos que incluir el siguiente código en el archivo functions.php de nuestro template de WordPress.

[code lang=»PHP»]
// eliminar el nodo en el feed donde se incluye la version de wordpress
add_filter(‘the_generator’, ‘remove_feed_generator’);

function remove_feed_generator() {
return »;
}
[/code]

Con esto estamos agregando otro aspecto de seguridad, y todo cuenta para securizar al máximo nuestra aplicación web. Revisa el resto de artículo que hay sobre seguridad en WordPress, los podrás ver en los siguientes artículos relacionados.

La decepcionante «Guia Practica Hacker 2012 de Anaya»

Mis últimos libros de tecnología que he comprado son: Hacker. Edición 2012 (Guias Practicas Usuarios) y
La nueva Generación Hacker (O’reilly (anaya Multimedia))

El objetivo de comprar estos libros es adquirir y afianzar mis conocimientos sobre temas tales como vulnerabilidades, tipos de ataques, herramientas que se pueden utilizar, etc… para poder evitar o mejorar en todo lo posible la seguridad de los proyectos web de los que soy responsable o colaboro. También tener una mayor visión de todo lo que puede ser vulnerable: webs, servidores, dispositivos móviles, portátiles, etc.. así como sus efectos. Aun siendo técnico este mundo de hacker y seguridad es bastante desconocido para mi.

Soy consciente que con un par de libros no voy a tener todas las respuestas, ni conocer el límite de un hacker experto o que es lo que se puede hacer, pero si puede ser un comienzo interesante.

Con el primer vistazo del libro de O’reailly: La nueva Generacion Hacker , estoy convencido de que va a ser apasionante, de hecho en las primeras páginas de la introducción hay un párrafo que dice:

“Quién debe leer este libro

Este libro se dirige a todo aquel interesado en aprender las técnicas más sofisticadas utilizadas por los hackers en la actualidad. Otros libros que tratan este tema, suelen reunir métodos de intrusión y ataques al patrimonio que los delincuentes ya han dejado de utilizar.

Este libro está indicado para todo aquel que quiera aprender cómo han evolucionado las técnicas que los criminales utilizan para contener herramientas y procesos dañinos que pueden comprometer a una persona específica o a toda una empresa”

Toma ya! Después hay otro párrafo que dice:

“Premisas

Este libro damos por hecho que el lector está familiarizado con las técnicas de intrusión y ataques elementales, como por ejemplo la utilización de escáneres de puertos y analizadores de redes. También resultará muy útil tener conocimientos básicos sobre los fallos mas habituales de las aplicaciones Web.”

Pues vaya, yo no se ni las técnicas más básicas, ni nada de nada!
En fin, las expectativas de este libro son bastante altas y estoy emocionado para empezar a leer sus páginas.
Esto lo comenté hace un tiempo en twitter:

El chasco en mi compra

Si por un lado el libro de O’reailly tiene pinta de ser más que emocionante, la guía práctica de Anaya es todo lo que NO es un libro sobre “Hacker”. Su título es totalmente erróneo. Ya sólo con mirar el índice del libro me recuerda a una sosa y aburrida clase de teoría.

Hablan sobre los protocoles de red, algo que si es verdad que es muy necesario para casi cualquier ataque hacker y explican la teoría sobre los protocolos: TCP, IP, DNS, UDP, ARP, ICMP y otros protocoles de red “sin cables” como los WiFi, Bluetooth y demás. Ante la visión de 30 aburridas páginas de teoría sobre redes, digo “Acepto” porque al fin y al cabo es necesario saber la estructura más básica para posteriormente aprender todo lo que quiero sobre seguridad.

Después hay casi 50 páginas sobre utilización de Windows 7 donde sí que hay temas interesantes pero mucha mucha paja y relleno.

Hay un tema sobre comercio electrónico, donde es todo relleno, sólo cuentan qué es Oscommerce, Magento, Prestashop, hablan también de gestores de contenido como WordPress, Joomla, etc.. Otros subtemas de administración y trabajo diario como alta de artículos, precios, formas de pago, marketing… Pero oye! nada que tenga que ver directa o indirectamente con lo que pone en el título del libro: «Hacker».
Aquí ya empiezo a pensar que me he equivocado y he comprado un libro de alguno de esos cursos cutres online, sobre como crear tu web. Pero no, vuelvo a mirar la portada y pone “Hacker” Edición 2012.

Sigo revisando el libro, hay un tema sobre criptografía. La verdad que muy útil para temas de hacking y seguridad, pero es un capítulo totalmente de relleno, porque todo lo que cuenta esta en la wikipedia o cualquier blog.

Esta guía es decepcionante! Y no es algo contra la editorial o sus creadores, que sirva como escusa que tengo otras 2 guías prácticas, una de JavaScript y otra sobre OpenOffice y ambas son excepcionales, sobre todo la de JavaScript, me gustó mucho. Sin duda, es una lectura que debes hacer: JavaScript. Edición 2012 (Guias Practicas Usuarios)

Sólo que me ha parecido tan claro que no tiene nada que ver con un libro sobre seguridad y hacker que me he sentido estafado, como si fuera un libro que les interesaba publicar para sacar dinero. Es mi impresión nada mas.

Ojo! Esto NO es una review profesional, es un artículo subjetivo, con mi punto de vista de un libro. No te voy a recomendar que lo compres o lo dejes de comprar.

Otro libro que tengo en mente para cuando termine el de O’reailly es este: Seguridad Informática. Ethical Hacking – 2ª Edición, tiene muy buena pinta.

Si has leído o conoces un libro interesante sobre seguridad y hacker, no dudes en dejar un comentario para que lo sepamos!!

Contratando alojamiento web: todo lo que tienes que saber

El proceso de elección del alojamiento para tu sitio web no es algo que deba ser tomado a la ligera, sobre todo porque el mercado es muy amplio y si no nos tomamos el tiempo necesario para realizar una elección pertinente, podemos recaer en hostings de mala calidad de servicio, sufriendo problemas como lentitud, falta de respuesta, inestabilidad, entre otras cosas.

Para evitar este tipo de inconvenientes, ¿qué mejor que conocer un poco más sobre el mundo del alojamiento web? Para aquellos que no tienen conocimientos previos, déjenme comentarles que existen diferentes tipos de hosting disponibles, todos destinados a satisfacer las necesidades de la variedad de clientes que existen, desde personas particulares, hasta pequeñas y medianas empresas. Elegir el más adecuado a nuestra situación deberá ser prioridad si queremos un sitio web de excelencia.

Distintos tipos de alojamiento web

Existen tres opciones de servicio de alojamiento web, al momento de elegir lo mejor será considerar cuál de todos se ajusta más a nuestras necesidades, e incluso teniendo en cuenta los requisitos que veremos a lo largo del artículo. Esta infografía resume excelentemente los tres tipos de hosting con los que nos podemos topar en el mercado, sus características, sus puntos débiles y sus ventajas.

Requisitos a elegir al proveedor

Una vez que hayas establecido qué tipo de servicio de hosting vas a adquirir, es importante considerar algunos puntos que deberían de manera imprescindible encontrarse entre las prestaciones que te ofrece tu proveedor. Son herramientas básicas que necesitaremos a la hora de gestar y administrar nuestro sitio, y que sin ellas el proceso podría dificultarse un poco.

  • Soporte de PHP y MySQL

A la hora de desarrollar una página en internet, tanto el PHP como el MySQL suelen ser necesarios para que la misma pueda visualizarse sin problemas. Por otro lado, muchos portales como WordPress utilizan este lenguaje, por lo que si tu idea es realizar una página web utilizando esta última herramienta, necesitarás del php y del MYSQL.

  • Espacio y transferencia mensual

El alojamiento web que contrates deberá de contar con una cantidad de espacio y una cantidad de transferencia mensual que dependerá del tipo de uso que vayamos a darle al sitio. Podemos optar por cifras pequeñas, medianas, o grandes si necesitamos transferir muchos archivos al sitio. Algunos proveedores ofrecen servicios de espacio y transferencia ilimitados, volviéndose una excelente opción para quien contrata.

  • Herramientas de administración

El hosting que contrates deberá de contener algún panel de control para administrar los procesos y seguir el funcionamiento de tu sitio web. Por lo general, los servicios de alojamiento suelen venir con “CPanel”, un muy bien administrador de tareas y sencillo de utilizar. Allí podrás controlar diversos aspectos de tu sitio.

  • Soporte online

Un buen servicio de alojamiento web debe ofrecer a quien contrata un sistema de soporte online para resolver cualquier problema que se pueda llegar a presentar. Para que un sitio web sea efectivo, es importante que funcione a la perfección, y cuando sufre algún tipo de desperfecto o caída lo ideal es que haya alguien del otro lado dispuesto a ayudarnos a resolver la situación. Este tipo de soportes suelen manejarse tanto por chat, Skype e incluso vía telefónica.

¿Cómo detecto ofertas de alojamiento web engañosas?

¿Alguna vez te topaste con esos típicos anuncios que prometen un sitio web por precios ridículamente bajos? Bien, déjame decirte que podrías estar ante una oferta de alojamiento web totalmente engañosa. ¿Cómo funcionan estos tipos de hostings? Básicamente, nos ofrecen un servicio que puede funcionar excelente con webs simples de tipo estáticas, pero sus aplicaciones de PHP suelen ser escasas e incluso, nulas.

Por otro lado, debemos ser extremadamente observadores antes de contratar un hosting si queremos evitar el fraude o la publicidad engañosa. Una buena manera es a través de la investigación previa, que gracias a la Internet se vuelve un proceso totalmente sencillo. Si buscas el nombre de la empresa en cuestión en Google, y te topas con palabras como “timo, estafadores, fraude” es evidente que no resulta un candidato elegible para ofrecerte los servicios que necesitas.

Ataques XSS, como prevenirlos en PHP

Los ataques XSS (Cross Site Scripting)  suelen ser la forma más habitual que emplean los piratas informáticos para atacar una página web. Para ello se aprovechan de ciertos fallos de seguridad, sobre todo, en el filtrado y validación de campos de entrada. A través de los cuales puede enviar script o comandos maliciosos que nos afectan tanto a nuestro sitio web como al pc del usuario que nos visita.

             Un ejemplo básico de ataque mediante XSS o inyección de código puede ser

http://www.ataquexss-php.com/search?p=<script>alert(‘Hola-mundo’)</script>

En esta ocasión el ataque se reduce a mostrar un mensaje de alerta en el equipo del usuario que nos visita, dado que el código HTML solo se ejecuta en el equipo del cliente no en el servidor. Este inofensivo ataque se ha aprovechado de una vulnerabilidad en un campo de entrada, el buscador. Podría haber sufrido un ataque más dañino, como el robo de información confidencial alojada en su equipo.

Cuando desarrollamos un sitio web con PHP debemos tener cuidado con formularios, buscadores, lugares susceptibles para poder llevar a cabo un ataque mediante XSS. Por lo que debemos siempre verificar toda la información que nos faciliten los usuarios, filtrando determinados caracteres especiales que potencialmente pueden ser peligrosos.

Para ello PHP dispone de una serie de funciones que pueden sernos útiles a la hora de proteger nuestra web frente a posibles ataques mediante XSS. Hoy veremos algunas de ellas, como strip_tags o Input Filter.

Strip_tags  es una función que nos permite limpiar cualquier etiqueta html que ha ingresado el usuario, de esta forma evitaremos los ataques más básicos, pero frente a un ataque más elaborado puede no ser suficiente.

PHP Input Filter  es una clase desarrollada en PHP para el filtrado del posible código malicioso que se pueda insertar a través de un formulario. Para poder emplear necesitamos descargar la clase de la web oficial , incluir el archivo class.inputfilter.php al inicio y crear una instancia de la clase InputFilter

require_once("class.inputfilter.php");
$ifilter = new InputFilter();

Veamos un ejemplo, si tenemos un formulario en nuestra web que envía los datos por el método POST, con el siguiente código filtraríamos todos los campos de forma rapida y sencilla.

require_once("class.inputfilter.php");
$ifilter = new InputFilter();
$_POST = $ifilter->process($_POST);

La clase InputFilter nos da la posibilidad de permitir que ciertas etiquetas o atributos puedan ser utilizadas por los usuarios, para ello solo necesitamos pasarle un array con el nombre de las  etiquetas o atributos cuando creamos la instancia de la clase. Por lo que quedaría de la siguiente forma:

require_once("class.inputfilter.php");
$ifilter = new InputFilter( array(‘em’,’strong’);
$ifilteraux=new InputFilter(array(’a’),array(‘href’));

La instancia ifilter permitiría la inclusión de las etiquetas em y strong en el formulario, mientras que la instancia ifilteraux permitiría el empleo del atributo href para que los usuarios puedan incluir enlaces en el formulario.

Una aplicación que puede sernos de gran utilidad es XSSploit  nos permitirá localizar las vulnerabilidades de nuestra web antes de publicarla y evitar muchos problemas en el futuro.

Crear formularios fácilmente en PHP con Zebra Form

La creación de formularios para la web suele con llevarnos un tiempo  de desarrollo bastante elevado,  desde el diseño del formulario mediante el empleo de CSS, una tarea que puede complicarse bastante si el diseño gráfico no es nuestro fuerte. Hasta la programación del formulario para que realice la tarea deseada, sin olvidarnos de los controles de seguridad básicos para no sufrir ningún tipo de ataque a través de los formularios.

Para ayudarnos en la tarea de creación de formularios existe en PHP una librería, Zebra Form , que nos simplifica enormemente esta engorrosa tarea. Gracias a esta librería podremos crear bonitos formularios, seguros y sobre todo, funcionan correctamente en cualquier navegador con unas pocas líneas de cógido en PHP.

Entre las características más destacables de la librería desarrollada por Stefan Gabos, a parte de la ya mencionada facilidad para diseñar los formularios, se encuentran:

1.- Empleo de jQuery en la validación del formulario en la parte cliente y PHP, obviamente, en la parte del servidor. En la parte cliente, en el navegador del usuario, se realiza una comprobación básica de los campos del formulario, formato de los valores introducidos, campos obligatorios cumplimentados….etc. Mostrando mediente jQuery una serie de alertas indicando los datos que faltan o que han sido introducidos erróneamente.

2.- Utilización de Captchas para evitar el envío de forma masiva y automatizada de spam.

3.- Carga de ficheros en el servidor mediante Ajax, lo que le permite a los formularios creados con Zebra Form subir los ficheros de forma más rapida y  sencilla al servidor.

4.- Controles de seguridad, Zebra Form, lleva integrados varios scripts de seguridad, para proteger sus formularios frente a los ataques más habituales perpretados a través de ellos. Lleva integrado un sistema de cross-site scripting para evitar los ataques mediante XSS, para ello excluye automáticamente cualquier código malicioso que los usuarios incluyan en los datos enviados. También dispone de protección frente a los ataques mediante falsificación de petición en sitios cruzados o CSRF  lo que le confiere una mayor robustez y seguridad al formulario.

Gracias a las características detalladas anteriormente, los formularios creados mediante la utilización de la librería Zebra Form, están dotados de los principales mecanismos de seguridad frente a posibles ataques. Además dada la gran cantidad de plantillas disponibles no resultará difícil crear cualquier formulario rápidamente y sin necesidad de tener conocimientos avanzados sobre diseño gráfico. Sin duda alguna Zebra Form es una gran ayuda que nos simplificará el trabajo durante el desarrollo de todos los formularios (contacto, validación, registro…etc) que contiene una web actual.