Hay momentos donde necesitamos tener plena seguridad de que los datos que son transmitidos desde nuestra máquina hacia internet no son leídos por terceros (¡eso sería siempre!), cómo cuando vamos a un café con wireless disponible ó un congreso lleno de ávidos “hackers” todos con sus sniffers llenando sus logs de contraseñas de terceros y luego aparecen los blogs de “hackers éticos” “defaceados” (ñ_ñ). En fin, necesitamos seguridad, y no todo lo que usamos se encuentra bajo SSL, ó no sabes que tiene la opción, por ejemplo, ¡levante la mano quien usa twitter con https!. Hay otras situaciones molestas como cuando un maldito proxy nos filtra contenido, no podemos ver todos los sitios ó usar todos los servicios que necesitamos, o simplemente nos cierran puertos que necesitamos, como el sagrado IRC.

Bien, para todos estos males existen los túneles SSH, quienes realizan una conexión segura, encriptada, y desde un servidor remoto, por lo que nuestro origen queda anónimo. Todo lo que necesitas es una máquina en una red externa (típicamente un servidor) en la que tengamos acceso ssh. Según la necesidad, podemos requerir de 3 diferentes esquemas:

  1. Estás tras un proxy y no te deja salir a todas las redes o te filtra sitios que realmente necesitas. ¡Tú necesitas Dynamic application-level port forwading!
  2. Te cerraron los puertos y necesitas acceder a algún servicio del servidor A con el puerto XX. ¡Tú necesitas Local Port forwarding!
  3. Estás tras un router, con ip privada y necesitas que alguien entre a algún servicio de tu máquina sea HTTP, SSH, FTP, etc. ¡Tú necesitas Reverse Port Forwarding! (también llamado Remote port forwarding)

1. Dynamic application-level port forwarding

El esquema mas sencillo, funciona como un proxy para cualquier aplicación para cualquier servicio, SMTP, HTTP, POP, IMAP, etc. Bajo este esquema, puedes redireccionar todo el tráfico de un puerto local hacia un servidor remoto a través de otro servidor “de redirección” para cualquier tipo de aplicación que trabaje con protocolo Socks, aunque en la mayoría de los casos si no lo soporta puedes forzarlo con una utilidad que veremos mas adelante. En pocas palabras, haces que un servidor B baje por ti el contenido del servidor A y lo reenvíe a tu máquina local.

El escenario es el siguiente, tienes tu maquina “local” restringida, y tienes acceso a “shell.server.tld” y quieres usar la conexión abierta de “shell.server.tld” para que te reenvíe todo hacia “local”, esto lo hacemos mediante:

fulanito@local $ ssh -N -D 8888 shell.server.tld

La opción -N es para que no lanze ningún comando al hacer la conexión, solo establezca el tunel. Puedes añadir -f para que además se vaya a background. Y claro añade las opciones que necesites como -pPuerto -lUser, etc. para realizar la conexión ssh.

Y listo!, ahora vamos al Firefox (¿que?, ¿que no usas firefox? ¿en que mundo vives? osea jelou!) y en Edit->Preferences->Advanced->Network->Settings , seleccionamos “Manual proxy configuration” y en la entrada de text de “Socks Host” metemos 127.0.0.1 puerto 8888, desde luego puedes cambiar el puerto por otro aquí y en el comando ssh. ¡Presto! ahora ve a tu firefox y abre, digamos, http://www.whatismyip.org/, verás como ya estás saliendo desde la ip del servidor “shell.server.tld”

Si estas usando algún programa que no soporte Socks, puedes instalar “tsocks” y configurar en /etc/tsocks.conf la conexión. Por ejemplo hasta el final del archivo yo tengo:


server = 127.0.0.1
server_type = 5
server_port = 8888

Ahora, abre el tunel con el comando antes descrito, y posteriormente corre tu programa anteponiendo “tsocks”, por ejemplo:

fulanito@local $ tsocks opera

