Una Reflexión Para Nosotros Que Somos Mexicanos…..

7 11 2008
Bandera de México

Bandera de México

Navegando por internet buscando noticias sobre el terrible accidente ocurrido el martes en el DF, donde perdió la vida el Secretario de Gobernación, Juan Camilo Mouriño (q.p.d.), encontré un audio que me hizo pensar y reflexionar un poco sobre lo que podemos hacer por mejorar al país, aquí se los dejo. Lástima que no pude encontrar al autor original, si alguien sabe, por favor, hágamelo saber.

La creencia general fue que Zedillo no servía. El año pasado se decía que Fox no sirvió, y el que está ahora después de Fox tampoco servirá para nada. Por eso estoy empezando a sospechar que el problema no está en lo ratero que fue Salinas de Gortari, en la ineptitud de Zedillo ó en lo hablador de Fox.

El problema está en nosotros, sí nosotros como pueblo, nosotros como materia prima de un país. Porque pertenezco a un país donde la viveza es la moneda que siempre es valorada tanto o más que un dólar; un país en el que hacerse rico de la noche a la mañana, es una virtud mucho más apreciada que formar una familia a largo plazo basada en valores y respeto a los demás.

Pertenezco a un país donde lamentablemente los periódicos jamás se podrán vender como se venden en otros países, es decir, poniéndolo en máquinas en las banquetas donde uno paga por un sólo ejemplar y saca un sólo periódico dejando los demás en donde están.

Pertenezco a un país donde las empresas privadas y secretarías de Estado son papelerías particulares, donde sus empleados deshonestos, que se llevan para su casa como si tal cosa hojas de papel, bolígrafos, carpetas, marcadores y todo lo que les falta sea para la tarea o la escuela de sus hijos.

Pertenezco a un país donde la gente se siente triunfar si consigue volarse la señal de cablevisión del vecino. Un país donde la gente inventa a la hora de llenar sus declaraciones de hacienda para no pagar o pagar menos impuestos.

Pertenezco a un país donde la impunidad es un hábito; donde los directivos de las empresas no generan ningún capital humano; en donde no hay interés por la ecología, en donde las personas tiran la basura en las calles, y luego le reclaman al gobierno por no dar mantenimiento al drenaje. Un país donde no existe la cultura de la lectura, no hay consciencia ni memoria de la política, no hay interés por la economía, porque solamente les interesa Hugo Sánchez y la Selección Mexicana. Un país dónde nuestros diputados y senadores trabajan pocos días al año y cobran todos los demás como si fueran altos ejecutivos.

Pertenezco a un país donde las licencias de conducir, los certificados médicos, la residencia mexicana, incluso hasta la ciudadanía mexicana se puede comprar sin hacer ningún tipo de examen.

Pertenezco a un país donde puede subir una persona de edad muy avanzada, o una mujer con el niño en brazos y la persona que viene sentada en el asiento especial para éstas personas se hace que está durmiendo para no dárselo, y si alguien le reclama se levanta para darle un golpe o decirle una mala palabra. Un país en el cuál el derecho de paso es para el automóvil y no para el peatón. Un país en dónde la gente está llena de faltas, pero que disfruta criticando a sus gobernantes y políticos; mientras más le digo ratero a Salinas, mejor soy yo como persona, a pesar de que apenas ayer compré discos y ropa pirata y además de eso me consiguieron todas las preguntas del examen de matemáticas para mañana. Mientras más le digo falso a Fox mejor soy yo como mexicano o mexicana, a pesar de que apenas ésta mañana me fregué a un cliente a través de un fraude, me fregué a mis empleados sin pagarles el tiempo extra…..

¡Ya Basta! ¡Por favor, YA BASTA!

