CrossLoop…. Excelente Para Asistencia Remota

30 12 2007

CrossLoopAlguna vez se han visto en la situación de recibir una llamada/mail/mensaje diciendo algo como lo siguiente: “Hola, oye figurate que tengo un pequeño problemita con mi computadora y pues es que quisiera ver si tu pudieras ayudarme, sé que le sabes a esto de las computadoras.” Y es entonces cuando te ves envuelto en una espiral interminable de que te esté describiendo a través del teléfono los “sintomas” (mensajes de advertencia, error, íconos, etc.) que le aparecen, que es lo último que hizo antes de que apareciera el error, y así te la pasas por lo menos por unos 15 a 30 minutos.

Todo para que resulte en algo que se puede solucionar con unos cuantos clicks, que si tú estuvieras presente en donde está la computadora lo resolverías en menos de 5 minutos, pero como no estas allí tienes que describir con lujo de detalle cada uno de los clicks y movimientos que tiene que realizar para solucionar su problema.

Ah! y no hablemos de utilizar la asistencia remota que ofrece Chafasoft, digo perdón, Microsoft, puesto que el sólo hecho de intentar hacer que funcione haría más tediosa la idea….

Ahora bien después de ésta breve introducción, vayamos al punto de éste post, que es un programa que nos facilitará mucho el trabajo de realizar la asistencia remota para nuestros amigos y familiares.

El programa del que hablo es CrossLoop que es un pequeño software (y vaya si es pequeño 2.3 Mb) que se puede descargar de manera gratuita del mismo sitio y que nos permitirá tener todas las funcionalidades y un poco más de las que nos brinda la asistencia remota, pero de una manera mucho más sencilla.

El software tiene dos partes, uno para el que pide la ayuda y otro para el que la dará. sólo basta que la persona que requiera de tu asistencia te pase su código de acceso y que tu lo introduzcas a tu parte del programa y de allí le dan conectar y tu amigo o familiar te autoriza el acceso a su computadora y ya listo tendras el control de realizar las reparaciones (de configuración, no de hardware jejeje) remotamente.

A mi me parece una muy buena utilidad y de hecho a toda computadora de mis familiares y amigos que tengo cerca en algún momento se lo instalo, para que así cuando me soliciten ayuda yo se las pueda brindar de una manera más eficaz.

Anuncios




¡Oooops! ¡Excel Ha Fallado!

19 11 2007

exUno esperaría que una aplicación de una empresa tan seria, eficiente, multimillonaria como Microsoft pudiera realizar una simple operación matemática como una multiplicación. Pero resulta que tiene un ligero detalle, Excel 2007 no puede realizar una simple multiplicación con dos cifras en especial 850 y 77.1.

Así es, si en cualquier hoja de Excel 2007 ponemos la operación 850 x 77.1 pues nos va a dar de resultado 100,000 cuando el resultado que arroja cualquier calculadora de mercado es 65,535. Creo que Microsoft debería de poner un poco más de cuidado al realizar sus aplicaciones, puesto que Excel es una herramienta que es utilizada por muchas compañías e inclusive hasta el gobierno para realizar cálculos como nóminas, impuestos, inventarios, etc.

Imaginemos que pasa si por ejemplo un trabajador que gana (en algún país ideal… no en México) $850.00 pesos por día laborado, y por algún motivo laboro durante el periodo de nómina 77.1 días, cuando el contador de la empresa que utiliza Microsoft Excel 2007 para realizar los libros de pagos introduce los datos de días laborados por el salario que recibe la persona, pues resultaría que nuestro trabajador va a cobrar $100,000.00 pesos ese periodo de pago… De una manera no premeditada la empresa estaría perdiendo $34,465.00 pesos si la nómina no es revisada y el error detectado.

Éste es un grave problema que nos pone a pensar en la seguridad que nos puede llegar a dar Microsoft con sus productos, será que no solamente nos seguirán ocasionando dolores de cabeza y molestias cuando Windows se travé, sino que ahora tendremos que preocuparnos por si Excel hace bien los cálculos…..

