sábado, 6 de agosto de 2016

Que hay detrás de Pokemon Go?

Es impresionante y conocido el efecto generado por la aplicación Pokemon GO. La sociedad indistintamente de genero, edad, religión, tendencia política o país se han decantado completamente hacia el uso de la aplicación, ante el inocente argumento de que no existe nada peligroso que pueda tener esta nueva tendencia o ante el hecho de no verse ninguna consecuencia ante el uso de la App.


Sin embargo, es necesario detenerse un momento y dedicarle unos minutos a pensar que hay detrás de esta aparentemente inocente aplicación, sin caer en las tipicas teorías paranoicas o conspirativas, solo intento mostrar algunos argumentos.
Arranquemos desde el hecho de que ninguna empresa te ofrecerá entretenimiento gratuito, más si el producto es de calidad, con alto nivel tecnológico, y que para poder ofrecerlo ha implicado costear una gran cantidad de dinero para pagar los recursos (Servidores, Equipos de conectividad, respaldo, etc etc) y todo el personal necesario para lograr la aplicación (Desarrolladores, Diseñadores, Testeadores, Arquitectos de la solución, Gerentes que lleven el proyecto a cabo, Tecnicos en todo el ambito de la conectividad, etc etc).
Bueno asumamos que como medida de marketing, están posicionando otros productos relacionados a través de esta App, ok, es una estrategia muy común, pero si revisamos y leemos un poco sobre la empresa que desarrollo la aplicación, es decir Niantic, podemos encontrar que los socios de negocios, que aportaron su capital para lograr el producto de Pokemon Go, también pagaron grandes cantidades de dinero por , lo que ellos llaman "Otros objetivos". Y esto no es especulación, es facil buscar en Google, y revisar los términos de financiamiento que le dieron a la empresa y encontrarán lo que se dio para esos "otros objetivos".
Ahora vemos , y cuales son esos otros objetivos?.
La aplicación consiste en utilizar tu posición global a través del uso del GPS, y estemos claros, a nadie le importa saber donde te encuentras tu en cualquier momento (a excepción de alguna novia o esposa celosa), pero si muchas empresas en el mundo quisieran saber que hay a tu alrededor, como llegar exactamente , que mecanismos de acceso tiene, que controles existen, etc.
Hoy en día aplicaciones como Google Earth o Google Maps, te puedan dar una información sobre un punto en especifico pero bajo la perspectiva aérea, si queremos saber que hay dentro de un edificio, actualmente no tenemos como, y ante esto me refiero de manera masiva, es decir una biblioteca de imagenes que pueda acceder y consultar como es internamente, no lo tenemos aún.
Y entonces como podríamos crearlo?, sencillo, pongamos a los usuarios del mundo a que se pongan a a remitir fotos de lo que tienen alrededor, sus oficinas, sus datacenter, sus pasillos , sus accesos, sus salidas, todo.
La aplicación solo te lanza "aleatoriamente" un pokemon, que debes capturar, yo me pregunto, cuantas personas en sus trabajos ya han tomado fotos , capturando pokemones en sitios delicados, o confidenciales?. Una persona en una oficina toma una foto de pokemon en una oficina de gobierno, estos podra sonar divertido, pero detrás de esto, hemos tenido una foto de como acceder hasta ese punto, y si después la aplicación te "suelta" otro pokemon y otro y otro, en poco tiempo podrás tener todo un mapeo de esa oficina gubernamental. 
Que tal si eso mismo sucede con un datacenter?.
Para analizar un poco.




Continua...

sábado, 7 de febrero de 2015

Gestionando Redes Inalámbricas desde tu Android

Desde hace tiempo estaba que quería redactar este post, incluso el nombre de la app en cuestión ya ha cambiado de nombre, pero cada versión es más práctica.
El caso es sencillo, como configuramos, monitoreamos, en fin gestionamos las redes inalámbricas a las que tenemos acceso, desde nuestro celular Android, la solución: Fing
Al comienzo la app se llamaba Overlook Fing, las funciones han variado un poco desde su lanzamiento inicial, más que todo permitir la gestión de redes inalámbricas conectándonos desde distintos tipos de protocolos y puertos, sin embargo el uso principal no ha variado.
La descargamos desde la Play Store, es gratis, para la función que comento en este post, sin embargo para otras más complejas hay que suscribirse y cancelar una mensualidad, también tienen una posibilidad de suscribirse indicando que somos estudiantes y es con fines no lucrativas, pero en más de 4 años de uso nunca me han dado ese beneficio jejeje.
Bueno, al grano, obviamente nos conectamos a la red que vamos a gestionar, activamos el servicio Wifi en el celular y accedemos.  Una vez nos hayamos logeado en la red, abrimos Fing. Inmediatamente nos mostrará la red a la que estamos conectado, pero debemos escanearla para que nos muestre todos los dispositivos conectados (incluyendo obviamente el equipo wifi).


El proceso se tardará dependiendo de tres variables, la calidad de la señal, la cantidad de equipos conectados y las restricciones que tenga el equipo emisor. Para cada equipo observaremos que nos muestra, la dirección IP, la MAC address, el nombre del dispositivo y la marca del fabricante del componente de red.
Una vez finalizado el escaneo, seleccionamos nuestro router wifi, podemos ver que para cada equipo podemos enviarles unos paquetes de prueba (ping), verificar el trazado de los paquetes, hacer Wol (wake on lan, encender el equipo remotamente si lo permite) y lo mejor escanear los servicios que tiene el dispositivo , el servicio de revisión de Log no esta disponible en la versión gratis (ya es mucho con el resto de juguetes gratis no?)
Para este caso, seleccionamos el escaneo de servicios :

Veremos entonces que puertos están abiertos y que protocolo usa:


En el caso de nuestro router wifi, seleccionamos el puerto 80 para poder ingresar a través del navegador del Celular a la pagina web que permite la administración del dispositivo inalámbrico :


Por ultimo nos abrirá el browser con la dirección indicada y de ahí es otra historia y otro post dependiendo del tipo de router que estemos configurando.