Como materia prima de un país tenemos muchas cosas buenas, pero nos falta mucho para ser los hombres y mujeres que nuestro país necesita. Porque esos defectos, esa sagacidad congénita, esa deshonestidad, esa falta de calidad humana, más que Salinas o que Fox es lo que realmente nos tiene fregados a México. Lo siento mucho porque aunque Fox hubiera renunciado el próximo que le siga hubiera tenido que trabajar con la misma materia prima defectuosa. No tengo garantía de que alguien lo pueda hacer mejor, porque en lugar de tomar nuestros destinos en nuestras manos, jododamente estamos siempre esperando a que alguien nos señale un camino destinado. Tenemos que erradicar primero los vicios que tenemos como pueblo, y después empezar a cambiar NOSOTROS SOLITOS como mexicanos. Por eso es que nadie servirá, ni sirvió Salinas, ni sirvió Zedillo, ni sirvió Fox ni tampoco va a servir Calderón.

¿O qué, necesitamos traerte un dictador? Para que nos haga cumplir la ley con la fuerza y por medio del terror y del miedo. Aquí hace falta otra cosa, algo más inteligente que cacerolazos o paros, bloqueos y machetes; y mientras esa otra cosa no empiece a surgir de abajo hacia arriba o desde arriba hacia abajo o del centro para los lados o como sea, seguiremos igualmente condenados, igualmente estancados, igualmente fregados. Y no importa para donde te vayas, así te vayas para Europa, para Canadá,  para Estados Unidos, dondequiera que vayas siempre llevaras México dentro de ti. Si no cambias tu forma de pensar, estés donde estés seguiremos igualmente fregados.

¡Porque es muy sabroso ser mexicano y vivir a la mexicana!, pero cuando esa mexicanidad autóctona empieza a hacerle daño a nuestras posibilidades de desarrollo como nación, ahí la cosa cambia, ya que un nuevo presidente con los mismos mexicanos tampoco podrá hacer nada.

Siempre le vamos al débil o al desvalido por lástima porque nos sentimos igual de pequeños. ¡Fiesta nacional por un segundo lugar!, ¡Héroes nacionales a quienes ganan algo! porque nosotros mismos jamás creemos que vamos a ganar nada, tenemos que reflejarnos en los triunfos de otros porque los nuestros son muy escasos.  Admiramos la mediocridad a través de programas de televisión nefastos y francamente tolerantes con el fracaso, telenovelas, ¡Baila por cualquier sueño o tarugada! Es la industria de la disculpa y la estupidez.

No nos damos cuenta que en lugar de buscar nuevos mercados y apoyar al interno estamos esperando inmóviles que China nos arrase y en menos de veinticinco años; China será la potencia mundial, y en México no habrá empleos para nuestros hijos. Pero somos un pueblo de malas copias que no creamos nada original. Fíjense como somos los mexicanos, vendemos petróleo crudo  e importamos gasolina cara, pero ¡Viva la soberanía! Pobres y jodidos, pero muy soberanos.

Después de éste mensaje francamente he pensado en buscar al responsable no para castigarlo, sino para exigirle. ¡Sí, exigirle que mejore su comportamiento y que no haga que la Virgen le habla! He decidido buscar al responsable de que México esté fregado, y estoy seguro que lo voy a encontrar ésta misma tarde cuando me vea en el espejo… Ahí estará, no necesito buscarlo en otro lado. Y le voy a exigir, le voy a suplicar si es necesario que me ayude a hacer un México mejor….

¿Que opinan, me ayudan?….

Anuncios




-//Tips Para Entrevistas De Trabajo\\-

27 10 2008

Pues ya faltando solamente 37 y algo de días para graduarme, debo de confezar que he empezado a repartir los CV’s como volantes de publicidad en la esperanza de que alguna empresa solicite mis servicios… Hasta el momento no ha sido muy fructifero, pero espero que después de la “semana del graduado” que hubo aquí en el ITESM, y con las pláticas que nos dieron, mi proceso mejore, y con ello vengan más frutos.

Por lo pronto les dejaré mis anotaciones de una de las pláticas de la “semana del graduado”, de hecho la que me pareció más interesante.