¡Bien Billy, sigue así!





Servidor Radius II

30 10 2007

Retomando este tema seguiré exponiendo la información sobre los servidores Radius.

Existen algunos mensajes definidos por los RFC 2865 y 2866:

Access-Request→ Enviado por un cliente RADIUS para solicitar autenticación y autorización para conectarse a la red. Debe contener el usuario y contraseña (ya sea de usuario o CHAP); además del puerto NAS, si es necesario.

Access-Accept→ Enviado por un servidor RADIUS en respuesta a un mensaje de Access-Request. Informa que la conexión está autenticada y autorizada y le envía la información de configuración para comenzar a usar el servicio.

Access-Reject→ Enviado por un servidor RADIUS en respuesta a un mensaje de Access-Request. Este mensaje informa al cliente RADIUS que el intento de conexión ha sido rechazado. Un servidor RADIUS envía este mensaje ya sea porque las credenciales no son auténticas o por que el intento de conexión no está autorizado.

Access-Challenge→ Envío de un servidor RADIUS en respuesta a un mensaje de Access-Request. Este mensaje es un desafío para el cliente RADIUS. Si este tipo de paquete es soportado, el servidor pide al cliente que vuelva a enviar un paquete Access-Request para hacer la autenticación. En caso de que no sea soportado, se toma como un Access-Reject.

Accounting-Request→ Enviado por un cliente RADIUS para especificar información de cuenta para una conexión que fue aceptada.

Accounting-Response→ Enviado por un servidor RADIUS en respuesta a un mensaje de Accounting-Request. Este mensaje reconoce el procesamiento y recepción exitosa de un mensaje de Accouting-Response.

Para la implementación del servidor RADIUS, utilizamos las siguientes herramientas de hardware y software:

  • Una laptop con Linux que fungirá como servidor RADIUS (en nuestro caso, Ubuntu).
  • Un Access Point-Router WRV200 Business Service.
  • Laptops con tarjetas inalámbricas usadas como clientes.
  • FreeRADIUS como servidor.
  • MySQL para el almacenamiento de datos de usuarios.

A continuación se presentan los pasos a detalle seguidos para la configuración de FreeRADIUS.

Instalación

Actualmente, FreeRADIUS permite su instalación mediante la descarga y compilación del código fuente. Sin embargo, para su mejor manejo, resulta más práctico convertir el código fuente en un paquete Debian e instalarlo desde el mismo. Para ello, primero se instala lo siguiente para la construcción de paquetes Debian. Cabe mencionar que build-essential no funciona en cualquier sistema Debian.

# apt-get install build-essential
# apt-get install apt-src

Posteriormente, se actualizan las listas de paquetes disponibles (para que se descargue la versión más actual en los repositorios), se crea el directorio donde se guardará FreeRADIUS y se descarga.

# apt-src update
# mkdir ~/build_freeradius

# cd ~/build_freeradius

# apt-src install freeradius

El documento ‘rules’ en ‘~/build_freeradius/freeradius-1.1.3/debian’ debe modificarse para que las siguientes líneas se vean así:

#buildssl=--without-rlm_eap_peap --without-rlm_eap_tls
--without-rlm_eap_ttls --without-rlm_otp --without-rlm_sql_postgresql

--without-snmp
#modulelist=krb5 ldap sql_mysql sql_iodbc
buildssl=--with-rlm_sql_postgresql_lib_dir=`pg_config --libdir`
--with-rlm_sql_postgresql_include_dir=`pg_config --includedir`
modulelist=krb5 ldap sql_mysql sql_iodbc sql_postgresql

Esto hará que FreeRADIUS se instale con los módulos que necesitamos.

El archivo ‘control’, en el mismo directorio, debe verse así:

Source: freeradiusBuild-Depends: debhelper (>= 5), libltdl3-dev, libpam0g-dev, libmysqlclient15-dev | libmysqlclient-dev, libgdbm-dev,libldap2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch (>= 2),libperl-dev, libtool, dpkg-dev (>= 1.13.19), libssl-dev, libpq-devBuild-Conflicts:

Esto hará que FreeRADIUS se asocie con las librerías que requiere para funcionar. En nuestro caso, principalmente, MySQL y SSL
Ahora se ejecutan los siguientes comandos para actualizar el archivo ‘control’ y para instalar las librerías sin problemas:

# cd ~/build_freeradius/freeradius-1.1.3/debian# cat control.postgresql >> control# apt-get install libssl-dev libpq-dev

Ahora deben cambiarse las siguientes líneas en el archivo ‘changelog’ encontrado en el directorio ‘~/build_freeradius/freeradius-1.1.3/debian/’.

freeradius (1.1.3-3ubuntu1tls) feisty; urgency=low* Add tls support for compilation-- reauthor <reauthor@gmail.com> Fri, 16 Mar 2007 20:22:40 +0200

Finalmente, se escriben los siguientes comandos para construir el paquete e instalarlo. Además, se requirió la instalación del paquete de conexión de FreeRADIUS con MySQL llamado: ‘freeradius-mysql_1.1.3-3ubuntu1tls_i386.deb’.

# cd ~/build_freeradius# fakeroot dpkg-buildpackage -b –uc freeradius# dpkg -i freeradius_1.1.3-3ubuntu1tls_i386.deb# dpkg -i freeradius-mysql_1.1.3-3ubuntu1tls_i386.deb

Al instalarse los paquetes, se ejecutan; para poder configurarlos, deben pararse con el siguiente comando:

# /etc/init.d/freeradius stop

Configuración

FreeRADIUS cuenta con diversos archivos que deben configurarse para lograr que funcione como se requiere. Los principales son: radiusd.conf, users, clients.conf, sql.conf y eap.conf, todos localizados en /etc/freeradius. A continuación se describe la configuración que debe haber en cada uno de ellos. Lo más importante se marca con rojo.

Radiusd.conf

Aquí solamente es necesario cambiar los argumentos relacionados con SQL, EAP y la configuración del dominio al que los clientes se conectarán. SQL se configura para que RADIUS se conecte a él para comparar la información de autenticación. EAP es el protocolo para la autenticación de usuario, usada normalmente en redes inalámbricas.
Este archivo de configuración es demasiado largo así que aquí sólo se presentan las secciones de interés que fueron modificadas. Para comenzar, debe sustituirse todo ${confdir} encontrado en el archivo por el directorio actual de FreeRADIUS, en nuestro caso ‘/etc/freeradius’.

modules { pap {auto_header = yes}chap {

authtype = CHAP}

pam {pam_auth = radiusd

}unix {

cache = nocache_reload = 600

radwtmp = ${logdir}/radwtmp}

$INCLUDE /etc/freeradius/eap.confmschap {

authtype = MS-CHAPuse_mppe = yes

require_encryption = yesrequire_strong = no

# Windows envía un nombre de usuario como DOMINIO\usuario;
# pero, en la respuesta a Challenge, sólo envía el
# usuario. Esto provoca un error. Al colocar sí en este
# hack, el error se corrige.with_ntdomain_hack = yes

}ldap {

server = "ldap.your.domain"basedn = "o=My Org,c=UA"

filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"start_tls = no

access_attr = "dialupAccess"dictionary_mapping = ${raddbdir}/ldap.attrmap

ldap_connections_number = 5timeout = 4

timelimit = 3net_timeout = 1

}...

preprocess {huntgroups = /etc/freeradius/huntgroups

hints = /etc/freeradius/hintswith_ascend_hack = no

ascend_channels_per_line = 23# Mismo motivo que el pasado, pero para hacerlo en el

# preprocesamientowith_ntdomain_hack = yes

with_specialix_jetstream_hack = nowith_cisco_vsa_hack = no

}...

ippool main_pool {# Se coloca el rango de IPs disponibles y la máscara de

# redrange-start = 192.167.1.1

range-stop = 192.167.1.254netmask = 255.255.255.0

cache-size = 800session-db = ${raddbdir}/db.ippool

ip-index = ${raddbdir}/db.ipindexoverride = no

maximum-timeout = 0}

}
instantiate { execexpr}authorize {

preprocesschap

mschapsuffix

# EAP, activa el protocolo EAP para autorización. FILES, hace que

# se lea el archivo ‘users’. SQL, hace que se entre a la base de# datos de MySQL para buscar los datos del cliente.

eapfiles

sql}

