domingo, 30 de agosto de 2009

DirSize

Con Windows siempre hay una carpeta que ocupa demasiado y no sé donde está. Me pongo a buscarla y llegar a ella es tedioso: clicar en las propiedades de cada carpeta, comprobar el tamaño, y así sucesivamente...

Qué práctico sería ver directamente los tamaños de cada carpeta de la unidad C: (por ejemplo), y más práctico todavía sería ver esos tamaños ordenados para saber primero cual es la carpeta con más tamaño. Así puedo entrar en ella y repetir la operación hasta dar finalmente con la carpeta con más tamaño.

Para ello he implementado una utilidad llamada dirsize que funciona en línea de comandos y que directamente, allá donde se ejecute, te muestra los tamaños de las carpetas.

Por ejemplo, este es un pantallazo de los resultados de ejecutar dirsize en la unidad C:

Con estos resultados, ya sé que la carpeta Windows es la de mayor tamaño en la unidad C: con unos 4,7 Gb.

Ahora sólo me quedaría entrar en la carpeta Windows y volver a ejecutar dirsize para que me diga cual es la carpeta con más tamaño del "lugar".

Y así sucesivamente.

En este caso concreto, os sorprendería saber cual es la más gorda del "lugar", pues Windows oculta el tamaño real de algunas de sus carpetas (si se realiza la consulta mediante las propiedades de la carpeta en cuestión). Con dirsize esta información queda al descubierto y permite saber exactamente el tamaño de cada carpeta y poder tomar medidas si es necesario.

Por último, es recomendable ubicar a dirsize en una carpeta con path (por ejemplo: c:\windows\ o c:\windows\system32\) para que funcione en cualquier sitio.

Buena cacería de carpetas de gran tamaño.



martes, 25 de agosto de 2009

Directorio Activo, Usuarios, Permisos y Carpetas compartidas

En un Directorio Activo, es fácil saber qué usuario/grupo tiene acceso a un recurso como una carpeta compartida (sólo tienes que mirar las propiedades de la carpeta compartida en cuestión), pero las propiedades de un usuario/grupo no te dicen a qué carpetas compartidas tiene acceso en un momento dado.

Una debilidad muy común es el acceso del grupo Todos, y es imprescindible saber en qué carpetas compartidas tiene el permiso Control Total. Igualmente, saber puntualmente quién tiene acceso a qué, y qué tipo de permiso tiene, ayuda de una forma extraordinaria a mantener segura la política de seguridad de un Directorio Activo.

Como no encontré una herramienta que automatice esto, hice en Perl la herramienta de línea de comandos userperm-net, que hace lo siguiente:
  1. Pide al usuario el nombre de un usuario o un grupo
  2. Mediante net view genera un archivo de texto con la lista de los hosts en red
  3. Toma la lista generada y realiza lo siguiente en cada host:
  4. Intenta una conexión WMI para extraer la lista de carpetas compartidas
  5. De cada carpeta compartida, extrae la lista de usuarios/grupos con sus permisos NTFS
  6. Compara cada nombre de usuario/grupo del paso anterior con el introducido en el paso 1
  7. En caso de coincidencia, muestra el nombre del usuario/grupo, el permiso, el host y la ruta completa de la carpeta en cuestión
  8. Por último, si el usuario quiere, muestra una lista con los hosts donde no ha podido conectar con WMI
Consideraciones para utilizar userperm-net:
  • Es mejor ejecutarlo con permisos de administrador de dominio, así llegará al máximo de hosts del Directorio Activo
  • Hay que ser muy cuidadoso introduciendo el nombre de usuario/grupo porque tiene en cuenta mayúsculas/minúsculas, espacios, etc.
  • Como trabaja a nivel de permisos NTFS de carpetas compartidas y no a nivel de permisos de carpetas compartidas en sí, es posible que algunos resultados sólo tengan sentido para accesos locales y no desde otro host
Pantallazo:

martes, 11 de agosto de 2009

Cloud-Computing

La nueva plataforma web aplicada a negocios parece inexorable. Microsoft con Azure, Google con App Engine y otros del mismo calibre están apostando por el Cloud-Computing, que entre otras tiene las siguientes novedades y ventajas:
  • Reducción de costes: normalmente no se pagan licencias, sólo se paga cuota en base al número de usuarios o de uso de la infraestructura. Mantenimiento in-situ prácticamente nulo (sólo necesitas conexión a Internet).

  • Servicios de todo tipo centralizados y escalables: mensajería, blogging, video, intranet, colaboración, aplicaciones a medida, bases de datos, etc., que pueden crecer sin límite aparente y sin problemas.

  • Facilidad de desarrollo: sólo hay que ver este tutorial que traduje sobre Google Apps.