De seguro ya varios pensarán "un momento , todo esto lo hago colocando la dirección ip del router wifi en el browser y gestiono el router desde ahí mismo" , y es cierto, pero la idea de esto es gestionar redes sin tener que saber esa información por defectos , ya que te basas en el escaneo de servicios que estén activos. Otro detalle es que es muy útil como herramienta de seguridad, ya que permite revisar de forma muy rápida que servicios están abiertos, y tomar medidas antes de que alguien se le ocurra hacernos pasar un mal rato.
El realizar el escaneo de la red y ver que dispositivos están conectados en un instante dado es otra herramienta sumamente útil de monitoreo.
También si tenemos nuestro terminal celular rooteado y con una consola de comandos, podemos acceder por puertos ssh, samba , telnet, etc.
Para descargarlo, validarlo desde tu Play Store que no tengan incompatibilidades, con Android 2.1 ya es suficiente, recomiendo combinarlo como comente anteriormente con otras herramientas (shell, samba it, speedtest, etc).
Bueno eso es todo , cualquier duda solo no duden en preguntar o dejar el comentario. Saludos!






Continua...

lunes, 17 de noviembre de 2014

Instalando OpenShot en Canaima v4

He realizado esta pequeña guía, para indicar como realizar la instalación en sencillos pasos de la aplicación OpenShot en una distribución de Linux Canaima versión 4 . Antes es necesario mencionar que OpenShot es un poderoso Editor de videos, en código abierto, disponible tanto para linux como para windows.

Para aquellos que están familiarizados con aplicaciones como WMM (Windows Movie Maker), Picasa, etc, Openshot es una muy buena alternativa opensource, la cual no carece de funciones similares usadas en aplicaciones comunes. El motivo por el que realizo esta guía, es debido a que existe un pequeño problema al realizar la instalación a través del "Centro de Software", el proceso de instalación se realiza, pero la aplicación no se ejecuta, esto debido a que existen dependencias que no se instalan, además de que eben actualizarse los repositorios. Siendo así lo mejor es irse a la consola y realizar todo el proceso desde ahí. Para simplicar la instalación, nos descargaremos un paquete PPA y no un DEB , lo primero que debemos realizar es ejecutar la siguiente sentencia en la consola:
sudo add-apt-repository ppa:openshot.developers/ppa

Seguidamente actualizamos los repositorios con:
sudo apt-get update
Para finalizar , hacemos la instalación:
sudo apt-get install openshot openshot-doc
Hasta este punto, ya podemos ejecutar Openshot, sin embargo la instalación nos generará un error:
"No se pueden cargar todos los efectos. OpenShot no puede encontrar la instalación de la biblioteca de efectos frei0r. 
Instale el paquete frei0r-plugins desde su gestor de paquetes. OpenShot continuará funcionando, pero dispondrá de menos efectos para elegir."
Lo anterior es debido a que hay una biblioteca que no trae la distribución de Canaima y por lo tanto debemos instalarla, y como ya hemos actualizado los repositorios no tenemos ningún problema e ejecutar:
aptitude install frei0r-plugins

Listo!, a usar Openshot


Continua...

miércoles, 25 de enero de 2012

y qué significa ese Tag???

Cuantas veces nos ocurre, que vemos en algún medio impreso o digital un comentario sobre algo que ocurre y nos hacen referencia a un hashtag de twitter??, y ademas no tenemos ni idea de que se trata?.

A veces lo peor es que no existe ni siquiera una referencia clara, sino solamente el hashtag , nos toca averiguar con conocidos o por la red de que carrizo se esta hablando.
Sin embargo ahora ya se cuenta con un sitio web que nos resuelve el problema, tagdef.com.
Tagdef tiene varias cosas útiles , no solo nos sirve para conocer la definición de un hashtag, sino que además nos muestra el ranking de los más buscado hoy, los nuevos, lo más buscado de la semana, o lo que más se utiliza siempre , lo cual era obvio que las etiquetas más usadas sean para operar en el twitter como seguir amigo, aunque de cuarto lugar esta #justinbieber , pero buehhh me gusto mucho la definición "About a loser" :p .
Continua...

martes, 30 de noviembre de 2010

La Conspiración de Wikileaks!