**CV**

– Acordeon

– ¿Qué quieres que entienda el de enfrente,  y cómo quieres que lo entienda?

 

**Entrevista**

– “Transacción compra-venta”

– Para ver si quieres quedarte en la empresa o no, si si te ves en la empresa o no.

– El reclutador para poder verificar que el entrevistado cumpla con los requisitos.

– Cuando tengas una carta oferta ya puedes negociar el sueldo, el salario , prestaciones, etc.

– Checar gastos, y lograr ahorrar del 20~30%. PAra poder saber cuánto pedir.

– Proceso de selección -> Conseuir una carta oferta.

 

**Tipos de Entrevista**

**Entrevista Filtro**

– Realizada por un especialista d e REcursos Humanos o por una agencia especializada.

– No es una entrevista de decisión.

– Se evalúa perfil del candidato con el puesto y se determina si es un candidato con potencial que debe continuar el proceso.

– La entrevista es estructurada y planeada, por lo tanto, procurar que la entrevistas sean cocisas y directas.

 

**Entrevista Decisión**

– Realizada por el jefe inmediato

– Efocada más cuestiones técnicas.

– No necesariamente es una entrevista estructurada ni planeada.

– Se toman decisiones.

– Mostrar seguridad.

– Realizar preguntas intelifentes.

         + ¿Cuáles son los problemas del área necesitan solucionarse?

         + ¿Cuáles son los principales retos del área en el presente año, dentro de 3?

 

**Pasos de preparación**

1. Investigación de la compañía y el entrevistador.

   + Situación de la empresa en el mercado, la industria a la que pertenece, etilo del entrevistador.

   + Saber como construir la entrevista.

 

2. Empate de tus fortalezas con las de la organización. 

   + Tener en mente cuales son las fortalezas y la manera en que éstas empatan con la organización y la exigencias del puesto para resaltarlas durante la entrevista.

   + Saer en que soy bueno de las que empatan con la empresa, las digo al principio.

 

3. Investiga la personalidad de la compañía

   + Ubicar la personalidad de la empresa es muy importante para compaginalra con tu propia personalidad con el fin de potenciar más tus habilidades. 

 

4. Preparación de respuestas a preguntas difíciles.

   + Practicar respuestas para posibles preguntas dificiles.

 

5. Preparación de preguntas

   + Tomar el tiempo necesario para desarrolar preguntas de fondo para cada tipo de entrevistas.

 

6. Prácticas en voz alta. 

   + Procurar escriir un borrador y practicar ya sea en una grabación, en voz alta o con algún amigo y tomar nota de los siguientes aspectos:

       ~ Comunicación no verbal==> Postura, lenguaje corporal.

       ~ Mensaje==> Contexto del mensaje, es claro?

       ~ Comunicación verbal ==> Tono, entoncación, fluidez.

 

**Pasos de la entrevista**

1. Siempre llegar a tiempo.

   + Procurar llegar antes para prevenir contratiempos, no olvidar que es la imagen que se está transmitiendo.

   + Lo ideal es 5 minutos antes ó 5 minutos después.

 

2. Primera impresión cara a cara.

   + En la primera impresión se debe cuidar la apariencia física, la forma de vestir es vital, la ropa debe ser coordinada, limpia y preferible vestir un traje oscuro para proyectar una imagen más formal.

   + Mostrarse seguro y con vitalidad; para transmitir seguridad es recomendable ablar de manera pausada y procurar sentarse una forma relajada pero refleje interés. 

 