authenticate {Auth-Type PAP {

pap}

Auth-Type CHAP {chap

}Auth-Type MS-CHAP {

mschap}

unix# Habilita la autenticación EAP

eap}

preacct {preprocess

acct_uniquesuffix

}accounting {

detailunix

radutmp# Lee las cuentas localizadas en la base de datos de MySQL

sql}

session {radutmp

# Usa MySQL en el manejo de sesionessql

}post-auth {

# Usa MySQL para las tareas de post-autenticaciónsql

}pre-proxy {

}post-proxy {

eap}

Sql.conf
Se decidió usar MySQL como backend para los usuarios de RADIUS debido a que permite administrarlos de forma simple y flexible. Es más sencillo agregar campos a una base de datos (que puede hacerse incluso desde una aplicación de escritorio o web) que modificar los archivos de configuración de FreeRADIUS.
Una vez que en el archivo de configuración ‘radiusd.conf’ se ha activado el soporte para SQL, debemos configurar el archivo ‘sql.conf’ que contiene información sobre el servidor SQL y las consultas que se deben hacer para obtener la información de los usuarios.
En las primeras líneas se da información sobre el servidor SQL, después viene la definición de las tablas y, por último, las consultas. Las consultas no se colocaron en este archivo, pero pueden verse en el archivo adjunto.

sql { driver = "rlm_sql_mysql"
 # Es importante colocar el IP del servidor. El usuario root o el

 # usuario que tenga permisos a la base de datos ‘radius’ que
 # después crearemos. Finalmente, se coloca la contraseña de este
 # usuario.
   server = "localhost"
   login = "root"
   password = "alipi"

 # Definición de base de datos y tablas

radius_db = "radius"acct_table1 = "radacct"

acct_table2 = "radacct"postauth_table = "radpostauth"

authcheck_table = "radcheck"authreply_table = "radreply"

groupcheck_table = "radgroupcheck"groupreply_table = "radgroupreply"

usergroup_table = "usergroup"nas_table = "nas"

deletestalesessions = yessqltrace = no

sqltracefile = ${logdir}/sqltrace.sqlnum_sql_socks = 5

connect_failure_retry_delay = 60sql_user_name = "%{User-Name}"

...}

Eap.conf
Se configura este archivo para que EAP (Extensible Authentication Protocol) funcione como protocolo de autenticación. EAP se utilizará como PEAP (Protected EAP). El cual, a su vez, usará MSCHAPV2 (Microsoft Challenge-Handshake Authentication Protocol). Además se requiere establecer la lista de certificados.

eap { # Se le dice que use PEAPdefault_eap_type = peaptimer_expire = 60

ignore_unknown_eap_types = nocisco_accounting_username_bug = no

md5 {}

leap {}

gtc {auth_type = PAP

}tls {

# Se cambian los ${raddbdir} por /etc/freeradiusprivate_key_password = whatever

private_key_file = /etc/freeradius/certs/cert-srv.pemcertificate_file = /etc/freeradius/certs/cert-srv.pem

CA_file = /etc/freeradius/certs/demoCA/cacert.pemdh_file = /etc/freeradius/certs/dh

random_file = /dev/urandom}

# Se le dice que use MSCHAPV2peap {

default_eap_type = mschapv2}

mschapv2 {}

}

Una vez configurado este archivo, deben crearse ligas simbólicas a los certificados que EAP necesita, para que pueda localizarlos. Para ello, se entra al directorio donde se guardan los certificados y se ejecuta un rehash.