Mucha gente conoce ya el famoso lugar en la web donde se alojan numerosos documentos de caracter "secreto", "confidencial" o "x" categoría que se le quiera dar. Muchos internautas han leído en distintas páginas o se han enterado a través de otros medios convencionales sobre los asuntos que este sitio nos revela ante el mundo. Pero lo importante es, porque aceptamos lo que anuncia o publica Wikileaks? Quienes son y cuál es su intención? más aún como logran misteriosamente obtener la información que presentan?.
Con esto que escribo, quiero dejar claro que no estoy de acuerdo con las politicas aplicadas por paises como Estados Unidos y en especial la actitud que ha tenido contra paises progresistas como lo son algunos en Latinoamerica. Y digo esto porque es muy facil señalar que atacar a Wikileaks es pensar en contra del nuevo "mesías" que ha venido a decirnos la "verdad". Y es esto al fin y al cabo el objetivo que tiene el extraño portal web, ser reconocido mundialmente en la sociedad como el representante absoluto de "la verdad". Para ello se ha diseñado un plan estrategico y nada raro que este detrás de todo esto el grupo de siempre (CIA, Pentagono, Estados Unidos, etc, etc), pero porque es necesario que alguien sea considerado como tal?, la respuesta es muy simple, hoy en idea el mundo se encuentra saturado de información, mucho es falso , incompleto, incoherente, pero por otra parte existen lugares donde es posible ratificar las informaciones para comprobar la veracidad de la misma, pero esto al fin y al cabo es malo para los factores de poder o de dominio mundial, ya que la intención es siempre poder controlar la información . Por otro lado que sucedería si a la sociedad se le crea un ente o personaje que represente la verdad? y a este se le añade tintes de heroe y veedor de la justicia y otros valores de la sociedad?, que pasaría si tan magnifica creación fuera posible controlarla para así indicarle al mundo lo que es verdad y que es mentira, lo que es bueno y lo que es malo?.
Hoy en día todos estos elementos los encontramos con Wikileaks, veamos, es un sitio web que nace hace unos 4 años atrás, en sus archivos se publicaron y se han publicado muchisimos documentos, que hasta el día de hoy no han representado mayor novedad de lo que ya el mundo conoce o ha visto. Peor aún , en conocimiento de lo que se ha publicado en Wikileaks , ningún país hasta ahora ha tomado una medida contra otro , ni siquiera a nivel diplomatico , realizando alguna acción de llamado a consultas del embajador , en especial contra Estados Unidos , el cual es el que más ataques realiza hacia los demás , y esto porque? bueno es cuestión de un pequeño analisis, de los documentos publicados por ejemplo, nada va a devolverle la presidencia a Zelaya, aunque un documento publicado en Wikileaks indique que el embajador norteamericano sabía que no había golpe de estado, tampoco Venezuela romperá relaciones con Francia porque un funcionario (una vez más) haya hecho declaraciones negativas contra el presidente Hugo Chavéz, y mucho menos van a soltar esta vez los prisioneros en guantanamo porque se sepa que Estados Unidos los quiere negociar a cambio de dinero.
La verdad es que aunque todo esto haya salido al aire, no es novedad, no es noticia, es más de lo mismo, solo que tiene dos elementos, el show internacional, y la intención oculta de establecer en la sociedad que Wikileaks NOS DICE LA VERDAD!
Lo que más extraña de este asunto, es la actitud de la Secretaria de Estado , Hillary Clinton, ya que como señale anteriormente, todo este show no es nuevo, otra vez sale al aire que Estados Unidos es un país que anda con planes ocultos , otra vez se desmuestra que han ejecutado acciones atroces contra otros paises, otra vez aparecen documentos, dialogos, cartas, etc, etc, otra vez Estados Unidos. Pero siempre ha pasado que ante miles y miles de señalamientos , pruebas, y todo lo que se tenga en mano, el gobierno de EU nunca acepta nada de lo que se le señala, y más aún y esto es lo preocupante, Estados Unidos nunca acepta que las pruebas con las que se le señalen sean ciertas!!!, jamás lo ha hecho, siempre ha negado, evadido, confundido, y sale victorioso de las acusaciones. Sin embargo hoy fue un día historico ya que , la secretaria de estado, Hillary Clinton, si acepto que los documentos de Wikileaks son veridicos!!!!.
Es decir, tenemos un sitio web que se nos presenta diciendo que tiene LA VERDAD, pero encima de ello tenemos a los más viles de todos los tiempos, certificando que Wikileaks DICE LA VERDAD!!! ummm no se no les parece extraño???.
Más aún , para tener sospechas, siempre se ha tenido que confiar en la manera en que Wikileaks obtiene los famosos documentos. Nadie sabe como!!!, se especulan que son hacker y gracias a ello han logrado robar documentos, se especulan que tienen una mega red de informantes y que a traves de protocolos de seguridad les garantizan la confiabilidad en la entrega de los documentos, al fin al cabo todo se tapa con el famoso anonimato, nadie se hace responsable de nada, pero nosotros si debemos CREER QUE ES VERDAD.
Para mi todo esto se resume en un plan, como describi anteriormente , Wikileaks se ubica como el gran repositorio de VERDADES del planeta tierra, países y lideres involucrados en esto que ha sucedido ya lo tenían totalmente previsto, al fin y al cabo preguntense, a quien se le hecha la culpa de todo lo malo que hay en esos documentos? a Estados Unidos?, ahhh ok y a quien se mete preso ahí? al actual Presidente o al anterior? a la Secretaria de Estado?, entonces le hechan la culpa a la CIA, ummmm y ahí a quien señalan? al Director?, al Coordinador?, al que Limpia los baños los Sabados?, conclusión NADIE ES CULPABLE, pero eso si , dentro de un mes o dos meses que todo el cuento de los 250mil documentos haya pasado, la gente ya estará concientizada de que Wikileaks DICE LA VERDAD.
Peor aún , y esto es lo grave, el día de mañana sale la noticia que Wikileaks logro hackear la computadora de Raul Reyes, y ahí salen los nexos de las farc con venezuela, y como sale en Wikileaks es VERDAD!!!, o se les ocurre que un funcionario argentino le mando un email a Wikileaks y ahi sale los negocios truculentos de Cristina, y pues como sale en Wikileaks es la VERDAD!!!, o peor aún capaz y salen con que ahora si están los documentos donde Fidel manda a asesinar al Ché, y pues obvio salió en Wikileaks y ellos no mienten ellos son la VERDAD!!.
Y pues para tristeza de nosotros, como hoy en día, nuestros lideres están usando Wikileaks como referencia, pues ellos mismos están ayudando a crear esa imagen de VERDAD que se le quiere dar a Wikileaks.
Continua...

martes, 26 de enero de 2010

2 Años de Inmundicias!!!!

Tal día como hoy , un 25 de Enero pero del año 2007 empecé a escribir en este blog todas aquellas cuestiones que hago en el mundo de la informática y que por mi mala memoria prefiero dejarlas escritas para que en alguna proxima ocasión pueda volverlas a usar, lo bueno fue ver que algunas de las cosas que escribo le sirven a alguién en la red, es por ello que quiero darle las gracias a todos aquellos que visitan y alguna vez han entrado a este blog.
Continua...

sábado, 23 de enero de 2010

Como vincular los post de Blogger con Twitter

La cantidad creciente de usuarios en twitter es lo que me motivo a crear una cuenta en ese servicio, sin embargo eso no es lo que me llama la atención, sino la posibilidad de que los post que uno realicé en el blog sean replicados en twitter.
Obviamente el servicio no duplica exactamente la información ya que twitter solo permite postear contenido de 140 caracteres maximos, sin embargo si es posible colocar el titulo de cada post más un pequeño resumen.

