Le ocurrio a un amigo luego de instalar ubuntu 10.04 y compartir una impresora. Al instalar los clientes windows, aquellos cuyo sistema operativo es windows vista o seven, tienen problemas para imprimir.
Nos acordamos de que samba puede tener problemas con la encriptacion NTLMv2 y nos preguntabamos si la solucion no estaría en desactivar esa encriptacion en las negociaciones de sesiones smb.
La explicacion esta aqui: http://multingles.net/docs/jmt/wvsmb.html
En ese articulo se indica cómo modificar las politicas de windows para desactivar esa encriptacion. Incluso presenta una solucion sobre como modificar las politicas en aquellos sistemas que no cuentan con gpedit (ms siempre esta pensando en como joderle la vida al usuario starter).
Mi amigo fue un poco mas lejos y encontró cuales claves hay que modificar para cambiar esas politicas, y con eso resolver el problema. Al menos el problema de la encriptacion que describe el articulo de arriba.
Esas claves son:
HK_Local_Machine\System\CurrentControlSet\control\Lsa DWORD "LmCompatibilityLeveL" = 0
HK_Local_Machine\System\CurrentControlSet\control\Lsa\MSV1_0 Dword "NtLmMinClientxxxx" = 0x0000
"NtLmMinServer=" 0x0000
Luego de ese cambio, no solo se resolvio el problema de inicio de sesion, sino que, hasta el momento, los clientes windows vista y seven, imprimen sin problemas.
Gracias José!
Soluciones tecnicas que fui recopilando. Si es facil de encontrar en Google, entonces no esta aqui. Algunas son propuestas mias y otras de colegas de foros.
martes, 17 de agosto de 2010
domingo, 18 de julio de 2010
Ubuntu: Crear un acceso a un recurso remoto compartido por windows
El siguiente texto supone que el recurso remoto se encuentra en //192.168.1.102/compartido y dicho recurso no esta protegido por contraseña.
El modo de conectarse a un recurso remoto utilizando nautilus es:
En la barra de direccion escribir, por ejemplo: smb://192.168.1.102/compartido
Tambien puede utilizarse el asistente: archivo, conectar con el servidor, tipo de servicio, compartido por windows
Luego, si uno quiere automatizar el asunto podria crear una entrada en el archivo
/etc/fstab:
//192.168.1.102/compartido /media/compartido cifs users,rw,auto,guest 0 0
Luego de eso, como uno de los parametros de mount es "users", se le permite al usuario montar y desmontar el recurso.
A partir de aqui comienza una serie de problemas.
El primero con el que me encontré:
En algunos sistemas, el solo hecho de agregar esa linea en fstab hace que el recurso se vea en 'Equipo' (computer:///)
Entonces con solo hacer doble clic se monta, con clic derecho tambien se monta o se desmonta. En fin todo muy bonito.
En otros sistemas no encontré cómo hacer que el recurso aparezca en computer:///
La solucion que encontre fue simple: crear un lanzador con la siguiente linea de comando:
mount /media/compartido
Eso resolvio el primer problema.
Obviamente, todo esto fue pensando en el operador y en no tener que darle instrucciones cripticas para un operarador inexperto.
El segundo:
Con el recurso montado de ese modo las cosas parecen funcionar bien, hasta que uno se topa con este bug:
http://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg1272315.html
Basicamente, cuando, desde nautilus, se intenta reemplazar un archivo con otro del mismo nombre, no nos deja. Tampoco se pueden modificar archivos con gedit ya que informa de un error impidiendo la modificacion.
Ese error en español es:
"Error inesperado: Archivo de texto en uso"
Y en ingles:
“Unexpected Error: Text file busy”
El error de nautilus al intentar reemplazar un archivo del mismo nombre es:
En español:
"Error al renombrar el archivo temporal: Archivo de texto en uso"
Y en ingles:
“Error while renaming temporary file: Text file busy”
Al parecer son los unicos dos problemas. Abrir archivos de open office no trae problemas, por ejemplo.
Sin embargo, el operador no sabe de bugs, ni le interesan, ni quiere lidiar con ellos.
La solucion que encontre fue la siguiente:
Todo es tan simple como crear un lanzador con la siguiente linea de comandos:
nautilus smb://192.168.1.102/compartido
El modo de conectarse a un recurso remoto utilizando nautilus es:
En la barra de direccion escribir, por ejemplo: smb://192.168.1.102/compartido
Tambien puede utilizarse el asistente: archivo, conectar con el servidor, tipo de servicio, compartido por windows
Luego, si uno quiere automatizar el asunto podria crear una entrada en el archivo
/etc/fstab:
//192.168.1.102/compartido /media/compartido cifs users,rw,auto,guest 0 0
Luego de eso, como uno de los parametros de mount es "users", se le permite al usuario montar y desmontar el recurso.
A partir de aqui comienza una serie de problemas.
El primero con el que me encontré:
En algunos sistemas, el solo hecho de agregar esa linea en fstab hace que el recurso se vea en 'Equipo' (computer:///)
Entonces con solo hacer doble clic se monta, con clic derecho tambien se monta o se desmonta. En fin todo muy bonito.
En otros sistemas no encontré cómo hacer que el recurso aparezca en computer:///
La solucion que encontre fue simple: crear un lanzador con la siguiente linea de comando:
mount /media/compartido
Eso resolvio el primer problema.
Obviamente, todo esto fue pensando en el operador y en no tener que darle instrucciones cripticas para un operarador inexperto.
El segundo:
Con el recurso montado de ese modo las cosas parecen funcionar bien, hasta que uno se topa con este bug:
http://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg1272315.html
Basicamente, cuando, desde nautilus, se intenta reemplazar un archivo con otro del mismo nombre, no nos deja. Tampoco se pueden modificar archivos con gedit ya que informa de un error impidiendo la modificacion.
Ese error en español es:
"Error inesperado: Archivo de texto en uso"
Y en ingles:
“Unexpected Error: Text file busy”
El error de nautilus al intentar reemplazar un archivo del mismo nombre es:
En español:
"Error al renombrar el archivo temporal: Archivo de texto en uso"
Y en ingles:
“Error while renaming temporary file: Text file busy”
Al parecer son los unicos dos problemas. Abrir archivos de open office no trae problemas, por ejemplo.
Sin embargo, el operador no sabe de bugs, ni le interesan, ni quiere lidiar con ellos.
La solucion que encontre fue la siguiente:
Todo es tan simple como crear un lanzador con la siguiente linea de comandos:
nautilus smb://192.168.1.102/compartido
miércoles, 23 de junio de 2010
Cambiar el puerto de escucha del escritorio remoto de Windows
Sí, sí. Eso esta por todos lados. Incluso MS explica cómo hacerlo:
http://support.microsoft.com/kb/306759/es
El problema es qué hacer si luego de cambiar el puerto no funciona?
Lo que hay que hacer es desactivar el acceso remoto y luego volver a activarlo.
O mejor, desactivar el acceso remoto, aplicar el cambio en el registro y luego volver a activarlo. Los pillos de ms no aclaran eso y me hicieron perder un par de minutillos.
Para activar/desactivar: Panel de control, Sistema, Remoto.
Bueno, y por si llegaste hasta aqui con la esperanza de ver qué cambios hay que hacer y ni ganas de viajar hasta ms, aqui va:
http://support.microsoft.com/kb/306759/es
El problema es qué hacer si luego de cambiar el puerto no funciona?
Lo que hay que hacer es desactivar el acceso remoto y luego volver a activarlo.
O mejor, desactivar el acceso remoto, aplicar el cambio en el registro y luego volver a activarlo. Los pillos de ms no aclaran eso y me hicieron perder un par de minutillos.
Para activar/desactivar: Panel de control, Sistema, Remoto.
Bueno, y por si llegaste hasta aqui con la esperanza de ver qué cambios hay que hacer y ni ganas de viajar hasta ms, aqui va:
- Inicie el Editor del Registro (Regedt32.exe).
- Busque la siguiente clave del Registro: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
- En el menú Edición, haga clic en Modificar, Decimal, escriba el nuevo número de puerto y, después, haga clic en Aceptar.
- Salga del Editor del Registro.
viernes, 7 de mayo de 2010
Error al desinstalar el dispositivo. Puede que sea necesario para iniciar el equipo
A cuantos les paso que quieren desinstalar un dispositivo y les manda ese mensaje casi sin sentido.
Para los ansiosos, antes de que me odien mientras leen mi relato, abajo, en color rojo esta la solucion, je!
Claro, el dispositivo esta en conflicto, no funciona, no sirve, incluso se puede deshabilitar, pero windows no deja desinstalarlo.
El problema es que ese dispositivo en conflicto hace que algo no este funcionando.
Lo mas desconcertante es que uno navega y navega por la red sin obtener una sola respuesta certera. Es comun leer en los foros la palabra resuelto o solved. Ja! y como lo resuelven? formating...andaaaaaaaaaaaaaa!!!!!
Voy a contar como lo resolvi yo en el caso particualar de varios dispositivos de red virtuales imposibles de quitar.
Eso provocaba el siguiente comportamiento:
Si la configuracion de la red estaba en automatico, todo funcionaba bien, pero si le asignaba una direccion ip manualmente, dejaba de funcionar luego de reiniciar.
Habia que ejecutar
netsh int ip reset resetlog.txt
y luego reinciar. Ahi tomaba una ip del DHCP y funcionaba bien. Si en ese momento le asignaba una ip, seguia funcionando bien, pero luego de reiniciar, la red estaba dañada. Al ejecutar, por ejemplo:
ipconfig
no mostraba nada.
LA SOLUCION (para el caso de un dispositivo de red)
En la configuracion de la red bastó quitar el servicio "programador de paquetes QOS" para que se resolviera todo. No solamente se reparo la red, sino que desaparecieron los dispositivos zombies.
Quitar ese servicio resolvio mi problema. En otros casos habra que quitar otro servicio o protocolo. El unico que sí debe quedar siempre es tcp/ip, el cual puede repararse con el comando netsh indicado mas arriba.
Si es necesario quitar el servicio "Compartir archivos e impresoras" o "Clientes para redes", pero es necesario para el funcionamiento del equipo, no dudo que una vez resuelto el problema, al volver a instalarlo, todo quedara bien.
Si estas leyendo esto y tu problema no es la placa de red, no desesperes. Lo que yo haria, tratandose del sonido, es entrar al panel de control, Dispositivos de sonido, y comenzaria a intentar quitar configuraciones extra. Cosas como "usar solo dispositivos predeterminados", etc.
Para los ansiosos, antes de que me odien mientras leen mi relato, abajo, en color rojo esta la solucion, je!
Claro, el dispositivo esta en conflicto, no funciona, no sirve, incluso se puede deshabilitar, pero windows no deja desinstalarlo.
El problema es que ese dispositivo en conflicto hace que algo no este funcionando.
Lo mas desconcertante es que uno navega y navega por la red sin obtener una sola respuesta certera. Es comun leer en los foros la palabra resuelto o solved. Ja! y como lo resuelven? formating...andaaaaaaaaaaaaaa!!!!!
Voy a contar como lo resolvi yo en el caso particualar de varios dispositivos de red virtuales imposibles de quitar.
Eso provocaba el siguiente comportamiento:
Si la configuracion de la red estaba en automatico, todo funcionaba bien, pero si le asignaba una direccion ip manualmente, dejaba de funcionar luego de reiniciar.
Habia que ejecutar
netsh int ip reset resetlog.txt
y luego reinciar. Ahi tomaba una ip del DHCP y funcionaba bien. Si en ese momento le asignaba una ip, seguia funcionando bien, pero luego de reiniciar, la red estaba dañada. Al ejecutar, por ejemplo:
ipconfig
no mostraba nada.
LA SOLUCION (para el caso de un dispositivo de red)
En la configuracion de la red bastó quitar el servicio "programador de paquetes QOS" para que se resolviera todo. No solamente se reparo la red, sino que desaparecieron los dispositivos zombies.
Quitar ese servicio resolvio mi problema. En otros casos habra que quitar otro servicio o protocolo. El unico que sí debe quedar siempre es tcp/ip, el cual puede repararse con el comando netsh indicado mas arriba.
Si es necesario quitar el servicio "Compartir archivos e impresoras" o "Clientes para redes", pero es necesario para el funcionamiento del equipo, no dudo que una vez resuelto el problema, al volver a instalarlo, todo quedara bien.
Si estas leyendo esto y tu problema no es la placa de red, no desesperes. Lo que yo haria, tratandose del sonido, es entrar al panel de control, Dispositivos de sonido, y comenzaria a intentar quitar configuraciones extra. Cosas como "usar solo dispositivos predeterminados", etc.
viernes, 6 de noviembre de 2009
Compartir recursos sin contraseña en Windows Vista o Seven
No vi en la red nada que me convenciera para resolver el tema de compartir recursos en Windows Vista o Seven sin que este requiera contraseña.
Lo interesante es que la gente de ms facilitó bastante esta tarea para usuarios hogareños. En versiones como XP ó 2K, lo correcto es editar la politicas (gpedit.msc), pero es muy cierto que navegar por esa maraña intrincada de configuraciones se hace pesado hasta para un tecnico.
Obviamente en vista o seven tambien es valido el uso de gpedit.msc pero aqui voy a exponer la forma facil que presenta MS:
Paso 1: Configurar las politicas
Eso se hace en Panel de control, Redes e internet, Centro de redes y recursos compartidos, Cambiar configuracion de uso compartido avanzado.
Hago notar que hay que hacer clic en el titulo del menu y no en los subtitulos, aunque seguramente por algun subtitulo lleguemos al mismo lugar y tambien se llega hasta aqui de diferentes maneras, como, por ejemplo, con un clic con el boton derecho del mouse sobre el icono de red en la barra de tareas.
Una vez ahi, desplegar el perfil actual para activar los siguientes items:
1 Activar el uso compartido de archivos e impresoras
2 Desactivar el uso compartido con proteccion con contraseña
Obviamente, al finalizar, hacer clic en "Guardar cambios"
Paso 2: Configurar un recurso compartido (en este caso una carpeta)
Para eso creamos una carpeta, digamos que c:\Publico y luego clic derecho sobre la carpeta, propiedades, compartir, nuevamente clic en compartir.
Ahi agregamos el usuario "todos" simplemente escribiendo en el cuadro de texto, clic en agregar y luego solo falta modificar el nivel de permiso para "todos", yo puse "Lectura y escritura"
Listo, eso deja la carpeta "Publico" a merced de cualquier usuario de la red, incluso de un intruso, asi que a tener cuidado al implementar esta configuracion tan util como peligrosa.
Lo interesante es que la gente de ms facilitó bastante esta tarea para usuarios hogareños. En versiones como XP ó 2K, lo correcto es editar la politicas (gpedit.msc), pero es muy cierto que navegar por esa maraña intrincada de configuraciones se hace pesado hasta para un tecnico.
Obviamente en vista o seven tambien es valido el uso de gpedit.msc pero aqui voy a exponer la forma facil que presenta MS:
Paso 1: Configurar las politicas
Eso se hace en Panel de control, Redes e internet, Centro de redes y recursos compartidos, Cambiar configuracion de uso compartido avanzado.
Hago notar que hay que hacer clic en el titulo del menu y no en los subtitulos, aunque seguramente por algun subtitulo lleguemos al mismo lugar y tambien se llega hasta aqui de diferentes maneras, como, por ejemplo, con un clic con el boton derecho del mouse sobre el icono de red en la barra de tareas.
Una vez ahi, desplegar el perfil actual para activar los siguientes items:
1 Activar el uso compartido de archivos e impresoras
2 Desactivar el uso compartido con proteccion con contraseña
Obviamente, al finalizar, hacer clic en "Guardar cambios"
Paso 2: Configurar un recurso compartido (en este caso una carpeta)
Para eso creamos una carpeta, digamos que c:\Publico y luego clic derecho sobre la carpeta, propiedades, compartir, nuevamente clic en compartir.
Ahi agregamos el usuario "todos" simplemente escribiendo en el cuadro de texto, clic en agregar y luego solo falta modificar el nivel de permiso para "todos", yo puse "Lectura y escritura"
Listo, eso deja la carpeta "Publico" a merced de cualquier usuario de la red, incluso de un intruso, asi que a tener cuidado al implementar esta configuracion tan util como peligrosa.
miércoles, 7 de octubre de 2009
Ejemplo de diagnostico de una red
Encontrarse con una red compleja puede dejarlo a uno sin saber por donde empezar.
Este es un ejemplo real:
La red esta compuesta por:
1) Tres switches en cascada Nortel Baystack 450 con un total de 72 puertos ethernet todos ocupados
2) El tercer switch esta en cascada mediante conexion por fibra optica
3) En la red hay innumerables switches parasitos conectados por terceros en su afan de hacer funcionar camaras ip, puntos de acceso (wifi), otras pc sin acceso a puestos de red "reales"
4) Enlaces wifi de gran alcance para interconectar dos sucursales, lo que aumenta notablemente el numero de terminales y en consecuencia nodos generadores de errores.
5) La cantidad de pc, casi todas con windows xp, es tal, que la presencia de un solo virus podria provocar fallos inesperados o inexplicables.
Se presento el siguiente problema:
Luego de la instalacion de un software de gestion que utiliza conexion odbc con servidor sql, ocurrio que la operacion que en algunos terminales tardaba uno o dos segundos, en otros tardaba 20 segundos.
La primer sospecha es el rendimiento del terminal, con factores como procesador, memoria, malware, etc. Pero se determino que no era ese el problema, incluso algunas pc en las que el sistema funcionaba lento, contaban con procesadores mas potentes y mayor cantidad de memoria que aquellos en los que el sistema funcionaba bien.
Por otro lado, en cualquiera de los terminales, tanto los "buenos" como los "malos", cualquier otro sofware, sea local o de red, funcionaba bien.
El siguiente en la lista de sospechosos es el propio software que, en definitiva, es el que comenzó con los problemas. Asi que se invita a los programadores a tratar de encontrar la causa.
Mi sospecha era que en aquellas pc malas, una version erronea de mdac, o la falta de algun parche podria se el causante.
Luego de varias pruebas en las que se utilizaron herramientas de sql server para hacer consultas sql remotas se llegó a la conclusion de que el problema esta centrado en la red.
Un experimento importante para descartar un mal funcionamiento del puerto del switch, incluso del cableado, fue probar que una pc mala seguia siendo mala aun cuando se la conectaba a la red utilizando el puesto en el que funcionaba una pc buena. (eso fue facil, simplemente el patchcord de una pc cercana era sufifientemente largo como para pedirlo prestado por un par de minutos)
Aislar la red
Se conectaron en red mediante un switch generico unicamente tres pc, el servidor sql, una pc "buena" y una pc "mala".
El resultado fue que todo funcionaba perfecto, la pc buena seguia funcionando igual y la pc mala mejoró tanto que incluso funcionaba mas rapido que la "buena".
El paso anterior ayudo a aislar el problema, ya se sabia que no estaba centrado en el software de gestion, si no en la red.
En este punto fui abandonado a mi suerte, los programadores dijeron: cambia el swich y problema resuelto.
Pero hacer una inversion de unos U$S 7000.00 requiere de cierto estudio.
Pensé: si al aislar de ese modo la red las cosas funcionan bien, podria ser que las pc malas tengan una vulnerabilidad afectada por otras pc de la red infectadas con algun virus.
¿Cómo resolver ese problema, o al menos como sacarme esa duda sin morir enredado en una maraña de cables utp?
Facil: instalé Wireshark en una pc mala y comencé a analizar el trafico que le llegaba. Simplemente se desactivan todos los programas que utilizan la red, como antivirus, actualizaciones automaticas, se detiene todo programa que utilice la red.
Luego se inicia wireshark y se espera a que "piquen" los primeros paquetes tcp.
En este caso, el flujo de informacion fue tal (y no era broadcast) que de inmediato tuve un diagnostico:
La pc tiene alguna vulnerabilidad que esta intentando ser atacada por algunas pc (infectadas) de la red las cuales pude identificar.
A veces una pc no infectada no esta libre de ser afectada por los virus. El virus confiker es un ejemplo claro ya que, anque no infecte, al intentar infectar, al bombardear constantemente a una pc vulnerable, la deja "tonta".
Una herramienta para detectar vulnerabilidades de este tipo (Gracias José Perez, socio!!)
es nmap. Este programa, en la version 5.0 tiene parametros para analizar si una pc esta comprometida al ataque de confiker o un clon.
Nmap es una herramienta de escaneo de redes para linux pero tambien puede ser instalada en windows.
El comando para analizar esa vulnerabilidad y otras es:
nmap -p445 --script=smb-check-vulns --script-args=unsafe=1 192.168.1.2
En donde 192.168.1.2 es un ejemplo de la direcion ip de una pc a analizar.
Todo muy bonito, pero el comando en cuestion me informaba que en la pc mala todo estaba bien.
Asi que opté por instalar todo cuanto pudiera en lo referente a actualizaciones de seguridad de windows xp. Despues de las actualizaciones, wireshark dejo de mostrar el enorme trafico. Todo estaba calmo.
Solo restaba probar el programa, que para mi sorpresa seguia igual de lento!!.
Siempre con el experimento de aislar la red en mente, y ahora ya mirando de reojo al switch, probé de cambiar la placa de red en la pc mala. El resultado fue que eso resolvio el problema!
Entre el switch y la placa de red hay algo que ralentiza las comunicaciones y en especial se ve afectada la comunicacion con el servidor sql.
Alentado por el buen resultado, se me ocurrio otro experimento: conecté una pc "mala" a un switch generico y este a su vez al Nortel. Eso tambien resolvio el problema. En palabras simples, el switch generico hace de interprete para que el nortel entienda a algunas placas de red.
Hizo falta un experimento mas para darme cuenta del verdadero problema, fue obvio cuando lo descubri y pensé: ¿Como no se me habia ocurrido esto antes???
Otra pc de la red presentaba el mismo problema por lo que me dedique a cambiarle la placa de red y mi segunda sorpresa en esta travesia fue que no logré mejoria al cambiar la placa.
Ahi el problema salto al instante: la placa no negocia bien el tipo de conexion.
Muchos de los que leyeron hasta aqui ya lo habran pensado ni bien inicie el relato y sí, esta bien, tienen razon. Me hubiese ahorrado mucho trabajo si hubiese forzado full duplex a maxima velocidad en la placa de red.
Este es un ejemplo real:
La red esta compuesta por:
1) Tres switches en cascada Nortel Baystack 450 con un total de 72 puertos ethernet todos ocupados
2) El tercer switch esta en cascada mediante conexion por fibra optica
3) En la red hay innumerables switches parasitos conectados por terceros en su afan de hacer funcionar camaras ip, puntos de acceso (wifi), otras pc sin acceso a puestos de red "reales"
4) Enlaces wifi de gran alcance para interconectar dos sucursales, lo que aumenta notablemente el numero de terminales y en consecuencia nodos generadores de errores.
5) La cantidad de pc, casi todas con windows xp, es tal, que la presencia de un solo virus podria provocar fallos inesperados o inexplicables.
Se presento el siguiente problema:
Luego de la instalacion de un software de gestion que utiliza conexion odbc con servidor sql, ocurrio que la operacion que en algunos terminales tardaba uno o dos segundos, en otros tardaba 20 segundos.
La primer sospecha es el rendimiento del terminal, con factores como procesador, memoria, malware, etc. Pero se determino que no era ese el problema, incluso algunas pc en las que el sistema funcionaba lento, contaban con procesadores mas potentes y mayor cantidad de memoria que aquellos en los que el sistema funcionaba bien.
Por otro lado, en cualquiera de los terminales, tanto los "buenos" como los "malos", cualquier otro sofware, sea local o de red, funcionaba bien.
El siguiente en la lista de sospechosos es el propio software que, en definitiva, es el que comenzó con los problemas. Asi que se invita a los programadores a tratar de encontrar la causa.
Mi sospecha era que en aquellas pc malas, una version erronea de mdac, o la falta de algun parche podria se el causante.
Luego de varias pruebas en las que se utilizaron herramientas de sql server para hacer consultas sql remotas se llegó a la conclusion de que el problema esta centrado en la red.
Un experimento importante para descartar un mal funcionamiento del puerto del switch, incluso del cableado, fue probar que una pc mala seguia siendo mala aun cuando se la conectaba a la red utilizando el puesto en el que funcionaba una pc buena. (eso fue facil, simplemente el patchcord de una pc cercana era sufifientemente largo como para pedirlo prestado por un par de minutos)
Aislar la red
Se conectaron en red mediante un switch generico unicamente tres pc, el servidor sql, una pc "buena" y una pc "mala".
El resultado fue que todo funcionaba perfecto, la pc buena seguia funcionando igual y la pc mala mejoró tanto que incluso funcionaba mas rapido que la "buena".
El paso anterior ayudo a aislar el problema, ya se sabia que no estaba centrado en el software de gestion, si no en la red.
En este punto fui abandonado a mi suerte, los programadores dijeron: cambia el swich y problema resuelto.
Pero hacer una inversion de unos U$S 7000.00 requiere de cierto estudio.
Pensé: si al aislar de ese modo la red las cosas funcionan bien, podria ser que las pc malas tengan una vulnerabilidad afectada por otras pc de la red infectadas con algun virus.
¿Cómo resolver ese problema, o al menos como sacarme esa duda sin morir enredado en una maraña de cables utp?
Facil: instalé Wireshark en una pc mala y comencé a analizar el trafico que le llegaba. Simplemente se desactivan todos los programas que utilizan la red, como antivirus, actualizaciones automaticas, se detiene todo programa que utilice la red.
Luego se inicia wireshark y se espera a que "piquen" los primeros paquetes tcp.
En este caso, el flujo de informacion fue tal (y no era broadcast) que de inmediato tuve un diagnostico:
La pc tiene alguna vulnerabilidad que esta intentando ser atacada por algunas pc (infectadas) de la red las cuales pude identificar.
A veces una pc no infectada no esta libre de ser afectada por los virus. El virus confiker es un ejemplo claro ya que, anque no infecte, al intentar infectar, al bombardear constantemente a una pc vulnerable, la deja "tonta".
Una herramienta para detectar vulnerabilidades de este tipo (Gracias José Perez, socio!!)
es nmap. Este programa, en la version 5.0 tiene parametros para analizar si una pc esta comprometida al ataque de confiker o un clon.
Nmap es una herramienta de escaneo de redes para linux pero tambien puede ser instalada en windows.
El comando para analizar esa vulnerabilidad y otras es:
nmap -p445 --script=smb-check-vulns --script-args=unsafe=1 192.168.1.2
En donde 192.168.1.2 es un ejemplo de la direcion ip de una pc a analizar.
Todo muy bonito, pero el comando en cuestion me informaba que en la pc mala todo estaba bien.
Asi que opté por instalar todo cuanto pudiera en lo referente a actualizaciones de seguridad de windows xp. Despues de las actualizaciones, wireshark dejo de mostrar el enorme trafico. Todo estaba calmo.
Solo restaba probar el programa, que para mi sorpresa seguia igual de lento!!.
Siempre con el experimento de aislar la red en mente, y ahora ya mirando de reojo al switch, probé de cambiar la placa de red en la pc mala. El resultado fue que eso resolvio el problema!
Entre el switch y la placa de red hay algo que ralentiza las comunicaciones y en especial se ve afectada la comunicacion con el servidor sql.
Alentado por el buen resultado, se me ocurrio otro experimento: conecté una pc "mala" a un switch generico y este a su vez al Nortel. Eso tambien resolvio el problema. En palabras simples, el switch generico hace de interprete para que el nortel entienda a algunas placas de red.
Hizo falta un experimento mas para darme cuenta del verdadero problema, fue obvio cuando lo descubri y pensé: ¿Como no se me habia ocurrido esto antes???
Otra pc de la red presentaba el mismo problema por lo que me dedique a cambiarle la placa de red y mi segunda sorpresa en esta travesia fue que no logré mejoria al cambiar la placa.
Ahi el problema salto al instante: la placa no negocia bien el tipo de conexion.
Muchos de los que leyeron hasta aqui ya lo habran pensado ni bien inicie el relato y sí, esta bien, tienen razon. Me hubiese ahorrado mucho trabajo si hubiese forzado full duplex a maxima velocidad en la placa de red.
sábado, 15 de agosto de 2009
Reparar el registro de windows luego del ataque de un virus
Luego del ataque de un virus suele ocurrir que este modifica el registro de modo tal que no es posible realizar tareas administrativas.
A continuacion copio el contenido de los archivos reg que deben importarse al registro de windows para corregir esos problemas.
Simplemente se debe copiar el contenido situado entre los asteriscos (sin incluirlos) y pegarlo en un archivo, el cual debe llevar la extension reg.
Luego, para importarlo es tan simple como hacerle doble clic y aceptar.
Si el doble clic no sirve, tal vez sirva ejecutar regedit y luego importar las claves indicando el archivo reg en cuestion, desde Archivo, Importar.
Sobre este ultimo metodo, podria ocurrir, y es lo mas probable, que al intentar ejecutar regedit.exe, este no se ejecute debido a que no funcionan los archivos ejecutables. En ese caso sirve hacer una copia:
copy regedit.exe regedit.com
Luego hay que ejecutar regedit.com en lugar de regedit.exe
Todo lo que no pueda hacerse en modo normal debe intentarse en modo seguro. Tambien, a veces, sirve cambiar de usuario para intentar hacer cosas que desde el usuario infectado no puede hacerse.
Restaurar politicas 1:
*********************************************************************************************************
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoActiveDesktopChanges"=hex:00,00,00,00
"NoActiveDesktop"=dword:00000000
"NoSaveSettings"=dword:00000000
"ClassicShell"=dword:00000000
"NoThemesTab"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"NoDispAppearancePage"=dword:00000000
"NoColorChoice"=dword:00000000
"NoSizeChoice"=dword:00000000
"NoDispBackgroundPage"=dword:00000000
"NoDispScrSavPage"=dword:00000000
"NoDispCPL"=dword:00000000
"NoVisualStyleChoice"=dword:00000000
"NoDispSettingsPage"=dword:00000000
"NoDispScrSavPage"=dword:00000000
"NoVisualStyleChoice"=dword:00000000
"NoSizeChoice"=dword:00000000
"SetVisualStyle"=-
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop]
"NoChangingWallPaper"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager]
"ThemeActive"="1"
"DllName"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,72,00,65,00,73,00,6f,00,75,00,72,00,63,00,65,00,73,00,5c,\
00,54,00,68,00,65,00,6d,00,65,00,73,00,5c,00,6c,00,75,00,6e,00,61,00,5c,00,\
6c,00,75,00,6e,00,61,00,2e,00,6d,00,73,00,73,00,74,00,79,00,6c,00,65,00,73,\
00,00,00
********************************************************************************************************
Restaurar politicas 2
********************************************************************************************************
REGEDIT4
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=-
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
********************************************************************************************************
Ejecutables:
********************************************************************************************************
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=-
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\comfile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command]
@="MSHTA.EXE \"%1\" %*"
[HKEY_CLASSES_ROOT\piffile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\regfile\shell\open\command]
@="regedit.exe \"%1\""
[HKEY_CLASSES_ROOT\scrfile\shell\open\command]
@="\"%1\" /S"
[HKEY_CLASSES_ROOT\scrfile\shell\config\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\batfile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\comfile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\exefile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\htafile\Shell\Open\Command]
@="MSHTA.EXE \"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\piffile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\regfile\shell\open\command]
@="regedit.exe \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\scrfile\shell\open\command]
@="\"%1\" %*"
******************************************************************************************************
Restaurar ver archivos ocultos
*****************************************************************************************************************************
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
"CheckedValue"=dword:1
*****************************************************************************************************************************
Restaurar ejecucion archivos bat
*****************************************************************************************************************************
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.bat]
@="batfile"
[HKEY_CLASSES_ROOT\.bat\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
*****************************************************************************************************************************
Restaurar Sistema no se puede activar
Para resolver eso iniciamos el programa gpedit.msc (inicio, ejecutar, gpedit.msc, aceptar)
Navegamos por las siguientes ramas:
Configuracion del equipo
Plantillas administrativas
Sistema
Restaurar sistema
Una vez que lleguemos aqui hacemos los siguientes cambios:
Desactivar restaurar sistema = "No configurada"
Desactivar configuracion = "No configurada"
Nota importante: si esas opciones ya estan en "No configurada", entonces cambiar el valor a "Habilitada", aplicar los cambios y luego volver a "No configurada". Eso resuelve el problema
A continuacion copio el contenido de los archivos reg que deben importarse al registro de windows para corregir esos problemas.
Simplemente se debe copiar el contenido situado entre los asteriscos (sin incluirlos) y pegarlo en un archivo, el cual debe llevar la extension reg.
Luego, para importarlo es tan simple como hacerle doble clic y aceptar.
Si el doble clic no sirve, tal vez sirva ejecutar regedit y luego importar las claves indicando el archivo reg en cuestion, desde Archivo, Importar.
Sobre este ultimo metodo, podria ocurrir, y es lo mas probable, que al intentar ejecutar regedit.exe, este no se ejecute debido a que no funcionan los archivos ejecutables. En ese caso sirve hacer una copia:
copy regedit.exe regedit.com
Luego hay que ejecutar regedit.com en lugar de regedit.exe
Todo lo que no pueda hacerse en modo normal debe intentarse en modo seguro. Tambien, a veces, sirve cambiar de usuario para intentar hacer cosas que desde el usuario infectado no puede hacerse.
Restaurar politicas 1:
*********************************************************************************************************
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoActiveDesktopChanges"=hex:00,00,00,00
"NoActiveDesktop"=dword:00000000
"NoSaveSettings"=dword:00000000
"ClassicShell"=dword:00000000
"NoThemesTab"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"NoDispAppearancePage"=dword:00000000
"NoColorChoice"=dword:00000000
"NoSizeChoice"=dword:00000000
"NoDispBackgroundPage"=dword:00000000
"NoDispScrSavPage"=dword:00000000
"NoDispCPL"=dword:00000000
"NoVisualStyleChoice"=dword:00000000
"NoDispSettingsPage"=dword:00000000
"NoDispScrSavPage"=dword:00000000
"NoVisualStyleChoice"=dword:00000000
"NoSizeChoice"=dword:00000000
"SetVisualStyle"=-
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop]
"NoChangingWallPaper"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager]
"ThemeActive"="1"
"DllName"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,72,00,65,00,73,00,6f,00,75,00,72,00,63,00,65,00,73,00,5c,\
00,54,00,68,00,65,00,6d,00,65,00,73,00,5c,00,6c,00,75,00,6e,00,61,00,5c,00,\
6c,00,75,00,6e,00,61,00,2e,00,6d,00,73,00,73,00,74,00,79,00,6c,00,65,00,73,\
00,00,00
********************************************************************************************************
Restaurar politicas 2
********************************************************************************************************
REGEDIT4
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=-
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
********************************************************************************************************
Ejecutables:
********************************************************************************************************
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=-
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\comfile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command]
@="MSHTA.EXE \"%1\" %*"
[HKEY_CLASSES_ROOT\piffile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\regfile\shell\open\command]
@="regedit.exe \"%1\""
[HKEY_CLASSES_ROOT\scrfile\shell\open\command]
@="\"%1\" /S"
[HKEY_CLASSES_ROOT\scrfile\shell\config\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\batfile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\comfile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\exefile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\htafile\Shell\Open\Command]
@="MSHTA.EXE \"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\piffile\shell\open\command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\regfile\shell\open\command]
@="regedit.exe \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\scrfile\shell\open\command]
@="\"%1\" %*"
******************************************************************************************************
Restaurar ver archivos ocultos
*****************************************************************************************************************************
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
"CheckedValue"=dword:1
*****************************************************************************************************************************
Restaurar ejecucion archivos bat
*****************************************************************************************************************************
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.bat]
@="batfile"
[HKEY_CLASSES_ROOT\.bat\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
*****************************************************************************************************************************
Restaurar Sistema no se puede activar
Para resolver eso iniciamos el programa gpedit.msc (inicio, ejecutar, gpedit.msc, aceptar)
Navegamos por las siguientes ramas:
Configuracion del equipo
Plantillas administrativas
Sistema
Restaurar sistema
Una vez que lleguemos aqui hacemos los siguientes cambios:
Desactivar restaurar sistema = "No configurada"
Desactivar configuracion = "No configurada"
Nota importante: si esas opciones ya estan en "No configurada", entonces cambiar el valor a "Habilitada", aplicar los cambios y luego volver a "No configurada". Eso resuelve el problema
Suscribirse a:
Entradas (Atom)