# cd /etc/freeradius/certs# c_rehash

Users
Este archivo es el que contiene la información de los usuarios que pueden acceder a la red, en caso de que no se use otro método. En nuestro caso, este archivo no tiene mucho uso puesto que se usó una base de datos en MySQL. Todas las configuraciones que tengan como usuario DEFAULT, son las que se asignarán a los usuarios en caso de que no estén especificadas para ellos.

Clients.conf
Aquí se especifican los IPs o subredes desde las cuales se aceptarán peticiones. Si llega una petición de acceso desde un IP que no esté registrado aquí, el servidor RADIUS simplemente la ignora, negándole el acceso. En nuestro caso se acepta al localhost y al AP que enviará las solicitudes.

client 127.0.0.1 { secret = supersecretradiuskey

shortname = some_name 	  }

client 192.167.1.1 { # Esta clave es el shared secret que usará el AP para comunicarse

secret = lolo shortname = linksys-g

}

Todos estos archivos se encuentran adjuntos a la práctica para poder observarlos más a detalle. Con esto se da por finalizada la configuración del servidor RADIUS.
Para correr FreeRADIUS, una vez hechas todas estas modificaciones, se escribe el comando:

# /etc/init.d/freeradius start

Sin embargo,

# freeradius -X

permite observar todas las operaciones que se están llevando a cabo.

Configuración de MySQL
FreeRADIUS hace uso de una base de datos llamada radius.
Primero se entra a MySQL y se ejecuta el siguiente comando, para crearla:

mysql> create database radius;

Después, en la línea de comandos, se hace lo explicado abajo, lo cual correrá un script que FreeRADIUS trae consigo:

# cd /usr/share/doc/packages/freeradius/doc/examples/# mysql –u root -p radius < mysql.sql

Así ya se cuenta con una base de datos para la autenticación. Las tablas más importantes son:

  1. usergroup: Aquí se define a qué grupo pertenece cada usuario. Sus atributos son:
    • id. Identificador de registro.
    • UserName. Nombre de usuario.
    • GroupName. Grupo al que pertenece el usuarios
  2. radcheck: Aquí se definen las contraseñas de cada usuario. Sus atributos son:
    • id. Identificador de registro.
    • UserName. Nombre de usuario.
    • Attribute. Tipo de contraseña. En nuestro caso, ‘User-Password’.
    • Op. Es el operador que se usará para la comprobación. Para nosotros ‘==’.
    • Value. La contraseña.
  3. radreply: En esta tabla se definen los atributos sobre la conexión y sesión de los usuarios; por ejemplo, IP asignada y tiempo de espera máximo. En nuestro caso, permitimos que se asignen los de DEFAULT contenidos en el archivo ‘users’; por lo tanto, no insertamos nada en la tabla.
  4. radgroupreply: Similar a radcheck pero permite establecer atributos a un grupo de usuarios completo. Atributos:
    • id. Identificador de registro.
    • GroupName. Nombre de grupo.
    • Attribute. Nombre del atributo que se quiere agregar.

Nosotros sólo hicimos uso de uno, el tipo de autenticación: ‘Auth-Type’.
Op. Es el operador que se usará para la comprobación. Para nosotros ‘:=’.
Value. El valor del atributo. Nuestro Auth-Type es ‘EAP’.

Después de realizar todos los pasos anteriores todavía nos falta el configurar el AP para que realmente utilice el Radius para la autenticación, ésto lo encontraras en el siguiente archivo, que también contiene todo lo anterior; decidí subir el archivo y publicar lo anterior porque a la mayoría de las personas únicamente les interesará el configurar el Servidor Radius, y a otros pocos ya el utilizarlo en alguna aplicación como es la implementación de la autenticación en un AP.

El archivo lo puedes conseguir dando click aquí.

Sin más esperando que les sea útil, y agradeciendo a los miembros de mi equipo nuevamente por su coolaboración en la realización del práctica (del cuál el archivo es el reporte de práctica) me despido hasta el próximo post!.