En la red se consigen varios metodos para realizar la operación, inclusive muchos son manuales, es decir requieren que el lector "replique" el post, otros requieren la modificación de la pagina agregando un trozo de código, sin embargo y la razón de este post es el servicio que prestan algunos intermediarios que gratuitamente se encargan de colocar el post del blog en la cuenta de twitter.
Uno de estos servicios es twitthis.com el cual ciertamente no me gusto por lo complicado que es, ya que es una especie de intermediario "manual", debido a que debe colocarse el código en el blog y esto deja un enlace para que el lector posteriormente se logee en su twitter y termine replicando el post como una referencia al blog de uno. Si le parece confusa la explicación es porque es ciertamente confuso el uso.
Lo bueno es que encontre el servicio de twitterfeed.com esta gente se oriento a algo muchisimo más práctico, en la mayoria de los blog uno genera automaticamente el contenido para rss , pues el servicio de twitterfeed usa este feed y lo postea en tu cuenta de twitter, una forma bien práctica para llegarle a más persona el contenido que uno coloque en el blog. Claro queda un último detalle, esto obvio lo leerá aquellos usuarios que te estén siguiendo en tu cuenta de twitter , asi que bueno por ahora me toca empezar a ver como hago para que me siga más personas por el twitter.
Continua...

sábado, 16 de enero de 2010

Está seguro que su clave es segura??

Muchos administradores se confian que haciendo una clave y ejecutandole algún mecanismo de cifrado ya queda todo resuelto y seguro.
Sin embargo hoy en día donde la posibilidad de almacenar cualquier dato no es asunto complicado ni muy costoso, sale a la luz el problema de que en muchos sitios se están creando bases de datos que tienen tanto lo que se cifra como el resultado, y entonces es donde el administrador se empieza a preguntar que hacer y como aprovechar la situación???

Era basicamente cuestión de tiempo que alguien comenzará a guardar el valor de una palabra con su correspondiente valor cifrado, es decir crear diccionarios de datos cifrados, y también era cuestión de tiempo que alguien las publicaras en la red.

Es por ello que no importa que su clave la haya generado con MD5 o SHA1 , o incluso que ud. sea más ingenioso y haga una clave complicada, puesto que por más ingenioso que ud sea..... tristemente quizás a alguien también se le ocurrió. Por ejemplo, está el tipico administrador de sistema que le pone a un servidor en producción la muy famosa clave "123456" pero se toma la molestia de encriptar el dato con md5, lo que le da de resultado "e10adc3949ba59abbe56e057f20f883e", bueno solo bastará que llegué otra persona y acceda sitios web como http://md5decryption.com/ o http://www.yellowpipe.com/yis/tools/encrypter/index.php , coloque la cadena de texto cifrada y le arroje el super valor "123456", esto no quiere decir que la gente de md5decryption o yellowpipe sean unos super genios que lograron romper el md5 , nooooo, sencillamente que tienen una base de datos donde ya esta el registro que busco con su correspondiente valor, o sea lo que ha hecho ha sido una mera consulta .

Claro hasta aquí mas de uno ya habrá dicho "pero obvioooooo que 123456 es facil de tener registrado!!!!" y cierto estamos de acuerdo, sin embargo como indique anteriormente la genialidad de ud. es posible que a uno de los 6mil millones de habitantes de este planeta también se le haya ocurrido, sino me cree haga el mismo ejercicio de colocar el valor cifrado de "a01726b559eeeb5fc287bf0098a22f6c" para que quede sorprendido cuanto le traiga "@dm1n" .

Hay otra tecnica que más aun le puede sorprender, y no es usar alguna de estas paginas mencionadas, sino entrar al mayor buscador de la red , si ese mismo que ya le vino a la mente, entre en Google y sencillamente coloque el valor cifrado, en muchos casos los resultados de la busqueda le traen entre los resumenes la palabra que corresponde a valor encriptado!!!.

Claro que no todas las ocurrencias existen, es por ello que una medida que podemos optar es al momento de que se nos ocurra una super genial clave , probemos colocarla en una de estas tantas bases de datos que están en la red y si no aparece pues ya empezamos con un buen pie, y las demas opciones es seguir con las intrucciones tipicas de siempre, hacer claves super complicadas (numero, letras, mayusculas, minisculas, signos) , evitar que sean cortas y por ultimo cambiarlas cada cierto tiempo , y si no lo va a hacer (porque es muyyyy fastidioso jejeje) por lo menos revisar con cierta periocidad , que su clave aun no la han publicado!!!!!.
Continua...

lunes, 16 de noviembre de 2009

Como hacer un borrado seguro en linux

Cuando se eliminan archivos en linux (y también en windows) sin importar el medio de almacenamiento donde se encuentren, estos realmente no serán borrados del sistema de archivos. El sistema operativo lo que hará , es eliminar el puntero que asocia el archivo con la tabla correspondiente , pero con cualquier aplicación podremos recuperarlo, incluso aunque hagamos un formateo de la unidad de almacenamiento, estos igualmente podrán ser recuperados. Ahora que podremos hacer para evita que recuperen estos archivos que previamente fueron borrados?

Básicamente el proceso para realizar una correcta eliminación de los archivos, es abrir cada uno de ellos , sobreescribir la información contenida por data basura, y guardar nuevamente el archivo. Este procedimiento hará que efectivamente se pierda la información. Sin embargo realizarlo es una tarea muy tediosa , mas si se tiene múltiples archivos, o si estos son de tipo imagenes , musica o si son archivos muy grandes de texto.
Sin embargo en linux contamos con SHRED , es un comando sencillo que nos hará todo el trabajo anteriormente mencionado, este hará una entropía a la data contenida y creará el mismo archivo con "basura" lo cual garantiza que no se puede rescatar la información


shred nombreArchivo


Ahora ya que lo que se necesita es eliminar el archivo, debemos agregarle la opción -u.

shred -u nombreArchivo


Esto ademas de generarle data basura al archivo, procederá a eliminarlo si alguien ejecutará un proceso de recuperación del archivo, obtendrá algo que no le sirve.
Continua...

miércoles, 11 de noviembre de 2009

Cómo revertir un commit errado en Subversion?