Et voilá!. Está de mas decir que puedes abrir mas de una conexión y usar varios navegadores saliendo por diferentes IP’s. Muy útil cuando andas mmm digamos, analizando un sitio de forma anónima ;-).

Local Port forwarding

Ahora sí vamos a forwardear puertos de verdad, El anterior esquema es a nivel aplicación, SSH entiende que debe servir de proxy para lo que le pida la aplicación, si pides la página de google por socks, ssh entiende que tiene que conectarse a google y reenviar el contenido a tu máquina local a través de un tercer servidor, y dinámicamente cambia del servidor de google al de yahoo, o hotmail, o facebook, etc. En este esquema de Local Port forwarding (y también el Remote/reverse port forwading) SSH simplemente reenvía todo lo que mandes a un puerto local hacia un servidor destino a través de un servidor donde tienes shell. Es decir, sólo puedes redirigir el tráfico hacia un sólo servidor. Usemos el vano ejemplo del IRC, no se porque siempre nos bloquean el puerto IRC (6667) así que tenemos el escenario:

Estamos en maquina “local”, tenemos acceso shell a “shell.server.tld” y queremos conectarnos a irc.freenode.net. Lo que tenemos que hacer es lo siguiente:

fulanito@local $ ssh -N -L 3337:irc.freenode.net:6667 shell.server.tld

Y listo, tenemos un tunel desde nuestra máquina en el puerto 3337 a irc.freenode.net:6667 a través de shell.server.tld. Ahora todo lo que nos queda hacer es:

fulanito@local $ irssi -c localhost -p 3337

Y irssi nos mostrará el MOTD (Message Of The Day) de freenode, tal y como si nos estuvieramos conectando directamente desde shell.server.tld.

Y claro, podemos usar el tunel para diversos servicios:

  1. Para conectar a un proxy externo: fulanito@local $ ssh -N -L 1080:proxy.server.com:8080 shell.server.tld
  2. Para conectarse a un servidor POP: fulanito@local $ ssh -N -L 1110:pop.server.com:110 shell.server.tld
  3. Para conectarnos al webserver de una máquina de la chamba: fulanito@casa $ ssh -N -L 8080:maquinadelachamba:80 maquina-con-ip-externa-de-la-chamba.dyndns.com
    Con este ejemplo aprovecho para mencionar un pequeño detalle: cuando especificamos “-L puerto:hostdestino:puerto shell.server.tld”, ponemos a “hostdestino” tal y como “shell.server.tld2 lo vé, es decir, si “shell.server.tld” puede ver a maquinas con ip’s privadas dentro de su red, podremos especificar en -L una ip privada, por ejemplo: “ssh -N -L 8080:192.168.1.100:80 189.10.20.30

Reverse/Remote Port forwarding

Este esquema es quizás el más divertido y confuso de los tres, basicamente es lo mismo que -L pero “en inversa”, expliquemos.

Con -L le dices a ssh que reenvíe el tráfico que vaya a un puerto local hacia uno remoto, con -R le dices a ssh que reenvíe el tráfico que llegué a un puerto remoto hacia uno local. ¿Para que nos sirve algo así?, pongamos dos escenarios:

1. El Soporte Técnico.
Tienes un problema con tu linux/mac os x/unix/whatever, y quieres que un amigo se conecte a tu máquina para ayudarte y estas detrás de un router, con ip privada, y sin privilegios para poder abrir un puerto en el router que redirija el tráfico a tu máquina. Solución, abres un tunel “reverso”:

fulanito@local $ ssh -N -R 2200:localhost:22 shell.server.tld

Lo cual quiere decir: “abre un tunel desde shell.server.tld en el puerto 2200 que reenvíe el tráfico hacia mi máquina (localhost) en el puerto 22”. Y ahora le dices a tu amigo que se conecte a shell.server.tld y desde ahí el tiene que correr:

sutanito@shell $ ssh -p2200 localhost