3. Técnicas para controlar el contenido y el flujo de la comunicación

   + Revisar los posibles temas a tratar en la entrvista.

   + Dimesionar una entrevista de trabajo

   + Método STAR

                    ~ Situation

                    ~ Task/Targets

                    ~ Activities

                    ~ Results

 

   + Ensayar tus áreas de mejora y preguntas difíciles para tí.  

     Suelto       Habilidades Naturales          Controlo

     |———————-|———————–|

 

   Simpatizo        Relación Interpersonal       Empatizo

                          Tenaz                  Necedad   

 

          ~ En la entrevista se dirán las que controlas, pues éstas tienen algo de positivo en ellas.

 ~ Las que sueltas son negativas por que no las tienes en control, no existen.

 

      + Conocer a tu entrevistador; es de gran utilidad diagnosticar su estilo de trabajo:

~ Práctico-Profesional==> Orientado a resultados, se recomienda dar respuestas concretas.

~ Amigable==> Orientado a relaciones interpersonales, no perder el objetivo de la entrevista.

~ Aventurero==> Orientados a entrevistas poco estructuradas, se recomienda estructurar la entrevista.

 

      + COnocer la personalidad e la empresa es básica:

~ Familiar==> Jefe = papá

~ Devoradora==> Jefe = $

~ Tradicional==> Jefe = Organigrama

~ Creatividad==> Jefe = Innovación

~ Pragmática==> Jefe = REsultados.

 

4. Seguimiento

+ Se recomienda evaluar el resultado de la entrevista en términos: ESTE SOY YO, Esto le he dado a la empresa y ASI SE LO HE DADO.

+ Elaorar un brief que contenga: Estilo de mi Reclutador, Estilo de la empresa, Preguntas Fáciles o Comunes, y PReguntas díficiles.

+ Mandar un mail de agradecimiento por el tiempo brindad en la entrevista con el fin de ser recordado.

 

**TIPS**

– El candidato está preparado? (Organizado, Conciso)

+ Platicame de ti

  ~ No perder demasiado tiempo en la respuesta (5~10min). Evitando detalles y puntualizar: experiencia laboral y situación actual, educación e              Historial personal.

 

+ Qué conoces de nuestra empresa?

  ~ Resalttar productos, servicios, finanzas, problemas, perfil de la empresa, historial, etc..

 

– El candidato está preparado para el puesto?

+ Cuáles han sido los mayores logros en tu empleo actual (o el último) y en tu carrera?

  ~ Referir los principales logros.

+ Cuáles son tus fortalezas

  ~ Mencionar tres y relacionarlas con el puesto.

 

– El candidato se encuentra motivado? Cuáles son sus valores, Actitudes, Se Adaptará a la posición?

+ Cuáles son las actividades que te gustan más y cuáles menos de tu actual empleo?

  ~ Menconar las que sean agradables, ser cauteloso al mencionar las que no comentantando solo una y siendo breve.

 

+ Qué es lo que piensas de tu jefe directo?

 ~ Comentar lo que se piensa y por qué, si no le agrada, encontrar lo positivo.

 

– El perfil del candidato coiuncide con el de la vacante y los criterios de seleccion?

 + Cuáles son tus metas  a mediano plazo

   ~ Comentar en primer lugar las metas profesionales que empaten con los objetivos de la empresa, en segundo lugar, las metas                    profesionales-personales y en tercer lugar las metas 100% personales.

 

– Cómo se maneja el candidato bajo stress? CUál es el nivel de confianza en sí mismo?

+ Por qué no has encontrado otro empleo antes de aplicar a éste?

  ~ Mencionar que encontrar un buen empleo toma tiempo.

 

+ Podrías estar sobrecalificado o tu experiencia podría exceder la requerida en ésta posición?

  ~ Puntuializar que los profesionistas con experiencia implican un “plus” o se puede mencionar que una empresa fuerte requiere de lideres.

 

En general identificándote con el entrevistador, dando siporte a tus habilidades, comunicandote de manera efectiva y realizando preguntas profundas puede ayudarte a ganar el puesto que deseas.

 

===== Todas éstas preguntas tienen un PARA QUÉ,   Por que me lo pregunta?, que dirección le quiero dar?, para que se lo voy a decir/ocultar?. =====

 

  ===== Los logros siempre tienen que estar en términos de %, $ ó Tiempo, tienen que ser cuantificables. Vgr==> Logré bajar el tiempo de producción.  Siempre tienen que poder definirlos en el método STAR. =====