A veces por error realizamos un envío (commit) que contiene algunos archivos que no es necesario que estén en el repositorio del desarrollo , es normal que estos sean varios archivos y que muchos de ellos se encuentren en varios directorios y subdirectorios, con los clientes de svn es buena práctica (y es lo que se debe hacer) marcar estos archivos para que sean ignorados y así no sean enviados. Pero que sucede si igual cometemos el error y realizamos un commit indebido?

Algunas personas prefieren eliminar cada archivo o directorio enviado, pero esto puede ocasionar multiples envio innecesarios o cometer otro error y eliminar algo que no se deba, sin embargo podemos solucionar todo con una simple linea , haciendo un merge entre la versión actual y la versión anterior:

svn merge -r version-actual:version-anterior url-del-repositorio


Esto comparará las versiones , encontrará los archivos que fueron subidos y los marcará para eliminar, y aquel o aquellos archivos modificados los marcará como conflictivos , tocará revisarlos para corregir el conflicto y así poder hacer el siguiente commit, el cual es absolutamente necesario para que hagan los cambios en el repositorio:

svn commit -m "Reversión de cambios del ultimo commit"


El comentario es opcional.
Continua...

martes, 27 de octubre de 2009

..y dónde esta instalada esa Aplicación??

Este es un comando muy pero muy útil para los usuarios linux, donde muchas veces instalamos aplicaciones automáticamente ya sea con aptitude o apt, etc y después no tenemos idea del lugar donde quedaron en el sistema de archivos (/var, /etc, /opt , etc) y lo peor viene después cuando necesitamos modificar algo , editar algún archivo .conf y no tenemos idea de donde quedo instalada esa aplicación. Bueno para esos casos basta solo con escribir el comando whereis (Dónde está? obvio!) y el nombre de lo que buscamos y listo:

whereis NombreAplicacion

Esto nos traerá el nombre de la aplicacion y seguidamente las rutas donde se encuentra en el sistema.
Continua...

jueves, 30 de abril de 2009

Renombrar Bases de Datos MySQL en Linux

Por varias razones sucede , que en ocasiones debemos renombrar una base de datos completa, en mi caso el motivo fue que un aplicativo tenía el nombre de la base de datos que debía usarse en su código interno (hard-code) y la base de datos que se creo con mysql se hizo con otro nombre, es obvio que al final la aplicación y la base de datos nunca se iban a ver, entonces que hay que hacer? renombrar.

Aunque parezca muy raro, el administrador de mysql no trae ninguna funcionalidad que permita simplemente renombrar una base de datos, existe un comando para renombrar tablas, pero no bases de datos.
Entonces que opción nos queda?, bueno hay que recordar que los esquemas literalmente el sistema los ve como un directorio, de ser así entonces sería cuestión de renombrar el directorio y ya, pues bien esto es lo que hay que hacer. El asunto es que hay que buscar donde linux guarda los esquemas de mysql.
Dependiendo de la distribución , la colocación de los esquemas va a variar, sin embargo existe un archivo que nos va a indicar donde son almacenados, este archivo es:

my.cnf


La ubicación de este archivo en distribuciones como Debian y sus variaciones, esta generalmente en:

/etc/mysql


De todas formas sino sabemos donde esta lo buscamos con usando find

find / -name my.cnf


Una vez ubicado el archivo accedemos al mismo , y ubicamos la linea que diga

datadir = /var/lib/mysql


Datadir nos indica el lugar donde MySQL almacena todas las bases de datos, en mi distribución Ubuntu observamos que esta en /var/lib/mysql, nos cambiamos a ese directorio y dentro de él veremos que contiene todas las bases de datos que tenga nuestro MySQL, y ya aquí se hace lo más sencillo de todo el cuento, simplemente renombre el directorio al nombre que desee y listo.
No es necesario bajar el servicio de mysql ni reiniciarlo.
Continua...

sábado, 25 de abril de 2009

Analizar Puertos y Conexiones en Linux

Revisar el funcionamiento de un servidor requiere de ver varias cosas, el hardware, el sistema operativo, etc, pero hay otros aspectos que también son muy importantes , más si lo que hacemos es auditar un servidor con el fin de reportar aspectos sobre la seguridad del mismo, un punto que siempre se debe ver son los puertos , el estatus , los protocolos utilizados, quien se conecta o quien se conecto?, para ello tenemos herramientas muy útiles que nos facilitan el trabajo.

Una de las mejores herramientas de uso es el famoso nmap, existe una extendida documentación en la red sobre este comando, aquí voy a colocar algunas opciones de uso que son muy útiles si estamos analizando los puertos de un servidor.
Lo primero, es saber cuales son los host que existen en una lan , en caso de que desconozcamos cuantas maquinas tenemos en nuestra red, para ello ejecutamos:


nmap -sP Direccion_de_Red/24


Si necesitamos saber cuales son los puertos que están abiertos tanto en nuestra maquina como en un host especifico solo basta ejecutar:

nmap Direccion


El detalle esta en que el comando anterior solo nos mostrará los puertos abiertos que usen protocolo TCP, es por ello que es bueno ejecutar también un scaneo para ver cuales puertos están abiertos pero que usen el protocolo UDP, para ello ejecutamos:

nmap -sU Direccion


También existe una interfaz gráfica para usar nmap, hecha por los mismos creadores de nmap, la cual es zenmap, esta disponible desde el sitio insecure.org o podemos descargarla usando apt o aptitude.
Otro detalle importante al analizar los puertos de un servidor , es verificar cuales tienen conexiones establecidas, así podemos ver si todo esta funcionando bien o si existe algún equipo que se conecta indebidamente, para ello entonces ejecutamos la siguiente sentencia:

netstat -an | grep ESTABLISHED


Existe otro mecanismo para ver quienes están conectados a la maquina y es simplemente ejecutar "w", esto nos generará un resultado como el siguiente:

Aunque parezca sencillo, esto nos permitirá saber la dirección ip del que esta conectado, la hora desde que se conecto y el usuario que esta usando.
Por último , también podemos ver las ultimas conexiones realizadas al host ejecutando:

last


Este mostrará un histórico de las ultimas conexiones establecidas con sus respectivas direcciones ip o sino en su defecto con el nombre del host de la maquina desde donde se realizó la conexión.


