viernes, 28 de junio de 2013

Proteger nuestras Memorias USB (Pendrives) para limitar los problemas con virus y malware

Las memorias USB, conocidas en inglés como pendrives, son dispositivos de uso cotidiano que facilitan enormemente la transferencia de data entre equipos de computación sin necesidad de conexiones por cable, internet, wi-fi o cualquier otro método de comunicación entre ordenadores; simplemente con conectar el dispositivo USB en un puerto adecuado nos permitirá guardar o descargar contenido de la memoria flash (otro nombre con el que se conoce a estos dispositivos) al ordenador donde está conectada.

El desarrollo de esta tecnología tuvo tan buena acogida que no tardó en prácticamente eliminar a los CD/DVD como elementos de transferencia de datos; al ser más livianos, más estables, fáciles de transportar, resistentes y fáciles de usar, las memorias USB se han convertido en el elemento de soportes de datos portátil más usado alrededor del mundo; esto aunado a una capacidad cada vez mayor de almacenamiento hace que sea necesario proteger la data y la integridad de los dispositivos de almacenamiento tipo pendrive dado que su fortaleza como dispositivo de almacenamiento de datos constituye también su talón de Aquiles ya que por conectarse a múltiples equipos (laptos, pc, tablets) son muy vulnerables a los ataques de virus, malware y códigos indeseados que, no sólo pueden poner en riesgo la información del pendrive, sino que lo convierten en agente de propagación de estos elementos nada agradables.

Ante esta situación es necesario que todos los usuarios de memorias USB tomen medidas preventivas para proteger sus dispositivos de ataques por virus o malware; la acción más común es evitar conectar los dispositivos en cualquier equipo, reservando su uso con aquellos sistemas conocidos o fiables; si bien esto
Protección de Pendrive contra Virus
puede funcionar, su práctica adolece de dos grandes problemas, en primer lugar desvirtúa el uso del pendrive cuya función es precisamente la flexibilidad para extraer o ingresar data de cualquier equipo, al limitar su uso se está negando su función principal; en segundo lugar, incluso los equipos más fiables pueden estar contaminados con virus siendo ignorado por el usuario de manera que, ante esta situación los pendrive siguen siendo vulnerables.

Otra estrategia muy utilizada es evitar el autorun del pendrive y hacer una revisión con el antivirus residente en el equipo donde se conecta la memoria flash; en estos casos se protege al equipo de cualquier virus que pueda estar en el dispositivo de memoria pero no hay garantías de que algún virus salte de la computadora al pendrive; el tipo de antivirus, la actualización y muchas otras variables podrían hacer que un equipo en teoría protegido esté infectado sin que ningún usuario o administrador del mismo lo sepan.

En vista de esto, y siendo los pendrives aliados fieles y útiles en el manejo de data, la estrategia moderna de protección se basa en pequeños programas residentes en la memoria USB; los mismos están diseñados para ocupar el menor espacio posible brindando múltiples funciones que protegen los dispositivos de memoria USB de potenciales ataques.

Dependiendo de la aplicación, las funciones de este software residente en el flasdrive pueden variar pero en general ofrecen revisión del contenido de la memoria USB (tal como lo hace un antivirus), inmunización contra las amenazas más comunes, bloqueo de software de instalación automático, bloqueo de procesos sospechosos de acciones de malware, backup del contenido y restauración a un estado óptimo en caso de un ataque o pérdida de información.

Existen múltiples opciones en el mercado de software actual, cada usuario debe probar alguna y ver la que mejor se adapta a sus necesidades, para nosotros en Tu Web Venezuela hemos probado varios y nos ha gustado USB Security Utilities, un software de licencia gratuita, interfase simple, bastante intuitivo y fácil de usar que además ofrece la mayoría de las funcionalidades de este tipo de software ocupando un mínimo de espacio en la memoria USB; para quienes deseen probarlo le dejamos este enlace a un sitio de descarga segura: Descargar USB Security Utilities

