Archive for Mayo, 2008

Seguridad en Windows capítulo 6: Servicios.

Luego de una buena tardanza para continuar con mis manuales de seguridad en Windows principalmente por falta de ganas de escribir sobre él, decidí volver a ponerme de lleno nuevamente con los capítulos.

Esta vez vamos a hablar de los servicios y cómo influye en la seguridad del sistema un servicio ejecutándose.

¿Qué es un servicio?

Según Wikipedia es lo siguiente:

Es un tipo especial de proceso informático que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario (es un proceso no interactivo). Este tipo de programas se ejecutan de forma continua (infinita), vale decir, que aunque se intente cerrar o matar el proceso, este continuará en ejecución o se reiniciará automáticamente. Todo esto sin intervención de terceros y sin dependencia de consola alguna.

La idea principal de un Servicio es que se inicie con el sistema y permita acciones en segundo plano sin que sean ejecutadas directamente por el usuario o desde el usuario que estamos usando. Por ejemplo puede que iniciemos sesión bajo el usuario Pedrito pero el Servicio Tor Win32 (Servicio de Tor) podría ejecutarse con privilegios administrativos otorgados por el usuario Administrador o podría ejecutarse bajo el usuario SYSTEM.

El principal problema de seguridad de un servicio viene por los posibles privilegios que tenga y cómo podría afectar en la seguridad del sistema, por ejemplo un servicio que funcione para actualizar un programa, supongamos, Tor; no debería tener privilegios totales. Supongamos que la actualización de ese programa se realiza de la siguiente manera: Se necesita acceso de escritura / ejecución / eliminación desde %temp% y se necesita acceso de escritura / lectura / eliminación al directorio de Tor, la actualización no recorrerá otro camino ni buscará en otros directorios; si ésto es cierto quiere decir que no requiere acceso a %windir% ni a %userprofile% (a menos que %temp% esté configurado de manera predeterminada) ni a ningún otro directorio ¿para qué se lo vamos a dar?.

Si el servicio tuviese control total fácilmente alguien podría incrustar un código en él y poder escribir en cualquier otro lugar, por ejemplo, borrar el contenido de Mis Documentos, así que no es algo realmente seguro no? ;).

Lamentablemente dejamos en sus manos nuestra seguridad por lo que la mejor forma de protegerse es no instalar un sin número de programas o si se quiere, de servicios.

Muchos programas pueden funcionar perfectamente con sus servicios desactivados, quizá no todos tengan esta propiedad pero si gran parte de los programas por lo que desactivar servicios sería lo mejor. La mayoría de los servicios de los programas tienen la función de comprobar actualizaciones para el programa, algo que podemos hacer de manera manual; también de comprobar estados de licencias u ofrecer funcionalidades que probablemente no utilizaremos, antes de desactivar cualquier servicio de un programa de terceros es bueno comprobar si necesitamos sus funcionalidades.