Ahora, ¿cuales son las dudas que invaden a los responsables de las empresas?:
  • Seguridad: las comunicaciones web por Internet no son seguras, ni lo han sido ni lo van a ser.

  • Disponibilidad de los datos: ¿qué ocurre cuando no hay conexión a Internet?

  • Privacidad de los datos: los datos físicamente no los tengo yo, están repartidos dinámicamente por servidores en todo el mundo ¿quien me garantiza su privacidad?

  • Migración: será fiel la migración si migro todo mi sistema al Cloud-Computing, ¿podré después migrar después a otro proveedor de Cloud-Computing?

sábado, 25 de julio de 2009

La desinformación de la red social

¿Sabes quien anda detrás de la otra pantalla?

En seguridad informática hay una cosa evidente: el factor más peligroso es el ser humano. Y aquí es donde entra la ingeniería social como método, donde la información consigue información mediante la desinformación. Actualmente en Internet, a esto lo podríamos llamar irónicamente human data injection o simplemente engaño, método antiguo como la picaresca.

Un nuevo campo en la aplicación del engaño, muy significativo y reciente, son algunas funcionalidades de la red social. Un usuario de Facebook tiene acceso prácticamente a toda la información que quiera publicar otro usuario aunque no sea su amigo, sólo basta ser amigo de un amigo suyo. El pequeño equivalente en el mundo real es el boca a boca: la información que le doy a un amigo, éste puede propagarla a sus amigos y así sucesivamente... nunca sabes a donde llega, y nunca sabrás cuando y cómo te repercutirá (efecto boomerang). En la red social, el "boca a boca" es automático.

Con esto deduzco que el mayor peligro de la red social no es acceder a la información de un usuario. El mayor peligro de la red social es la información que publica una persona, y en ésto hay que avisar a los neófitos/as. Cuando buscas la palabra Twitter en Google, al lado de la entrada correspondiente pone: -What are you doing?- (¿Qué estas haciendo?). El recebo del ego es un asunto muy delicado.

No es lo mismo comentar tu vida privada con tu amigo/a más leal, que escribirla en papelitos y distribuirla por la calle al primero que encuentres de una forma inconsciente. Algunas consecuencias, por desgracia, las vemos en los medios: acoso psicológico, robo de información, secuestros, engaños, desinformación, venganzas, robo de dinero, chantajes, y todo lo que permita la creatividad de un alma tocada por su lado más oscuro.

El problema tampoco está en la red social, está como dije antes, en el usuario. La gran ventaja también radica en este problema: los creadores de redes sociales de éxito tienen información a tiempo real de patrones de conducta de todo tipo de millones de personas, un campo de posibilidades a nivel de marketing nunca jamás visto antes.

Es muy natural entre humanos la curiosidad, algunos quieren saber más de nosotros, posiblemente de la misma forma que cualquier otra persona. La libertad de publicación de información en la red no puede discutirse, pero tiene límites éticos, morales y legales que han de ser distribuidos, fomentados y aprendidos. La red social apuesta por el gran negocio: mis amigos y los amigos de mis amigos son mis amigos.

Creo que las personas que trabajan en redes sociales deberían saber que los beneficios de ellas también supondrán desgracias a los más desprotegidos en el contexto informativo.

¿Crees que la red social aportará algo bueno a los humanos que no estén preparados para ello?

Saludos.

domingo, 12 de julio de 2009

Cuida el registro de Windows

El registro de Windows es su columna vertebral. Ahí reside toda la configuración tanto de Windows como de la mayoría del software instalado en tu sistema.

El registro de Windows es complejo y delicado, por eso conviene que lo cuides. Más de una vez he comprobado que puede producirse algún problema en él sin motivo aparente y hacer que Windows simplemente no arranque o que no pueda trabajar con él o con algún software.

El registro de Windows XP son 5 archivos ubicados en C:\Windows\System32\Config llamados:

default
SAM
SECURITY
software
system

Y es conveniente que hagas, de vez en cuando, una copia de seguridad de ellos cuando tu sistema funciona correctamente. Como alguno de esos archivos no se puede copiar directamente en una sesión normal porque están siendo utilizados, lo más sencillo es arrancar el ordenador con el CD de Windows XP y cuando aparezca el menú de instalación de Windows elige iniciar la consola de recuperación.

Una vez en la consola, puedes utilizar estos comandos para salvar el registro:

c:
cd \
cd windows
cd system32
cd config
mkdir BACK
copy default .\BACK
copy SAM .\BACK
copy SECURITY .\BACK
copy software .\BACK
copy system .\BACK

Y listo. Reinicia el ordenador y en la carpeta C:\Windows\System32\Config\BACK tendrás los 5 archivos del registro disponibles. Para mayor seguridad y comodidad, comprímelos y guarda esa copia comprimida fuera del disco duro, en otro disco o en un pendrive.

Para restaurar la copia de seguridad en caso de problemas, inicia igual que antes la consola de recuperación e introduce los siguientes comandos en la consola:

c:
cd \
cd windows
cd system32
cd config
cd BACK
copy default ..
copy SAM ..
copy SECURITY ..
copy software ..
copy system ..

Después reinicia el ordenador y mira a ver que tal.

domingo, 21 de junio de 2009

Elimina virus de pendrives, más mejor

Como vimos en el anterior post, podemos eliminar archivos sospechosos de los pendrives u otros dispositivos de almacenamiento USB con la utilidad limpia_mem_usb.vbs.

Revisando el script me dí cuenta de que tiene una carencia importante: elimina archivos fijándose en su extensión. Puede darse el caso de que la memoria USB tenga archivos de virus ejecutables renombrados con extensiones de confianza, como TXT (archivo de texto) y pasarían desapercibidos. Si la memoria USB contiene un autorun.inf con las líneas adecuadas, podría ejecutar esos archivos ejecutables con extensión TXT y el virus produciría su infección.

Otro detalle del script es que no informa al usuario de los archivos que va a eliminar.

Además, el script sólo actúa en unidades USB, y no en otros medios extraíbles que también pueden contener virus, como memorias SD.

Para tener en cuenta estos factores, he realizado otra utilidad nueva limpia_medios_extraibles.exe, esta vez escrita en Perl y que tiene las siguientes características nuevas:
  • Detecta y elimina archivos ejecutables independientemente de su extensión.
  • Muestra los archivos sospechosos al usuario y una confirmación antes de eliminarlos.
  • Extiende su acción a cualquier medio extraíble reconocido por Windows.
Suerte con la cacería.


miércoles, 17 de junio de 2009

Elimina virus de pendrives

En el mundo de Windows, últimamente no hay pendrive de alguien que pase por mis manos que no tenga algún virus.

Los pendrives, conocidos también como memorias USB tienen la gran ventaja de que puedes transportar unos cuantos GB en el espacio de un mechero y puedes acceder a ello prácticamente en cualquier ordenador o aparato que soporte USB.

La desventaja es, que además de llevar consigo tus archivos, también puedes llevar unos cuantos virus de regalo sin que lo sepas. Los virus suelen alojarse en el directorio principal del pendrive en la forma de archivos ejecutables y normalmente están ocultos y protegidos para pasar inadvertidos al usuario.

No voy a hablar del proceso de infección con los pendrives (gracias al famoso archivo desencadenante de la infección autorun.inf), pero sí he preparado una pequeña utilidad realizada en Visual Basic Script para eliminar archivos sospechosos (candidatos a ser virus, incluyendo el mencionado autorun.inf) de cualquier pendrive que conectes a tu ordenador.

La utilidad está comprimida en un archivo disponible en este enlace de descarga y se llama limpia_mem_usb.zip. Cuando descomprimes este archivo, obtienes el archivo de la utilidad en sí que se llama limpia_mem_usb.vbs.

Al abrir limpia_mem_usb.vbs, éste comprueba si hay alguna memoria USB conectada al ordenador, si es así aparece una ventana indicando la letra de unidad detectada de la memoria USB y te pregunta si quieres limpiarla. Si le dices que Si, la utilidad eliminará los archivos de la memoria USB ubicados en su directorio principal con las siguientes extensiones sospechosas: sys, drv, ps1, vbs, msp, exe, com, dll, inf, scr, pif, dat, tmp, cmd, bat, lnk. Si la utilidad detecta más memorias USB, preguntará de nuevo indicando la nueva letra de unidad detectada para proceder con la limpieza.

Advertencia:
este script está diseñado para eliminar archivos ejecutables (.exe, .msp, etc.) que estén alojados en el directorio principal del pendrive. Si has guardado ahí algún archivo de este tipo o si ya había alguno,
será eliminado.

Novedad:
tienes disponible una versión mejorada de esta utilidad que se llama limpia_medios_extraibles.exe. La puedes descargar desde aquí y te recomiendo que leas este post para que veas las mejoras respecto a la versión anterior.