Servidor Radius

30 09 2007

Publico ésta entrada debido a que este mes una de las prácticas de Redes III con el maestro Yuhsi Takahashi fue montar el servidor RADIUS, y en verdad me parece algo interesante.

RADIUS es un protocolo ampliamente usado en el ambiente de redes, para dispositivos tales como routers, servidores y switches entre otros. Es utilizado para proveer autenticación centralizada, autorización y manejo de cuentas para redes de acceso dial-up, redes privadas virtuales (VPN) y, recientemente, para redes de acceso inalámbrico.
Puntos importantes:

  • Los sistemas embebidos generalmente no pueden manejar un gran número de usuarios con información diferente de autenticación. Requiere una gran cantidad de almacenamiento.
  • RADIUS facilita una administración centralizada de usuarios. Si se maneja una enorme cantidad de usuarios, continuamente cientos de ellos son agregados o eliminados a lo largo del día y la información de autenticación cambia continuamente. En este sentido, la administración centralizada de usuarios es un requerimiento operacional.
  • Debido a que las plataformas en las cuales RADIUS es implementado son frecuentemente sistemas embebidos, hay oportunidades limitadas para soportar protocolos adicionales. Algún cambio al protocolo RADIUS deberá ser compatible con clientes y servidores RADIUS pre-existentes.

Un cliente RADIUS envía credenciales de usuario e información de parámetros de conexión en forma de un mensaje RADIUS al servidor. Éste autentica y autoriza la solicitud del cliente y envía de regreso un mensaje de respuesta. Los clientes RADIUS también envían mensajes de cuentas a servidores RADIUS.
Los mensajes RADIUS son enviados como mensajes UDP (User Datagram Protocol). El puerto UDP 1812 es usado para mensaje de autenticación RADIUS y, el puerto UDP 1813, es usado para mensajes de cuentas RADIUS. Algunos servidores usan el puerto UDP 1645 para mensajes de autenticación y, el puerto 1646, para mensajes de cuentas. Esto último debido a que son los puertos que se usaron inicialmente para este tipo de servicio.

A continuación una forma gráfica de cómo sirve RADIUS:

RADIUS

 

Posteriormente postearé cómo configurar para que tú puedas montarlo en tú propia red… pero por el momento no lo considero pertinente…. 🙂 Mantente al pendiente!

P.D. Agradezco a mi equipo por su coolaboración en la realización de ésta práctica 🙂





IMG00XX.zip Por MSN Messenger

17 09 2007

Actualmente existe un virus que se transmite a través de nuestro fiel programa de chateo el MSN MessengerMSN.

Utiliza las siguientes frases para engañar a las víctimas:

 

  • oye voy a poner esa foto de nosotros en mi myspace 😀
  • debes poner esa foto como foto principal en tu myspace o algo
  • oye voy a agregar esa foto a mi blog ya
  • voy a poner esa foto de nosotros en mi blog ya
  • el lol mi hermana quisiera que le enviara este álbum de foto
  • hola esas son las fotos
  • hey i’m going to add this picture of us to my weblog
  • jaja recuerda cuando tuviste el pelo asi
  • lol remember when you used to have your hair like this

Si alguno de tus usuarios te dice alguna de las frases anteriores no aceptes el archivo que te está mandando, pues lo más seguro es que se trate de éste nuevo virus Backdoor.Win32.SdBot, Trojan.Win32.Agent.axx o algun similar.

El virus envía en un periodo de entre 10 y 15 minutos un archivo IMG0012.ZIP, Z058_jpg.zip, F0538_jpg.zip, p0017_jpg.zip, IMG0024.zip de entre 33 Kb y 500 Kb, acompañado por lo general de una de las frases de arriba a los usuarios que estén en la lista de contactos del infectado.

Por lo general si tenemos nuestro antivirus actualizado a su versión más reciente de definiciones nos detectará y corregirá el virus, pero de no hacerlo podemos utilizar alguna herramienta especializada para esto como: MSNCleaner.