Y se reenviará la conexión hasta tu máquina, en otras palabras, podrá conectarse a tu máquina desde otra, pero sólo mientras mantienes abierto el tunel. Por default, todos los túneles escuchan sólo a la interfaz loopback, es decir, solo aceptan conexiones desde la misma máquina en donde se está abriendo el tunel, es por ello que tu amigo debe primero entrar a shell.server.tld y luego conectarse a “localhost”. Existe la posibilidad de que tu amigo se conecte directamente a shell.server.tld:2200 desde su máquina, eso lo veremos en el siguiente ejemplo:

2. Publicar un servicio.
Ahora, digamos que estas en un starbucks, o algo así. Y necesitas enseñar lo que tienes en tu webserver local a un cliente, como ya establecimos, no puedes abrirte un puerto para que el cliente mire hasta tu máquina con ip privada. Solución, abres un tunel “reverso”:

fulanito@local $ ssh -N -R 8888:localhost:80 shell.server.tld

Y listo, el túnel leerá la página de tu máquina y la servirá a través de shell.server.tld:8888, entonces le das a tu cliente la dirección http://shell.server.tld:8888/

Pero como decíamos en el anterior ejemplo, los túneles solo atienden a “localhost” por lo que para que tú cliente pueda acceder directo a shell.server.tld:8888, debemos agregar una opción al final del archivo /etc/ssh/sshd_config:

GatewayPorts yes

Y listo ahora los túneles escucharán en cualquier interfaz.

Nota:
Ten en mente siempre, la información viajará encriptada solamente desde tu máquina local hacia el servidor donde estás estableciendo el tunel, de acuerdo a nuestros ejemplos, la información viajará encriptada desde local <=> shell.server.tld, pero desde shell.server.tld <–> irc.freenode.net (u otro destino final) no estará encriptada. En el 99% de los casos esto servirá para mantener tus datos seguros.

Y bien, espero me haya sabido explicar, si creen que algo está demasiado confuso por favor, exprésenlo en un comentario. Si tienen mas ideas de como usar los túneles SSH, ó tienen una anécdota sobre alguna vez que tuvieron que ingeniárselas para resolver un problema usando túneles SSH, por favor, compártanla.

NaCl U 2

Estimados compañeros:

Como todos, seguro ya escucharon llevamos varias semanas de mucha volatilidad financiera mundial. Habrán escuchado de bancos, aseguradoras y casas de bolsa que han quebrado en el mundo. Ven el tipo de cambio que ya pasó los 13 pesos por dólar.

El objetivo de este correo es el tratar de explicarles desde mi punto de vista las causas de todo esto. Asimismo explicarles lo que percibo que se esta haciendo a nivel mundial para detener esta crisis. Por ultimo darles recomendaciones a nivel personal y comentarles que estamos haciendo a nivel empresa.

Tratare de hacer esto lo mas fácil de entender pero si alguien no entendió alguna parte del correo por favor pregunten y con mucho gusto se los puedo explicar. Les pido que por favor lean el total del documento. Todas las secciones son muy importantes.

A los Gerentes de las sucursales: por favor entregarle copia a la gente que no tenga computadora.

Antecedentes:

La crisis inicio en EUA con las hipotecas. Durante muchos años el valor de las propiedades estuvo subiendo constantemente. En estos años de bonanza se relajaron los criterios de préstamos. Los bancos para poder prestar más juntaban o empaquetaban créditos hipotecarios con unos instrumentos financieros llamados Bonos, respaldados por Hipotecas. Estos se vendían en los mercados financieros a otros bancos, fondos de pensiones, aseguradoras e  inversionistas.