Los servicios de Windows recomendados para desactivar son:

  • Restaurar sistema: si no usamos restaurar sistema, algo que no recomiendo usar.
    Ayuda de Windows: Para eso tenemos la ayuda de Microisoft desde su propia Web.
    Mensajero: El servicio mensajero tiene la finalidad de poder enviar y recibir mensajes desde tu pc a otros computadores. Lo malo es que muchos se aprovecharon de este servicio para enviar Spam masivo.
  • Ayuda de TCP/IP sobre NetBIOS: ¿Estás en una red que requiere acceso a través del protocolo NetBIOS?; algo que no es común de ver y si no lo necesitas desactiva el servicio.
  • Programador de tareas: ¿Te gusta programar tareas para que se inicien en un momento determinado?; de no ser así deshabilita este servicio. Toma en cuenta que el Prefetch de Windows depende de Programador de tareas, y el Prefetch no es algo realmente malo pero yo no lo necesito ni lo uso ¿y tu? ;).
  • Compatibilidad de cambio rápido de usuario: Permite cambiar de usuario con una combinación de teclas (Win+L), Si usas normalmente un solo usuario en tu sistema deshabilita la opción porque no la utilizarás.
  • Agente de Protección de acceso a redes: Incluido en el SP3 de Windows XP y en algunas versiones Windows Vista, permite evitar el acceso a un sistema desde una red LAN si el sistema no está actualizado con los últimos parches; necesitas esa funcionalidad? ;)
  • Actualizaciones automáticas: Recomiendo desactivar el servicio siempre y realizar las actualizaciones de manera manual, así evitaremos el consumo excesivo de procesador de svchost.exe; este problema ya tiene su solución y respectivo parche de todas formas.
  • Administrador de conexión de acceso remoto: Permite tener acceso a redes VPN o de acceso telefónico, si no lo usamos mejor desactivarlo.
  • Servicios de Terminal Server: Nos permite utilizar el programa Escritorio Remoto en Windows; funcionalidad que en algún momento tuvo un fallo de seguridad que permitía acceder al sistema de manera remota sin que el usuario se diera cuenta; a pesar de que ya está solucionado desde hace años no recomiendo activar este servicio a menos que lo vayamos a usar.
  • Enrutamiento y acceso remoto: Es un servicio muy vulnerable del sistema, permite conexiones entrantes no autenticadas para acceder a ciertos recursos del sistema, algo para nada seguro; se recomienda deshabilitar el servicio.
  • Telnet: Permite que un usuario remoto pueda tener conexión a nuestro equipo a través de una línea de comandos; si no pretendes utilizar esta funcionalidad es altamente recomendable que la deshabilites.
  • Registro remoto: Permite que alguien en la red pueda modificar de manera remota el registro del sistema; muy inseguro así que deberías deshabilitarlo.
  • Es importante que entienda que cada servicio nombrado se recomienda desactivar solo porque son los menos usados y/o inútiles; muchos incluso pueden llegar a ser inseguros, pero si usted usa frecuentemente alguno no lo desactive. Recuerden que mientras menos cosas tengamos iniciadas en el sistema menos posibilidades de fallos de seguridad tenemos ;)

    Se recomienda verificar las dependencias de cada servicio para así evitar que desactiven funcionalidades que probablemente utilicemos.

    No crean que al desactivar todos esos servicios van a estar mucho más seguros, no es así, pero tendremos menos lugares explotables.

    Como siempre, se aceptan sugerencias, críticas y comentarios.

    Capítulos anteriores:

  • Seguridad en Windows capitulo 5: Aplicando restricciones.
  • Seguridad en Windows capítulo 4: Firewall, antivirus, antispyware.
  • Seguridad en Windows capítulo 3: Actualizaciones del sistema
  • Seguridad en Windows capítulo 2: Grupos de usuarios, privilegios, directivas de seguridad y auditorías.
  • Seguridad en Windows capítulo 1: Particiones.
  • Salu2

    Pantallazo, mi escritorio Linux con Gnome.

    Hoy quise cambiar un poco e instalar Gnome en mi Debian. No me agradan mucho los entornos llenos de “tonterías” como Gnome o KDE, solo tienen pérdida de recursos que podría usar para otras cosas pero bue… quería ver qué tanto ha cambiado Gnome, qué paquetes incluye y si es factible instalarlo a un usuario neófito.

    Por ahora quedó así:

    Aún no he instalado Compiz porque me iba a tomar más de 10min hacerlo (por mi kernel y mi controlador de Nvidia) pero en otra oportunidad lo instalaré y comentaré qué tal.

    La pérdida de rendimiento es muy notoria comparado con el rendimiento que obtengo con Fluxbox, debe ser porque Fluxbox es minimalista, sencillo y muy pequeñito, Gnome no. Igual no etsá tan malo este Gnome :).

    Salu2

    Gran desconocido: Archivo Hosts.

    El archivo Hosts es un fichero que originalmente tiene la función de servidor de redireccionador de IPs a nivel general del sistema. Este fichero se encuentra en todos los sistemas operativos y en todos se maneja de la misma forma.

    En Windows 9x (95, 98, ME) se encuentra en: x:\Windows\hosts

    En Windows NT (NT/2000/XP/Vista) se encuentra en: x:\Windows\system32\drivers\etc\hosts

    En los Unix-Like (como Linux, FreeBSD, OpenBSD) se encuentra en: /etc/hosts

    Donde X:\ es la letra de la unidad principal o Root, normalmente C:\

    Su contenido por defecto es:

    127.0.0.1 localhost

    Probablemente en algunos sistemas Unix-Like o en sistemas Windows Vista contenga un par de líneas extra usadas para soporte de IPv6.

    Inicialmente el archivo hosts fue creado para ofrecer redirrecionamiento a páginas de Internet, en aquel entonces no existían los servidores DNS así que debías escribir la dirección IP de la página a acceder de forma manual; para evitar aprenderse la IP de cada página era mejor aprenderse el nombre así que lo que hacías era una redirección; al escribir www.pagina.com te llevaría a una IP configurada manualmente con anterioridad en el archivo Hosts.

    ¿Cómo funciona?

    Supongamos que deseas que al escribir www.pagina.com en tu navegador y que te envíe a un servidor en específico, supongamos que a 192.168.1.1; para hacer esto deberñas editar el archivo Hosts y agregar una línea similar a esta:

    192.168.1.1 www.pagina.com

    ¿En la actualidad para qué me puede servir si ya existen servidores DNS?

    En la actualidad el archivo Hosts podría tener otra utilidad, por ejemplo, de seguridad. Si logramos obtener una lista grande de sitios maliciosos y redireccionarlos a otro lugar al acceder a ellos, supongamos, a nuestra propio equipo estaríamos bloqueando el acceso a la página maliciosa y estaríamos seguros.

    Supongamos que deseamos bloquear a Google (dudo que realmente quieran hacerlo), lo que tendrían que hacer sería colocar en el archivo hosts lo siguiente:

    127.0.0.1 www.google.com

    Cuando quieran acceder a www.google.com serán redireccionados a la IP 127.0.0.1 el cual es su IP local o localhost.

    Una recopilación de sitios inseguros para agregar al Hosts y bloquear es la siguiente:

    Hosts.txt

    Hosts

    Pueden agregar todas esas líneas al Hosts sin problemas.

    Otra función que particularmente uso es la de agregar páginas que utilizan los usuarios de empresas, por ejemplo, Youtube. Normalmente un usuario trabajador de una empresa no debe acceder a Youtube por lo que hago un bloqueo de esa página, así el trabajador no perderá tanto tiempo viendo vídeos y será más productivo.

    ¿En qué me favorece usar el Hosts?

    El uso de un archivo Hosts como método de seguridad para bloquear páginas no deseadas favorece en que no genera enorme lentitud a la hora de la navegación [1] y no exige que el sistema gaste recursos para bloquear las páginas.

    Existen muchos programas para bloquear páginas web de manera manual pero estos se cargan con el sistema o el navegador gastando mayor cantidad de recursos; suelen ser muy específicos, por ejemplo, que solo funcionen con Internet Explorer o Mozilla.

    El archivo Hosts es general, funciona con cualquier programa que haga peticiones a un servidor, ya sea Internet Explorer, MSN, Office, Pidgin… etc, etc, etc.

    Recomiendo altamente el uso de este archivo para bloquear páginas web no deseadas, quizás dentro de un buen tiempo haga un conjunto de páginas comunes para bloquear de acuerdo a las necesidades del usuario.

    [1] Recuerde que cada vez que usted acceda a una página el sistema verificará el archivo Hosts, si el archivo es muy grande el sistema tardará más en buscar la línea adecuada; quiere decir que si hay un uso de recursos pero pequeño.

    Salu2

    Congreso nacional de Software Libre en Venezuela.

    A pesar de toda la publicidad no sabía que había un congreso nacional de Software Libre en Venezuela, hoy gracias a un mensaje de un amigo fanático de las computadoras como yo me entero que los días Viernes 30 y Sábado 31 de Mayo estarán los del congreso acá en mi aldea!!!.

    Bueno, por in podré conocer a muchas de las personas que leo en Blogs, por ejemplo, Jesus Lara de Phenonbarbital con soda, el cual hablará sobre “Tweak y Tunning” Poniendo a tono nuestro Linux y la chica de Tatica.org hablando sobre Edición fotográfica Libre y profesional con GIMP.

    El lugar será El Colegio de Médicos del Estado Mérida, Av. Urdaneta. De 8am a 6pm dura todo el evento y el coste de la entrada es completamente gratuito.

    Para más información:

    Página del CNLS: http://cnsl.org.ve/

    Página de información del evento en Mérida: http://www.cnsl.org.ve/tiki-index.php?page=merida

    Allá voy!!!!

    Salu2

    A través de los años que he trabajado como técnico de computadores e ido adoptando lo que considero una muy buena experiencia así como ciertas mañas para las distintas situaciones que se me han presentado. A manera personal expondré algunos consejos que pueden ayudarte para ser un buen técnico o acercarte más al proceso del mundo del técnico en computadores.

    1. Nunca demuestres miedo o inseguridad:

    Lo peor que puedes hacer, incluso en una situación difícil (como que se te esté quemando el equipo en las manos) es demostrar miedo o inseguridad. Debes estar 100% seguro de lo que haces, cómo lo haces, por qué lo haces y qué podrías provocar. No siempre se puede estar 100% seguro de algo, en dicho caso trata de evitar los procesos peligrosos e irte siempre desde lo más fácil a lo más difícil.

    Probablemente durante tu trabajo no sepas hacer algo o no estés seguro de un proceso, incluso en un momento así jamás demuestres inseguridad o miedo. Creo que ha sido una de las claves de mi éxito, lo seguro que me escucho y veo al hacer algo (así no tenga la menor idea en lo que me estoy metiendo), todo es parte de la experiencia.

    2. Aprende a desarmar, armar y reparar impresoras:

    El aprender a reparar impresoras te enseña 4 cosas fundamentales:

  • Encontrar la forma exacta de desarmar un componente sin llegar a partirlo o partir una pieza.
  • Tener paciencia al desarmar algo, no siempre puedes desbaratarlo en el tiempo que quieres.
  • Si algo se parte (una pieza plástica) sabrás usar acrílico y un rotomatic para rehacer la pieza partida.
  • Aprendes que todas las piezas de todos los componentes encajan en un solo lugar y sueles encontrar ese lugar de manera rápida.
  • Cuando aprendes a desarmar impresoras aprendes a desarmar prácticamente cualquier cosa que se te cruce en frente, sin dañar el aparato por su puesto ;).

    3. Aprende sobre distintos sistemas operativos:

    No tienes que ser un experto en uno o varios sistemas, si así fuese el caso trabaja como asesor de seguridad en una empresa propia, ganarás más ;). La idea es saber un poco o más allá sobre distintos sistemas operativos, quedarte conociendo solo Windows sería algo muy pobre.

    4. Sé sincero, pero no digas toda la verdad:

    En el juego del cliente – técnico debes ser sincero, pero no revelar absolutamente toda la verdad ya que el usuario no la necesita a menos que la pregunte, por ejemplo, si le quitaste un Trojano al pc del cliente no le vas a decir:

    “Señor(a) su computador tenía un Trojano, el cual abre puertas traseras en su pc, a su vez éste logró descargarse un Rootkit, infectó su sistema y causó algunos daños, un atacante pudo controlar todo el computador de manera remota. Lo quité ejecutándo HijackThis, eliminando las entradas maliciosas…..”

    Eso no lo necesita saber el cliente, le enredarás la cabeza, te mirará con cara de “ok, pero quedó bien?” “ajá… a mi no me importa, se salvaron los datos?” “este está fumado”. Algo más corto, sincero pero sin revelar toda la verdad es así:

    “Su computador tenía un Trojano, seguramente por descargar algún programa infectado, aceptar algo desde MSN o por navegar en una página infectada. Al final me costó mucho quitarlo pero parece estar todo mejor, trate de no aceptar cosas extrañas de MSN….”

    5. Aprende de electrónica:

    Un computador no es solo Windows como tampoco es solo panel de control. No puedes llamarte técnico si no sabes por lo menos lo básico de electrónica, tomando en cuenta que la mayoría de los componentes del computador son electrónicos ¿Cómo puedes llamarte técnico si no sabes reparar ninguno de esos componentes?. Amigo, recuerda, no es solo saber instalar windows, programas, descargar música, saber desarmar un pc y ya ;).

    6. Aprende sobre las redes:

    No puedes ser buen técnico si no sabes hacer una red, las reglas, los lineamientos, el orden, topología, componentes….. Recuerda, no todo es WIndows, panel de control, mozilla y Messenger, existe un más allá.

    7. Manten la calma, nunca entres en pánico:

    Yo he tenido muchas experiencias malas que me han enseñado a mantener la calma siempre. Solía sucederme que luego de hacerle mantenimiento a un pc no encendía más… en aquel tiempo cuando me sucedía eso me ponía pálido y sudaba frío, era bastante incómodo. Imagino que más de uno habrá pensado que o le dañé el pc o no sabía lo que hacía.

    Lo cierto es que era un grave error el entrar en pánico, temblaba y demás. Procura no asustar al cliente, si no enciende el pc verificala nuevamente, aprieta los cables e intenta de nuevo, si lo haces sin verte nervioso el cliente ni se dará cuenta que el computador se está quemando y no se preocupará.

    8. Métele miedo al cliente:

    A esto me refiero a que adviertas al cliente de las cosas que podrían suceder si hace algo, tal vez exagerando un poco. Por ejemplo, mucha gente no tiene una emulación a tierra en el toma corriente lo cual es peligroso pero no quiere decir que se va a dañar su computador en 1 hora.

    Para que el cliente haga caso de colocarle tierra al toma suelo decirles que se les puede quemar el disco duro y perder todos sus datos sin posibilidad de recuperación; realmente esto no es falso, podría pasar, pero tampoco es sumamente común. En muchos casos los datos se pueden salvar y como podrán imaginarse, el disco no se quema pero si sufre daños.

    Advertirle al cliente de manera exagerada les hace entender que deben ser responsables, creeme, te lo agradecerán ;).

    9. Instala lo básico:

    Luego de lidiar con muchos casos me ha llegado a pasar muchas veces que llego a la casa de un cliente y me dice “envié el computador la semana pasada a donde un técnico y me dejó la máquina lenta, ese técnico es malo no lo llamaré más”. Cuando reviso el computador me encuentro con 2 antivirus, miles de barras en el explorador, un firewall, un antispyware, un tema personalizado transparente… etc, etc, etc…. Probablemente el técnico no sea malo pero comete un error al instalar todo ese conjunto de programas sin preguntarle al usuario primero.

    El cliente es un contador que usa solo excel y le interesa que excel y a lo mucho MSN abran rápido. Le pregunto qué le gusta de los programas y qué no, normalmente a ese tipo de clientes no le gusta un sistema tan personalizado; les molesta. Quito todo lo innecesario (barras, colores, transparencias, uno de los antivirus) y dejo lo que “me pareca conveniente”.

    10. No dejes que nadie le ponga precio a tu trabajo.

    Debe ser por mi fomar de hablarle al cliente o no se por qué (la forma de tratarlos la gana con la experiencia), pero solo 1 vez en mi vida y cuando recien comenzaba me dijeron algo como “pero el otro técnico me cobra menos, deberías cobrar igual”

    A parte de ser una falta de respeto hacia ti es desvalorar tu trabajo. Que NADIE llegue a valorar tu trabajo porque eso lo debes hacer tu y solo tu. Si quieres cobrar 100 dolares por un mantenimiento (algo un poco caro para mi país) puedes hacerlo siempre y cuando:

  • Le adviertas al cliente del precio antes de realizar el trabajo.
  • Realices un trabajo impecable y digno del precio.
  • Entregues una factura y con ella, una garantía limitada de X número de días.
  • Buena atención.
  • En base a eso y alguna otra cosa que quieras agregar tu sacas el precio de tu trabajo, sea mucho o poco el cliente pagará cualquier precio si es un trabajo bien hecho (sino preparate para la maldición de Tutankamon que te echará el cliente por estafarlo).

    Recuerda, nadie va a valorar lo que haces, solo tu ;).

    11. El cliente siempre tiene la razón.

    Digas lo que digas, patalees lo que patalees, el cliente siempre tiene la razón. Si el cliente dice que antes tenía Norton como antivirus, que es el mejor y que no le gustan los otros… amigo, instalale norton o tendrás problemas.

    Si el cliente dice que antes de formatear su multifuncional imprimía de tal o cual forma y ahora no, busca las 1000 formas de hacer que haga lo que hacía antes porque… El cliente siempre tiene la razón..

    12. Busca siempre nuevas soluciones a problemas cotidianos.

    Una de las mejores cosas que puedes hacer en tus ratos libres es buscar nuevas soluciones a problemas comunes que se te presentan con los clientes y sus computadores, si logras conseguir las soluciones apropiadas ellos te lo agradecerán ;).

    Estos son los 12 consejos que da un humilde servidor que ha reparado computadores por relativo poco tiempo (desde los 12 años y actualmente tengo 20 años), ha pasado las de Caín, ha desarmado, armado y arreglado miles de componentes de computadores, muchos especiales otros no tanto y que ha tratado con muchos tipos de clientes; desde los que quieren pasarte por encima hasta los que no dejan de joderte hasta que todo quede como estaba.

    Salu2