Continua...

jueves, 9 de abril de 2009

Falla de hotmail en Linux

Otra vez, con la salida de la nueva imagen de hotmail ocasiono diferencias con los usuarios de linux, especificamente aquellos que usen Debian y que navegen con Iceweasel, el problema hace que no se pueda escribir correos ya que la plantilla deja deshabilitado el marco donde se escribe el correo, y además no permite colocar en algunos casos los destinatarios. Sin embargo como en linux la mayoría de los problemas se pueden resolver facilmente, este no deja de ser la excepción.

Intentar actualizar el navegador web no da resultados, ya que el problema reside en que el servidor de hotmail filtra el navegador entrante y no reconoce aquellos que no sean explorer o firefox. Y aunque Iceweasel es firefox , el nombre codigo del mismo es iceweasel lo que hace que sea denegado al intentar escribir correos en hotmail.
Para solucionar esto lo que hay que hacer es abrir un pestaña nueva , o abrir el navegador , y colocar en el url la página con la que configuramos el iceweasel:


about:config


Inmediatamente saldrá el listado de parametros que posee nuestro navegador web, en la parte superior tenemos un motor de busqueda si queremos ir directamente a la linea que deseamos, en realidad la que debemos buscar es la siguiente:

general.useragent.extra.firefox


Del lado derecho veremos que aparece el parametro configurado, el cual debe decir "iceweasel/" después del / saldrá el numero de la versión de nuestro navegador lo cual no importa. Hacemos entonces doble click sobre esta configuración y se abrirá una pantalla que nos traerá el parametro que esta configurado, este dato lo cambiaremos por el siguiente:

Firefox/3.03


Una vez colocado le damos Aceptar para cerrar la pantalla y listo, cerramos la pagina de configuración del navegador, y ya podemos probar en hotmail escribir un correo para verificar que esta listo el problema ....... ocasionado por los genios de microsoft.
Continua...

lunes, 9 de marzo de 2009

Cómo descargarse la música de myspace???

Obvio que este post no tiene ningún principio ético. Mi motivación fue que a veces te consigues buenos grupos en myspace y que solo quieres algún par de pistas y entonces entras en el dilema de para que gastarse el dinero comprándoles el cd , así que entonces lo que queda es ver como te bajas la cancioncita jejeje.

El asunto es super sencillo, métanse en el servicio que tiene la página http://file2hd.com , esta gente se encarga de descargarse todo, y entiéndase todo es todo!!!, lo que necesitas es un url especifico , así que solo es cuestión de colocar la dirección, en este caso pones "http://www.myspace.com/GRUPOQUEBUSCAS" le das click en el checkmark de "I have read..... todo lo que uno nunca lee en un contrato" y listo, solo basta dar click en el botón Get Files y quedarte loco de todoooooo los archivos que te saldrán, en ese listado generado solo debes buscar los mp3 y después con tu browser escoge la opción de Guardar Destino como y ya, te has descargado tu mp3 de esa banda del myspace.
Continua...

martes, 27 de enero de 2009

y... como se llamaba ese comando en linux???

Esto seguro le ha pasado a mas de uno (a mi muchas veces por que se me olvidan muchas cosas, por eso es que trato de documentar lo que se pueda jeje), el hecho es que muchas veces ocurre que se usa un comando y tiempo después nos olvidamos de que comando fue el que usamos, seguro algunos se les ocurre ver el history y esperar que no se haya borrado ese comando. Sin embargo existen dos utilidades que nos permiten hacer la tarea más prolija , con estos podemos averiguar cual es el comando que necesitamos o debemos ejecutar.

Estas utilidades que vienen en linux son, apropos y whatis, son muy prácticas a la hora de necesitar encontrar los comandos que están relacionados a alguna actividad o encontrar un comando especifico, y la forma de ejecutarlos es muy sencilla ya que podemos escribir algo relacionado a lo que necesitamos y estos realizarán una búsqueda a través de la pagina del manual (lo que es el man) y nos traerán todos aquellos comandos que contengan la palabra clave que hemos escrito. Por ejemplo si colocamos:


apropos firewall


El resultado será :

fwbuilder (1) - Multiplatform firewall configuration tool
shorewall (8) - Administration tool for Shoreline Firewall (Shorewall)
shorewall-routestopped (5) - The Shorewall file that governs what traffic flows through the firewall while it is ...
ufw (8) - program for managing a netfilter firewall


Podemos ver que nos trae los comandos que se relacionan con la implementación, configuración etc etc de un firewall. Lo bueno de apropos es que su uso es más versátil que whatis, ya que lo que escribimos no es el nombre explicito del comando que buscamos, cosa que no ocurre cuando usamos whatis, en este el resultado esta relacionado a lo que escribimos, es decir que si colocamos:

whatis net


El resultado será:

net (8) - Tool for administration of Samba and remote CIFS servers.


Entonces bueno ya con estas dos utilidades podemos llegarle a la documentación de cualquier comando que necesitemos sobre cualquier tema y no tener que andar preguntando en la oficina.... y .... como se llamaba ese comando en linux???

Continua...

sábado, 10 de enero de 2009

Cómo saber que hardware tiene un servidor en linux?

El otro día nos toco revisar varios servidores para reutilizarlos como parte de otros servicios, el hecho es que por lo general (y tal como nos sucedió a nosotros) , solo tenemos la dirección ip del equipo, y es muy común que el administrador de los centros de datos no tengan a mano o certeza del hardware que posee un servidor en especifico. Sin embargo esto no nos debe preocupar, ya que existen comandos muy sencillos en linux con los que nos arrojará toda la información requerida.

Dependiendo de lo que queramos saber es que aplicaremos cada uno de los siguientes comandos en la consola de linux, ya sea si queremos algo en especifico o todo un informe detallado de lo que tenemos.

Conocer Tamaño del Disco
Para ello ejecutamos:


df -h


Este nos traerá el listado de las particiones que tiene el disco duro , sumando los valores de la columna Tamaño obtendremos el total aproximado del disco duro, también es interesante porque indica e espacio usado, disponible y el porcentaje de uso. El atributo -h es para que nos muestre los valores en términos de kilobytes, megas, gigas, etc.