El problema fue cuando los precios de las propiedades ya no subían y en algunos casos empezaron a bajar. Como parte de la relajación de los criterios de préstamo, que les mencioné en el párrafo anterior, algunos bancos prestaban sin enganche, para comprar casas prestaban hasta el 100% del valor de la propiedad y en algunos casos prestaban a personas que no tenían empleo, ni fuente de ingresos estable y suficiente. Al bajar el valor de las propiedades, muchas personas se dieron cuenta que debían mas dinero al banco que lo que valía su propiedad. Por lo tanto dejaron de pagar sus créditos hipotecarios. Los propietarios de estas deudas (los dueños de los Bonos que arriba les mencioné) entraron en pánico y empezaron a vender sus Bonos. Esto causo una estampida de venta de estos Bonos.

Los famosos Bonos se compran y venden como cualquier producto (jitomates, casas, coches).

Aun cuando tienen garantía de las hipotecas, la ley de la oferta y la demanda rige el valor de estos Bonos. Al haber mucha mas oferta que demanda, los valores se fueron al piso. Como referencia, Bonos que tienen un valor normal de 100 dólares, se han vendido a valores de 35 dólares. Lo ilógico del problema es que éstos Bonos como recordaran tienen como garantía propiedades que no han desaparecido y que :

1) las propiedades no han tenido una baja de valor de mas del 20%   y
2) solo el 6-7% de los créditos se han dejado de pagar.

Es por eso que esta crisis hipotecaria no tiene lógica.

Ahora bien, los dueños de estos Bonos tienen obligación de valuar los Bonos en su contabilidad al valor de lo que valen en el mercado. Al haberlos comprado a 100 dólares y tener que valuarlos a precios muy inferiores, la diferencia es una perdida que tiene que reflejarse en el estado de resultados.

Esto ha ocasionado que muchas empresas como Bancos, Aseguradoras, etc. hayan tenido que reportar pérdidas millonarias y en algunos casos los Bancos que no han podido conseguir más capital han quebrado por esta razón. El problema ha ido creciendo de forma que llego a afectar a Bancos que no tenían estos Bonos.

Como antecedente es importante entender que entre bancos diariamente se prestan dinero para financiar sus créditos y sus operaciones del diario (lo mismo que sucede en empresas como la nuestra). Al haber incertidumbre sobre el resultado de la crisis, los Bancos están subiendo el costo de prestarse entre ellos. Asimismo están dejando de confiar entre ellos y dejan de prestarse.

Esto ha causado que otras instituciones financieras se vayan a la quiebra, contagiadas por el problema inicial. Ahora bien, ¿al resto de la economía como nos afecta? Los Bancos por la incertidumbre del ‘¿que va a pasar?’, están dejando de prestarle a empresas y o personas. Esto está sucediendo a nivel mundial.

Y en caso de que sí presten, piden más garantías y/o suben el costo de prestar. Las empresas bajan niveles de inventario, reducen costos y bajan sus utilidades.

Esto esta causando que las empresas dejen de vender, tengan que reducir gastos y hasta tener que despedir gente. Estamos viviendo una crisis de confianza a nivel mundial.

Como dice el dicho ‘el miedo no anda en burro’. Como en muchos casos cuando hay cualquier tipo de crisis el ‘por si acaso’ hace que la crisis salga de proporción. Esto es básicamente lo que esta pasando.

El miedo de muchos inversionistas esta haciendo que se propague esta crisis como un virus a nivel mundial. Ya se contagió Europa y Asia. Ya esta afectando a México y aun cuando nuestros gobernantes lo nieguen esto llegara a pegarnos (ojo lo niegan no por incompetentes sino por que lo peor que pueden hacer es propagar el pánico).

¿Que tan grande sea el golpe? mucho dependerá de lo que hagan los gobiernos de países mas grandes del mundo y la rapidez con la que lo hagan y que tan rápido esto impacte a nivel empresas y personas. Los gobiernos a nivel mundial están tomando acción para evitar que las economías se frenen y darle garantía y seguridad a personas físicas como todos nosotros.