Fear… Fear Demon….

7 10 2008
Fear
Fear Demon

In the dictionary fear is defined as:

“concern or anxiety; solicitude”

Right now while writing down these lines that’s the feeling I have all around me; the worst part is that it has actually been here for quite a few weeks now.

The feeling has invaded me because I am about to receive my Bachelor degree… the problem is that I am scared to hell of this change that is just about to happen in my life. I am not going to be the little student I have always been, the one that was an excellent student, my life is going to change, for good I hope!

The greatest problem that is involved in all this thing is that I feel the preasure of not letting down all the people that have their hopes on me, and that trust me. I really feel that so many people have their bets on me, that it is stressing just to think leting them down. I fear that I will not be good, I fear that I am laking of some knowledge, I fear… I fear… so many things…

I feel just like if the demon of fear is here besides me 24/7… what can I do?

Suggestions?   :S





Desveladas Estudiando Cosas Sin Sentido

2 09 2008

Creo que esto es algo que no voy a extrañar del ITESM, el quedarte hasta altas horas de la noche madrugada trabajando/estudiando como idiota en materias sin sentido.

Y quizá en ésta ocasión la materia no sea mala, “Procesos y Calidad en el Software”, pero lo que la mata es la maestra que nos han puesto, que la verdad con sus métodos arcaícos de enseñanza da flojera. Imagínen que se atrevió a insultar a Blackboard! Así es creo que como dice un compañero de la clase, “necesita unas buenas lecciones de lo que TEC life means” jajajajaja.

En fin… este fue un momento para despejarme y seguir estudiando, los veo luego, espero poder ya actualizar esta cosa más seguido.





¿Cómo Agregar Componentes Al Pallete De NetBeans?… (Calendario)

1 11 2007

Pues a petición de Fanny aquí va una explicación de cómo poder agregar el calendario que les comenté en posts pasados a NetBeans. Así que sin más preámbulo aquí va paso a paso.

  1. Primero abrimos NetBeans (creo que éste paso es lógico).
  2. A continuación le damos click derecho sobre el Pallete de los componentes de NetBeans y seleccionamos Pallete Manager como muestra la imagen 1.
  3. En la pantalla que nos aparece le damos el de “add from JAR…”. (imagen 2).
  4. En la siguiente pantalla buscamos la ubicación donde tenemos el JAR del Calendario que bajamos de FLib, y seleccionamos el JAR de jcalendar.jar. (imagen 3).
  5. En la siguiente pantalla seleccionamos los dos componentes, esto es para que nos agregre tanto el Combo como el calendario en sí. Y le damos Next. (imagen 4).
  6. A continuación seleccionamos la categoría en donde deseamos que agregue los componentes. Y le damos finish. (imagen 5).
  7. Uno creería que con eso basta, pero debemos de recordar que lo que acabamos de agregar es un “programa” de java que vamos a estar usando o “llamando” desde otra aplicación, por lo que es necesario agregarlo a las librerias de nuestra aplicación. Para hacerlo le damos click derecho en la carpeta de Libraries de nuestro proyecto y seleccionamos “Add Library”. (imagen 6).
  8. En la pantalla que aparece le damos en “Manage Libraries” (imagen 7).
  9. En la siguiente le damos en “New Library” la cuál nos desplegará un ciálogo donde debemos de poner el nombre de la librería. (imagen 8 & imagen 9).
  10. Después de darle aceptar, debemos de agregar el JAR del calendario a la nueva librería, para hacerlo le damos en “Add JAR/Folder”. Donde nos aparecerá un diálogo donde debemos de seleccionar nuevamente el JAR del calendario en donde lo tengamos guardado.(imagen 10).
  11. Después le damos en OK, seleccionamos la librería que acabamos de agregar, y le damos Add Library (imagen 11).