Conocer Cantidad de Memoria Ram del Equipo
Para ello ejecutamos:

top


Este programa nos mostrará todos los procesos que están corriendo en el sistema, pero para nuestros propositos es muy útil ya que en la parte superior (en la cabecera) , al comienzo de la cuarta linea esta el valor Men, el cual muestra la cantidad de memoria que posee el equipo, aparecerá en términos de kilobytes así que se debe hacer la conversión para determinar cuantos gigas o megas se poseen (1024K = 1Mb , 1024Mb = 1Gb).

Conocer el Cantidad y Tipo de Procesador del Servidor
Para ello ejecutamos lo siguiente:

cat /proc/cpuinfo


Lo anterior mostrará el contenido del archivo cpuinfo, en el cual podremos observar las características del o los procesadores que posea el servidor, tales como cantidad de procesadores, tipo, marca, velocidad, tamaño de la memoria cache (aunque no indicará si es de primer o segundo nivel)

Conocer al detalle todo el hardware del Servidor
El siguiente comando es preferible ejecutarlo como administrador del sistema, ya que la información reflejada será más completa y además redireccionar la salida hacia algún archivo y no hacia la pantalla , ya que se generarán muchas lineas:

lshw > nombreArchivo


Este comando realizará un análisis de todo el hardware que tenga el servidor y con ello crea un informe ordenado por componentes , tendremos al detalle por ejemplo hasta el tipo del socket que tiene el procesador instalado, o que memoria ram tenemos instalada en cada banco de la tarjeta madre.
En Suse , lshw no viene en la instalación por defecto , sin embargo existe un comando que es hwinfo el cual también genera un informe con caracteristicas similares al que emite lshw.

Continua...

miércoles, 7 de enero de 2009

Eliminar carpetas .svn de un proyecto

Hay cosas que a veces son muy problemáticas y que uno le da la vuelta mil veces para conseguir la solución, y después de haber logrado resolverlo, uno se entera que existe un paso muy pero muy sencillo!!!.
Esto me paso con el problema de eliminar las carpetas de un proyecto que ha estado en un repositorio SVN, muchas veces al querer copiarlo después de haberlo descargado este traerá en cada directorio una carpeta con .svn.

A veces si era un proyecto pequeño tocaba eliminar a mano cada carpeta .svn , otras cuando es más grande se puede hacer un script que busque los directorios con extensión .svn y los borre, pero sin embargo lo que si da risa es que la solución real esta en el mismo manual del subversion, es solo cuestión de EXPORTAR el proyecto y este nos generará una carpeta con el proyecto sin las tediosas carpetas .svn!!.
Así que todo se reduce a una simple sentencia:


svn export rutasvn rutadestino


La ruta destino no es necesario que se cree , en caso de que ya este creada le tendremos que agregar al final de la sentencia la opción --force.
Y más risa dará si usamos herramientas como TortoiseSVN, RapidSVN o Workbench , ya que en estos mismo encontrará la función "export" , con lo cual solo debe seleccionar la carpeta y la herramienta se la preparará sin las correspondientes carpetas .svn.
Típico problema RTFM (Read the fuck manual!!)


Continua...

miércoles, 5 de noviembre de 2008

Crear replica de Bases de Datos MySQL

Desde la versión de MySQL 3 es posible tener una base de datos en un servidor que se alimente automáticamente de un servidor de bases de datos maestro, esto es muy útil donde se manejan muchos datos y se realizan muchas transacciones entonces se desea tener un ambiente de ata disponibilidad en caso de que uno de los servidores se caiga , se activa el otro que esta respaldado hasta las ultimas operaciones realizadas.

Esta guía la probé usando un ambiente con linux debian etch y MySQL 5.0 .
Las características de MySQL 5 soportan replicación asíncrona unidireccional: un servidor actúa como maestro y uno o más actúan como esclavos. El servidor maestro escribe actualizaciones en el fichero de log binario, y mantiene un índice de los ficheros para rastrear las rotaciones de logs. Estos logs sirven como registros de actualizaciones para enviar a los servidores esclavos. Cuando un esclavo se conecta al maestro, informa al maestro de la posición hasta la que el esclavo ha leído los logs en la última actualización satisfactoria. El esclavo recibe cualquier actualización que han tenido lugar desde entonces, y se bloquea y espera para que el master le envíe nuevas actualizaciones.

Un esclavo servidor puede servir como maestro si quiere preparar una cadena de replicaciones de replicación.

Tenga en cuenta que cuando usa replicación, todas las actualizaciones de las tablas que se replican deben realizarse en el servidor maestro. De otro modo, debe ser cuidadoso para evitar conflictos entre actualizaciones que hacen los usuarios a las tablas en el maestro y las actualizaciones que hacen en las tablas de los esclavos.

Configuración del Servidor Maestro

En el fichero /etc/mysql/my.cnf comentamos las siguientes lineas , sin importar el valor que tengan asignado, para que el demonio del mysql pueda escuchar en las interfaces de red :


# skip-networking
# bind-address = 127.0.0.1


Ubicamos en el mismo archivo la clasula [mysqld] , debajo de ella buscamos las lineas siguientes:

# server-id = 1
# log_bin = /var/log/mysql/mysql-bin.log
# binlog_do_db = include_database_name
# binlog_ignore_db = include_database_name


Estas lineas debemos descomentarlas y modificarlas dependiendo de lo que vamos a hacer, la primera es para identificar el servidor, en este caso el servidor maestro es el Nº 1, la segunda linea es la que indica la ruta donde almacenarán los logs, la tercera linea es para indicar el nombre de la base de datos que se va a replicar y a la que el servidor irá registrando en el archivo que pusimos en la ruta de la linea anterior y por ultimo en la siguiente linea colocamos el nombre de la base de datos que no registraremos. Además de modificar estos valores debemos agregar dos lineas más quedando todo este código de la siguiente forma:

server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = NombreBaseDatosReplicar
binlog_ignore_db = mysql
low-priority-updates
innodb_flush_log_at_trx_commit=1