Para finalizar recordemos que en seguridad informática ningún método es 100% seguro de manera que hay que tener respaldo de toda la data siempre a la mano, realizar análisis periódicos tanto de nuestro pc como de nuestros dispositivos USB con antivirus y antispyware, mantener nuestros antivirus al día y sobre todo usar el sentido común a la hora de aceptar programas que se autoinstalan en nuestros dispositivos, no hay que olvidar que si se parece a un virus lo más probable es que el archivo lo sea y es mejor abortar su ejecución.

martes, 18 de junio de 2013

Los e-mails que nunca llegan ¿se puede perder un correo electrónico?

Cuando la comunicación a distancia era vía correo regular exclusivamente no era infrecuente que algunas cartas se extraviaran, llegaran a destinos erróneos o simplemente desaparecieran; con el advenimiento de la era electrónica las comunicaciones sufrieron cambios drásticos siendo el correo electrónico uno de los responsables de estos cambios.

El correo electrónico o e-mail permitió en cuestión de segundos pasar grandes cantidades de información, imágenes, textos y más de un usuario a otro sin intermediarios humanos, un logro impensable para sus predecesores (teléfono, fax, cable) que veían limitada su capacidad de transmisión a un sólo formato (texto, voz u otro) o a un tiempo considerablemente mayor, con los costos asociados, de operación.

Las grandes ventajas del correo electrónico como vía expedita de comunicación sumado a innumerables proveedores del servicio de manera gratuita generó una explosión de la cantidad de cuentas de correo electrónica creadas en el mundo y, junto a ellas, el tráfico de información creció de manera exponencial; lamentablemente ningún avance tecnológico está libre de desventajas y a esto no escapa el e-mail que conforme se hizo masivo comenzó a padecer de un problema particular: El Correo Basura, Correo no Deseado o Spam.

La práctica del spam (enviarle correos publicitarios a gran cantidad de cuentas que no lo han solicitado) generó problemas rápidamente, en primer lugar saturando las vías de comunicación en internet y en segundo lugar generando a los usuarios un gasto de tiempo y esfuerzo significativos para poder revisar, seleccionar y separar los mensajes legítimos de los mensajes de tipo spam.

En respuesta a esto los proveedores de servicio de correo electrónico pronto tuvieron que implementar filtros que bloquearan el correo basura bien eliminándolo directamente, bien enviándolo a una carpeta destinada sólo a estos mensajes; en inicio fue una solución buena sin embargo pronto algunos mensajes comenzaron a perderse en la red y allí, comenzaron los problemas.

La lógica dicta que si enviamos un mensaje de un punto A a un punto B sin intermediarios el mensaje debería estar o en un punto o en el otro, es decir, llega al destinatario o se devuelve al remitente, siendo que no existen puntos intermedios resulta difícil creer que el mensaje se pueda desviar pero, aunque difícil de creer, si ocurre, a continuación la lista de causas que hacen que un correo NUNCA llegue a su destino final:

1- Correo del destinatario incorrecto
El error humano más común, simplemente enviamos el correo a otra persona, en este caso el correo no se perdió, estrictamente hablando, sino que llegó a donde no debía, a efectos prácticos es lo mismo, por ello debemos siempre chequear muy bien las direcciones de correo electrónico de nuestros contactos, recordemos que un simple punto hace que el destinatario sea otro.

2- El correo nunca salió de la bandeja de entrada del remitente
Aunque parezca mentira esta es una causa muy común de correo perdido; el remitente dice "yo te lo envié ayer, segurísimo" mientras el destinatario dice "aquí no llegó ningún correo de su parte"; cuando se revisa con detenimiento la bandeja de salida del remitente en efecto, el mensaje está allí intacto, nunca fue transmitido y por ende nunca llegó al destinatario.

Existen muchas causas por las que un mensaje se puede atascar en la bandeja de salida del remitente, la más frecuente es que escribimos el mensaje y le damos al botón enviar (particularmente cuando se trabaja con outlook o algún operador de correo similar) pero no esperamos que se complete la transmisión antes de cerrar el operador de correo.

Otra causa común son los archivos adjuntos, mientras más pesados sean estos más tardará el mensaje en salir de la bandeja de entrada, si cerramos el navegador antes de que se complete el proceso de transmisión completo el mensaje quedará atascado en la bandeja de entrada.