Después de seguir estos sencillos pasos ya podremos agregar el componente de calendario tan sencillo como agregamos un botón a nuestra aplicación.





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!.





Algoritmos De Búsqueda

25 10 2007

Algoritmo A* De BúsquedaMap

El algoritmo A* es usualmente utilizado en los problemas para encontrar la mejor ruta o camino, lo que realiza el algoritmo es construir todas las rutas desde un punto inicial hasta encontrar alguna que llegue al nodo final o meta. De éste modo solamente construye aquellas rutas que son candidatas a formar una solución o camino desde el inicio hasta el nodo final.


Para poder determinar que rutas son las que tienen mayor probabilidad de llegar al nodo meta, el algoritmo utiliza una heurística basada en la distancia de cualquier punto dado hacía la meta. Donde se diferencia el algoritmo A* de otros algoritmos avaros de “best-first search” es el hecho de que va tomando en cuenta la distancia que ya ha recorrido hasta el momento, haciendo de este modo una respuesta mucho más completa y óptima.

A* es una combinación entre los algoritmos de búsqueda de anchura con algoritmos de profundidad, esto debido a la función que utiliza f(n)= g(n)+h(n), dónde h(n) [que tiende primero a profundidad] representa el valor heurístico del nodo a evaluar y g(n) [que tiende a primero en anchura] representa el costo real del camino recorrido para poder llegar al nodo. Lo anterior lo posibilita a cambiar de camino de búsqueda cuando se encuentra un camino que pareciera ser más óptimo.
Los usos que se le pueden dar a éste algoritmo son el de trazar las rutas para llegar de una ciudad a otra, algo como lo que tiene la Secretaría de Comunicaciones y Transportes para trazar la ruta de una ciudad a otra sacando el menor costo y recorrido posible. La aplicación se llama “Traza Tú Ruta”
.

Algoritmo “Best-First-Search”
Éste algoritmo es una optimización de “breadth-first search” y lo mejora al expandir el nodo más prometedor a través de alguna regla dada. Lo que intenta realizar el algoritmo es estimar el porcentaje de probabilidad de que el nodo “n” sea la mejor opción al utilizar una heurística de evaluación de una función f(n), que depende mayormente en la descripción de “n”, es decir en la habilidad para poder describir la meta y la información que se conoce hasta el punto en el que el algoritmo se encuentra así como cualquier otra información que sea relevante para el problema.


Así el algoritmo busca predecir que tan cercano a una solución es un camino dado, esto lo realiza extendiendo los caminos que se encuentran más cercanos a dicha solución primero, el modo específico de búsqueda se conoce como “greedy best-first search”. La implementación más eficiente para la selección del mejor candidato por extensión es a través de una cola de prioridad.
domino
Creo que uno de los mejores uso que se le puede dar a éste algoritmo es la teoría de juego. Podemos ver claramente como la computadora va a ser capaz de ir seleccionando “la mejor opción hasta el momento” para ganar, o ir prediciendo cuales son los movimiento que podrán seguirle a cierta tirada.


Aunque debemos de tener en cuenta que no podrá ser aplicable para todos los juegos puesto que por ejemplo en el ajedrez simplemente para el 4to movimiento el número de posibles jugadas o movimientos es de 9,100,000, y este es un número que va aumentando exponencialmente, llegando a un total posible en el orden de los veinte septillones, es decir 20×1042.

Simulated Annealing
Éste es un algoritmo de probabilidad que busca y localiza la mejor aproximación posible para el resultado óptimo de una función dada dentro de un universo de búsqueda amplio. Se utiliza generalmente cuando el campo de búsqueda es discreto, por ejemplo los tours que visitan determinadas ciudades.