La ultima linea agregada innodb_flush_log_at_trx_commit, cuando este valor es 1 (predeterminado), cada vez que se confirma una transacción el buffer de registros (log buffer) se graba en el fichero de registro y se vuelca a disco.
Ya con esto terminamos la edición del archivo my.cnf en el maestro, nos salimos del editor y procedemos a reiniciar el servicio de mysql

/etc/init.d/mysql restart


Bloquear y Extraer Base de Datos
Crear Usuario
Procedemos ahora a crear un usuario que tendrá permisos para que el servidor esclavo pueda conectarse a la base de datos del servidor maestro ( si ya tiene un usuario creado con tal permisología en la base de datos también puede re-asignarle permisos para la replica en el servidor esclavo). Para ello procedemos a entrar al shell del mysql como root y dentro ejecutamos la sentencia de creación del usuario:

GRANT REPLICATION SLAVE ON *.* TO 'usuario'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;


Bloquear Base de Datos
Para generar la replica de la base de datos estas deben quedar con la misma data , para ello debemos bloquear cualquier registro nuevo que se vaya a generar mientras realizamos el proceso, siendo así usamos la base de datos especifica y posteriormente la bloquearemos, esto se realizará ejecutando lo siguiente:

use nombreBaseDatos;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;


La ultima linea nos generará una respuesta la cual debemos prestar atención, ya que los datos deben ser anotados para posteriormente utilizarlos, de este resultado debemos anotar las dos primera columnas que son el nombre del fichero y la posición, los datos generados son similares a estos :

mysql-bin.0008678 98 nombreBaseDatos


Una vez anotado estos datos, nos salimos del shell de mysql.

Extraer Datos
Es necesario exportar la base de datos para posteriormente importarla en el servidor Esclavo, para ello usaremos el comando mysqldump con el cual generaremos un archivo .sql , ejecutamos entonces en el terminal lo siguiente:

mysqldump -u root -p --opt nombreBaseDatosReplicar > nombreBaseDatos.sql


Generado el archivo .sql lo copiamos en el servidor esclavo. Ahora solo queda desbloquear la base de datos en el servidor maestro para que siga su normal funcionamiento, entramos de nuevo en el shell de mysql como root y ejecutamos el comando:

unlock tables;


Hasta aquí hemos terminado la configuración con el servidor maestro, ahora procederemos a entrar al servidor esclavo para realizar la configuración.

Configuración del Servidor Esclavo
Crear e importar base de datos
En el servidor Esclavo procedemos a crear la base de datos, para ello ingresamos a mysql y desde el shell ejecutamos lo siguiente:

create database nombreBaseDatos;


Nos salimos del shell y procedemos a ejecutar en el terminal el comando para importar la base de datos que previamente habiamos guardado en un archivo .sql , esto lo haremos de la siguiente forma:

mysql -u root -p nombreBaseDatos < /rutaarchivo/nombreBaseDatos.sql

Configuración de MySQL como esclavo
Ahora editaremos el archivo my.cnf del servidor esclavo con el fin de definir que este servidor funcionará como esclavo y se le indicará quien es el servidor maestro, para ello abrimos el archivo y buscamos la clausula [mysqld]y colocamos lo siguiente:

server-id = 2
master-host = ipServidorMaestro
master-user = usuarioCreado
master-password = usuarioPassword
master-connect-retry = 60
replicate-do-db = nombreBaseDatos


Guardamos los cambios realizados y reiniciamos el servicio de mysql , posteriormente entramos como root al mysql y apagamos el servicio de esclavo ejecutando el siguiente comando:

SLAVE STOP;


Inmediatamente procedemos a ingresar los datos del ip del servidor mysql maestro, los datos del usuario y además usaremos los datos que anotamos cuando se procedió a bloquear la base de datos, es decir , el nombre del archivo y la posición, esto lo hacemos con la siguiente sentencia:

CHANGE MASTER TO MASTER_HOST='ipServidorMaestro', MASTER_USER='usuarioCreado', MASTER_PASSWORD='usuarioPassword', MASTER_LOG_FILE='archivo mysql-bin.xxxxx', MASTER_LOG_POS='Nº XX';


Para finalizar iniciamos nuevamente el esclavo y salimos del mysql:

START SLAVE;


Ahora ya se puede realizar cualquier cambio en el servidor maestro y se verán replicados en el servidor esclavo.

Continua...

martes, 14 de octubre de 2008

Habilitar Acceso Remoto a Bases de Datos MySql

Muchas veces el acceso a nuestras bases de datos lo realizamos directamente en el mismo servidor, quizás por razones de sencillez , vía ssh nos conectamos y revisamos lo que se necesita. Sin embargo, para acceder a estos servidores requerimos tener un usuario y su correspondiente clave, aparte del usuario y la clave de la base de datos. Es por ello que muchas veces necesitaremos administrar remotamente las BD de mysql y para ello solo necesitamos hacer una pequeña configuración en el servidor para permitir los accesos.

Lo primero que debemos hacer es irnos al servidor donde esta instalada la base de datos mysql y realizar un cambio en el archivo my.cnf de mysql , si esta instalado en un servidor con debian lo encontremos en la ruta:


/etc/mysql


En este archivo por defecto la instalación de MySql queda apuntando a nuestra dirección local, para ello debemos modificarla, así que ubicamos la linea que dice:

bind-address = 127.0.0.1


y le cambiamos la dirección para que quede:

bind-address = 0.0.0.0


Una vez realizado esto ejecutamos mysql como root , y una vez dentro le daremos permiso al usuario que queremos que acceda de manera remota, esto es ejecutando la siguiente sentencia:

grant all privileges on *.* to 'usuario'@'%' identified by 'password' with grant option;


Y listo, ejecutado estas dos operaciones procedemos a reiniciar el servicio de mysql:

/etc/init.d/mysql restart


Ejecutado el procedimiento , podemos probar desde otra maquina ingresar a la base de datos colocando la dirección ip , el usuario y clave de la base de datos el cual previamente configuramos.

Continua...