Ya menos frecuente pero aún así importante son las características del propio e-mail que pueden hacer que el mismo operador del remitente lo identifique como potencial SPAM y no lo procese, dejándolo así dormido en la bandeja de salida del remitente.

3- El correo sale pero el operador de email del remitente lo bloquea como potencial correo no deseado
Esta sea quizás una de las causas más comunes de correos que "desaparecen" en el proceso de transmisión, el operador de correo del destinatario identifica el mensaje no sólo como spam sino como potencialmente peligroso y por lo tanto en lugar de redireccionarlo a la carpeta de correo no deseado simplemente lo descarta; esta operación es automática y no genera ningún tipo de notificación ni al destinatario ni al remitente, es simplemente un sistema de protección que cuida tanto a los servidores de correo como a los usuarios finales; la razón por la que no da ningún mensaje está en el volumen de correos que se eliminan por esta vía; si se diera un alerta por cada correo eliminado el tráfico de email se incrementaría sustancialmente saturando y eventualmente colapsando el servicio de correo electrónico.

Las razones por las que un correo puede parecer spam (aún sin serlo) son múltiples; entre ellas las más frecuentes son:

- El correo proviene de una computadora afectada por virus o malware que, sin que el usuario lo sepa, se adjuntan a su correo electrónico saliente (eso hará que los servicios de correo vean el mensaje como peligroso y, en realidad, así es)

- La computadora del remitente está infectada por un gusano que se replica enviando e-mails masivos desde su cuenta de correo (de lo cual el usuario raras veces se percata) lo cual hace que la cuenta misma caiga en la lista negra de los operadores de correo siendo eliminados todos los mensajes provenientes de esa cuenta.

- El mensaje es enviado en formato de texto enriquecido en lugar de texto plano; el texto enriquecido ayuda a crear mensajes más bonitos, elaborados y fáciles de leer sin embargo si se abusa del código, sobre todo de los hipervínculos, el mensaje podría ser calificado como potencialmente peligroso y eliminado.

- El mismo mensaje tiene múltiples destinatarios en la línea Para: lo cual lo hace ver como spam; si necesitamos enviar el mismo correo a varias personas lo mejor es hacerlo en bloques de dos o tres destinatarios por vez y no todos el mismo día, así evitaremos caer como sospechosos de spam.

- Un mismo mensaje es enviado a varios destinatarios de un mismo dominio, por ejemplo se envía una solicitud de información a una página web (tomaremos miweb.com), sin embargo como no sabemos bien a que departamento enviar la solicitud lo hacemos a varios a la vez, es decir el mensaje tiene como destinatarios a info@miweb.com, ventas@miweb.com, soporte-tecnico@miweb.com, recursoshumanos@miweb.com, etc; esta configuración de múltiples destinatarios a un mismo dominio con el mismo mensaje hace que el correo sea sospechoso y eventualmente bloqueado o eliminado por el remitente; de más está decir que mientras más remitentes mayor la sospecha y que de nada sirve fraccionarlos entre las líneas Para:, CC (con copia) y CCO (con copia oculta) ya que en las cabeceras del correo, a efectos de los operadores de email, se verán todos los destinatarios.

4- El servidor de correo está en la lista negra
Quizás uno de los problemas ajenos a nosotros mismos pero que nos afectan más frecuentemente sea este, se da en los servidores compartidos, por ejemplo donde se hospedan páginas web, en un servidor compartido existen diferentes páginas que comparten el mismo ISP, si algún usuario inicia una campaña de correo masivo el ISP quedará eventualmente bloqueado y aún cuando nosotros nunca hagamos spam, correo masivo ni ninguna otra práctica indebida, nuestros correos también serán bloqueados por compartir el ISP del spammer ya que los filtros de spam no están en condiciones de conocer cuales dominios del ISP bloqueado hacen spam y cuales no.