Su nombre y la idea principal provienen del método en la metalurgia de recocido, que conllevan el calentamiento y enfriamiento controlado de los materiales para elevar el número de cristales y reducir sus defectos.recocido
En éste algoritmo cada punto “s” del universo de búsqueda es comparado con el estado de algún sistema físico, y la función que se utiliza E(s) es interpretada como la energía interna del sistema en ese estado dado. La meta es llevar al sistema de un punto aleatorio inicial a un estado en el cual éste tenga la menor cantidad posible de energía.


En cada paso el algoritmo considera a algunos de los vecinos del actual estado “s”, y probabilísticamente calcula y decide si debe de moverse a alguno de ellos. Las probabilidades son escogidas de tal forma que el sistema tienda a tener menor cantidad de energía. Éste paso es repetido uno número de iteraciones determinadas por el programador o hasta que se alcance un estado de energía que sea aceptable para el sistema.

Para poder aplicar éste algoritmo a un problema en específico es necesario que uno le proporcione los siguientes parámetros: el universo de estados, la meta en energía de la función E(s), la forma de generar a los candidatos a través de una función vecinos(), el nivel de aceptación probabilística en función P() y el itinerario de recocido temp(). Todos estos parámetros tienen un impacto significativo en la eficiencia del método. Lamentablemente no existe un modo de determinar que opciones de valores serán los mejores para cada problema, y no hay forma de encontrarlos para u n problema en específico.

Su uso puede ser para cualquier problema de búsqueda de mejor camino, o mejor opción siempre y cuando se puede generar los parámetros arriba mencionados que se necesitan para el funcionamiento del mismo.

Hill Climbing
Éste algoritmo pertenece a los de búsqueda local, y su implementación es bastante sencilla lo cual lo hace muchas veces la opción favorita por muchos a pesar de que existan algoritmos que puedan dar mejores y más exactos resultados.

El algoritmo puede ser utilizado en la resolución de problemas que tienen varias posibles soluciones pero en las cuales algunas son mejores que otras. El algoritmo se comienza con una de estas soluciones escogidas al azar. Y poco a poco va buscando una mejora a dicha solución, por más mínima que ésta sea. Hasta que el algoritmo llega a un punto en el que ya no puede encontrar ninguna mejora a la solución y es entonces cuando termina. Por lo general cuando llega a éste punto la solución es bastante cercana a la más optima, aunque nunca se puede garantizar que llegue a la óptima.

Lo que realiza el algoritmo es el buscar maximizar o minimizar una función f(x) dada, donde “x” se refiere a estados discretos del problema. Estos estados usualmente son representados por vértices en una gráfica. Así el algoritmo va a seguir una gráfica de vértice a vértice, siempre aumentando o disminuyendo localmente el valor de la función hasta encontrar un máximo o mínimo local.

Ant Colony Optimization
Es un algoritmo que utiliza probabilidad para solucionar problemas computacionales a través de la búsqueda de los mejores caminos en un grafo. Está inspirado en el modo en como las hormigas pueden encontrar el mejor camino hacía su colonia desde un punto dado.

Básicamente lo que éste algoritmo hace es tener una o varías hormigas dentro del grafo que van a ir recorriendo dicho grafo a través de diferentes caminos y/o decisiones, y van a ir depositando un valor de “feromona” en los caminos que utilizen para realzar la importancia del mismo. Cada feromona en el camino va a ir disminuyendo un porcentaje que el programador decide, esto es para que si éste durante un dado periodo no es visitado pierda la importancia.

De éste modo el algoritmo va a ir encontrando un camino óptimo para poder visitar todos los nodos del algoritmo de una manera sencilla (no se puede asegurar que la más óptima). El algoritmo se corre tantas veces como el programador lo requiera o hasta que no exista alteraciones sustanciales en los valores del camino encontrado, lo cual indica que el algoritmo a llegado a un punto estable.

Éste algoritmo se puede utilizar para encontrar las mejores (no se sabe si óptimas) rutas para visitar cierto “universo” de ciudades o lugares dados, o como lo mencioné en un principio cualquier problema computacional que pueda ser representado a través de grafos.