Primero es la seguridad de que los ahorros que tenemos en los Bancos están seguros y que si el banco quiebra no desaparezca éste dinero. Los gobiernos están dando esta seguridad a las personas, garantizando los depósitos en los bancos, o en algunos países, aumentando el monto del seguro decobertura a los depósitos. Esto para evitar que la gente como nosotros vaya al Banco a sacar su dinero y lo guarde debajo del colchón. Esto es una medida muy importante para que la crisis no se propague a gente común y corriente.

Lo segundo que están haciendo los gobiernos, es prestarle a las empresas financieras (ya que entre los bancos ya no se están prestando o se prestan muy caro), para que éstas empresas financieras puedan voltearse con las empresas como la nuestra para prestarle y la economía pueda continuar en su movimiento normal.

Por ultimo en EUA se le autorizo al gobierno a comprar los Bonos famosos para que, al haber mas demanda de estos Bonos por la ley de la oferta y la demanda, puedan tener un valor mas apegado a la realidad y no basado en irracionalidad. También para que los Bancos puedan vender estos bonos al gobierno y con el dinero que reciban a cambio, poder prestarle a empresas como la nuestra.

Es importante entender que por el tamaño de la economía de México, por desgracia no podemos hacer mucho para

revertir lo que esta sucediendo a nivel mundial. Como país somos insignificantes para el problema mundial. Sin embargo el impacto de lo que pasa nos afecta. Por más que algunos políticos pueden echarle la culpa al gobierno actual, es solo propaganda política ya que el gobierno está actuando de la mejor manera posible. Para darles una idea de las diferencias de tamaño, en EUA se fue a la quiebra la Casa de Bolsa Lehman Brothers. Esta casa de bolsa, sin ser la mayor de Eua, era más grande que todo el sistema financiero mexicano junto.

Los gobiernos están reaccionando por que entienden la magnitud del problema. Sus acciones tardaran en dar resultados (es como la medicina al enfermo, no es inmediata la reacción). En el ínter tenemos que prevenirnos como personas y como empresa.

¿Que podemos hacer?

Como Director, estoy preocupado tanto de la continuidad de la empresa como de la tranquilidad de ustedes y de apoyarles y aconsejarles lo mas posible para que podamos todos salir bien de estos acontecimientos. Es posible que la economía de México se frene. Esto nos impactaría como empresa y por lo tanto a nivel personal. Es por eso que iniciare con unas recomendaciones a nivel personal y luego les informaré que medidas vamos a tomar a nivel empresa.