5- Dentro del mensaje existe una alta densidad de palabras que se usan en correos basura
Más infrecuente pero factible es el hecho de mensajes descartados por el tipo de contenido, los filtros antispam tienen una amplia base de datos donde incluyen las palabras más usadas en los correos basura, por ejemplo las palabras cialis, sexo, drug y muchas más están en la lista negra, esto no quiere decir que todos los correos que las contengan serán eliminados pero si la cantidad de veces que aparecen es relativamente alta el mensaje podría ser considerado spam y eliminado.

Otra situación en relación con esto está en que algunos filtros antispam no son muy sofisticados y toman como palabras prohibidas fragmentos de texto incluidos en palabras legítimas, por ejemplo un correo que contenga la palabra especialista muchas veces y sea analizado por un filtro poco complejo podría tomar el mensaje como spam debido a que contiene la palabra cialis en repetidas ocasiones (aún cuando la palabra en sí NUNCA se incluyera en el texto), esto es debido a que el filtro descompone el texto y ve la palabra especialista de la siguiente forma espeCIALISta.

En estos casos es casi imposible adivinar cual es la palabra o palabras que están generando que el correo sea considerado como spam, lo mejor es tomarse el tiempo para redactar muy bien los correos usando sinónimos, analogías y un lenguaje rico, mientras más rico es el lenguaje empleado menos posibilidades existen de repetir una palabra cualquiera que pueda ser considerada en si misma o en sus componentes como un mensaje de correo no deseado.

Es evidente que las causas de pérdida  de correos electrónicos no son infrecuentes y que todos estamos expuestos, por lo tanto la próxima vez que no reciba respuesta a un correo electrónico enviado como URGENTE, antes de molestarse con su contraparte, pregúntese ... ¿de verdad les habrá llegado el correo?, esto será siempre válido, sobre todo con los miembros de nuestra lista de contacto que responden regularmente los correos, si en una ocasión la respuesta no llega quizás puede ser que nuestro correo nunca llegó o ... peor aún ... si llegó pero la respuesta de nuestra contraparte sufrió alguno de estos percances y nunca llegó a nuestra bandeja de entrada, la solución, Confirmar vía nuevo correo, redes sociales o cualquier otro medio que nuestro email haya sido recibido y respondido; recordemos que las respuestas automáticas de algunos servicios de correo electrónico no son garantía de que el mensaje se recibió ya que algunos filtros antispam entran en funcionamiento luego de haberse generado la respuesta automática.

sábado, 8 de junio de 2013

Selector de Fecha en JavaScript, una herramienta indispensable

A menudo necesitamos incluir en un formulario un campo de fecha, sin embargo un proceso teóricamente simple puede resultar extremadamente variable y complejo de estandarizar debido a la forma de incluir la fecha por parte de cada usuario, así algunos incluirán la fecha en formato Día-Mes-Año, otros lo harán en formato Mes-Día-Año, mucho usarán guiones (-) para separar las cifras mientras otros preferirán barras inclinadas (/), por otra parte habrá quien sea práctico y use sólo números mientras otros tantos preferirán ser sofisticados y usar una frase como Dia del mes de Mes del año Año.

Se trata pues de una situación extremadamente variable lo cual hace imperativo buscar una forma de estandarizar la forma de ingreso de la data de manera de tenerla siempre igual; esto es especialmente cierto cuando la fecha ingresada en el formulario será guardada en una base de datos MySql donde el formato de fecha debe ser exacto.

La solución más simple es colocar al lado del campo una leyenda donde indique como debe introducirse la fecha, por ejemplo "Recuerde incluir la fecha en formato día-mes-año", el problema con esta estrategia está en que más de la mita de los usuarios no leerán o harán caso omiso de la leyenda; otra solución un tanto más compleja es una validación con algún lenguaje de programación que rechace el dato si no está en el formato adecuado; si bien esta estrategia permitirá que siempre tengamos el formato de fecha correcto la misma adolece de dos serios problemas, el primero está en que tendremos que desarrollar un código a la medida para la validación, el segundo es que muy probablemente los usuarios luego de dos intentos fallidos abandonen el formulario y nunca recibamos la información.