A nivel personal :

  • Cuidar su trabajo. No solo implica tener la actitud correcta diario al ir a trabajar sino procurar cuidar la continuidad de la empresa. Ser más eficiente, no perder el tiempo en el Internet. Hacer su trabajo en excelencia.
  • Bajar nivel de gastos personales. Es importante que revisen sus gastos personales y procuren apretarse el cinturón. Procuren NO gastar en cosas que no sean de primera necesidad.
  • Ahorrar lo más posible. Esto se hace aun más importante por la incertidumbre que existe actualmente.
  • Mantener su dinero en el banco. Por más que escuchen que hay bancos quebrando en el mundo, es muy improbable que suceda ésto en México. Asimismo es importante que entiendan que sus ahorros en bancos tienen un seguro por parte del gobierno federal. El tener su dinero debajo del colchón, con el compadre ó en algúna caja de ahorro, no necesariamente les da ésta garantía.
  • Bajar lo más posible sus deudas, sobre todo las deudas que tengan una tasa de interés que no sea fija. Me refiero a tarjetas de crédito y créditos personales. Las tasas de interés van a subir. Entre mas rápido puedan pagar  éstos créditos mejor. NO solo paguen el mínimo que muestra el estado de cuenta.
  • Analicen la tasa de interés que están pagando por sus deudas. Si necesitan apoyo consulten con Recursos Humanos ó directamente conmigo.
  • Entiendan la diferencia entre usar una tarjeta de crédito y endeudarse con una tarjeta de crédito. El primer caso es aquel que utiliza su tarjeta y la paga completa cada mes. El segundo caso es aquel que utiliza el crédito que dá el Banco o la tienda departamental. El primero no tiene ningún problema ya que no genera otro costo. En el segundo caso, se pagan  intereses, que suelen ser altos.
  • Las tarjetas de crédito y las tarjetas de las tiendas son una tentación enorme. No saquen nuevas y si pueden cancelar algunas háganlo. En un futuro podrán volver a sacar de nuevo.
  • Al contrario, para los créditos hipotecarios (Infonavit, etc.) a tasa fija en este momento es mejor no adelantar pagos, sino ahorrar el dinero. NO dejen de pagar a tiempo sus casas. Es su patrimonio más importante.
  • NO comprar las ofertas de ‘Meses sin Intereses’. Me preocupa mucho esta forma de mercadotecnia que muchas tiendas utilizan para vender más. Como la persona no lo siente en el momento, se inclina a hacer la compra. Sin embargo la única forma de que no pague uno intereses es que cada mes pague el total de lo que le pusieron en la tarjeta. Poca gente lo hace y los bancos así ganan muchísimo dinero. Si no se mentaliza uno que el comprar en esta forma equivale a que su sueldo se reduce por esos meses en el monto de la mensualidad, les va a costar intereses.
  • Tener cuidado con los préstamos a otras personas. Es muy común que alguien allegado les pida dinero prestado. Si le llegan a pedir prestado,  pidan ustedes que les dén alguna garantía (la factura del coche, etc.). Esta persona puede estar ahogándose y se los puede llevar consigo si no tienen mucha precaución.
  • Mantenerse saludables. Las enfermedades cuestan dinero. Pónganse a dieta, bajen de peso, hagan ejercicio, bájenle al cigarro, bájenle al alcohol.
  • Comentar todo ésto con su familia. Es importante que sus parejas y sus hijos lo entiendan.

En la empresa, TODOS tenemos que hacer lo siguiente:

  • Cuidar a los clientes. Tenemos que cuidar a nuestros clientes desde la atención hasta cuidarle su dinero al cliente (que no pague almacenajes innecesarios, cuidar la mercancía en los previos, regresarle el saldo a favor, etc.).
  • Cobrar más rápido. La nomina se paga de lacobranza.
  • Financiar lo menos posible. Para los clientes que tengamos compromisos no podemos dejar de cumplirlos pero tratar de no contraer nuevos créditos a clientes, por lo pronto.
  • Bajar los gastos lo más posible. Gerentes es importante que estén muy alertas. Esto incluye:
    • Teléfono, luz, papelería,
    • Viajes. Vamos a reducir los viajes lo más posible. Todas las comprobaciones de gastos sin excepción los voy a autorizar yo personalmente y seré muy estricto.
    • Revisar cuidadosamente cualquier inversión.
    • Cuidar los activos de la empresa (coches, fotocopiadoras, computadoras, etc.)
  • Vender más. Le vamos a invertir en nuevosclientes y en venderle más a los clientes actuales. Es una razón por la cual estamos abriendo la oficina de Lázaro Cardenas, ya que clientes actuales de nosotros están mudando su operación.

Conclusiones:

Es incierto cuanto tiempo durará esta crisis mundial. Gente con la que he platicado extensamente, comentan que mínimo 6 meses pero puede durar hasta 2 años. Lo importante primero es entender el por que se dio y aprender de la lección. Asimismo no dejarse llevar por gente alarmista, desde periodistas hasta gente cercana. Por eso invertí tiempo en hacerles llegar éste comunicado. Es su derecho estar informados. Repito, el objetivo de este correo no es alarmarlos, sino el de informarlos. No es éste el fin del mundo, pero si hay que entender que el resto del mundo SI nos va a afectar en México.

Todo lo anterior se basa en mi experiencia y en largas pláticas con expertos en la materia.

Tenemos que tomar medidas a nivel personal y a nivel empresa, para garantizar la continuidad de nuestra fuente de sustento.