Ante esta situación HTML5 surge con una actualización de los campos de formulario sofisticada, simple y fácil de implementar, los campos de tipo date. Al configurar un formulario y agregar un campo de tipo date el usuario que visite la web tendrá la opción de seleccionar la fecha desde un menú desplegable  que presenta un calendario, la fecha se guardará en formato estándar Año-Mes-Día lo cual permitirá almacenarla
sin problemas en MySql y los usuarios no tendrán que hacer mayor esfuerzo en seguir instrucciones para introducir la fecha.

A primera vista HTML5 nos aporta la solución más fácil y rápida sin embargo si analizamos la situación de manera más detenida nos encontraremos con varios inconvenientes; en primer lugar veremos que aún no todos los navegadores toman las etiquetas date de los campos de formulario así, en caso de no tener un navegador actualizado a HTML5 el usuario simplemente verá el campo de fecha como un campo simple de texto (sin calendario desplegable) por lo que tendrá la opción de ingresar la fecha como considere más apropiado; si bien con el tiempo todos los navegadores serán compatibles con HTML5 por el momento hay que considerar que un gran número de usuarios no dispone de versiones con esta capacidad.

Por otra parte nos encontramos con que los campos date no pueden ser personalizados en cuanto a la información presentada; si bien los colores y demás elementos de forma pueden ser afectados con CSS, el número de años, meses o rangos de fecha no puede ser modificado; en general esto no representa un gran problema pero en casos donde debamos ingresar datos con mucha exactitud, como por ejemplo la fecha de un pago, podría generar inconvenientes serios si alguien ingresa un dato con un valor de hace 100 años por ejemplo.

Surge como respuesta a este problema el confiable JavaScript; al colocar el término DatePicker en Google encontraremos decenas de códigos javascript, de mayor o menor complejidad, que permiten hacer que un campo de texto común se convierta en un campo con calendario desplegable; los hay de todas las formas y complejidades y en general todos funcionan muy bien, con un poco de trabajo será fácil implementar casi cualquiera en nuestros formularios, aún así algunos no funcionarán o podrían tener fragmentos de código maliciosos (desafortunadamente en materia de programación no siempre lo que brilla es oro) por lo que el ensayo y error es la técnica más común de los desarrolladores web para seleccionar, al menos la primera vez, la aplicación javascript que desean implementar.

En esta entrada hemos querido simplificar el trabajo de los desarrolladores web y después de una extensa revisión, ensayos y pruebas decidimos recomendar la que, a nuestro juicio, resulta la aplicación javascript más versátil, rápida y personalizable que logramos encontrar; se trata de JQuery Date Picker; una aplicación basada en javascript que con tan sólo 6 líneas de código y subir una carpeta con los archivos necesarios permite crear los campos de fecha en los formularios sin mayores inconvenientes.

Nos decantamos por JQuery Datepicker por varias razones, en primer lugar su simplicidad, la mayor parte de los archivos que se suben son imágenes, por otra parte su versatilidad ya que posee múltiples opciones configurables que nos permitirán añadir características al campo de fecha de acuerdo a nuestras necesidades  así como su fantástica hoja CSS que permite la personalización del look and feel de acuerdo a nuestro gusto y en tercer lugar el excelente centro de información y soporte donde cualquier usuario podrá encontrar  la respuesta sobre como implementar el código y modificarlo de acuerdo a sus necesidades.

Entre los parámetros que se pueden configurar están, por nombrar sólo algunos, el rango de fechas que deseamos presentar, la opción de seleccionar mes y año de un list menú en lugar de tener que navegar mes por mes y modificar el formato en que queremos procesar la fecha, esto resulta especialmente útil para adaptarlo a distintas bases de datos o sistemas de procesamiento.

Invitamos a los desarrolladores web a hacer uso de esta versátil herramienta, al menos hasta que HTML5 sea más popular y se pueda implementar sin riesgo de fallas de compatibilidad.

El sistema de archivos completo puede descargarse la página principal de JQuery

Para la información de soporte de la API puede ingresarse a la pagína de Documentación de JQuery

La información y documentación está en inglés pero bien vale la pena hacer el esfuerzo de leerlo para poder implementar el código en nuestro sitio web y ... si no queremos leer inglés siempre tenemos la opción del Traductor de Google