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

sábado 4 de octubre de 2008

Y en pocos días llega la cabra montañosa!

Siguiendo fiel a la regla de lanzar una nueva versión de ubuntu cada 6 meses, pues ya faltan pocos días para que este disponible la versión final , la cual fue denominada Intrepid Ibex, o Ibex Intrépido ( o lo que es lo mismo ... cabra montañosa). Lo cierto es que la gente de ubuntu no hace el lanzamiento en vano , no recurre a técnicas muy conocidas como microsoft de cambiar solo el aspecto y mover las cosas de lugar para hacer creer que es una versión nueva jajaj, la verdad es que este nuevo ubuntu se viene con varios cambios muy buenos que siguen los lineamientos de versiones anteriores como Hardy Heron o Gutsy Gibbon, es decir proporcionar al usuario mayor facilidad de uso separando la complejidad que pueda tener el ambiente para poder orientarlo a usuarios menos diestros (tipo windows jejeje) sin tener que bajar el rendimiento del mismo.
La nueva versión ya tiene a varios usuarios descargando la versión beta , que po cierto fue lanzada ayer 2 de octubre, lo que lo puede dejar a uno impresionado es que esa fecha ya se tenia prevista desde hace meses atrás!!! , quizás para algunas no les parezca impresionante, y dirán que con solo tenerlo planeado ya se logra, pero nooooo, desarrollar software es complicado y en cualquier momento explotan bugs y bugs qe retrasan los lanzamientos y hacen que las fechas se vuelvan difíciles de cumplir, sino me creen es cuestión de ver como muchas empresas reconocidas de software tienen que retrasar sus lanzamientos por problemas inesperados. Pero bueno eso es otro asunto, el hecho es que siguiendo el calendario para el lanzamiento de ubuntu 8.10 nos quedan dos fechas próximas y son:

  • Lanzamiento de la versión RC1 (Release Candidate 1) = 23/10/2008
  • Lanzamiento definitivo Ubuntu 8.10 Intrepid Ibex = 30/10/2008
De la versión Beta liberada ayer y de la cual ya muchos han descargado , tendrán aproximadamente dos semanas para reportar bugs y estos dependiendo de su prioridad serán corregidos e integrados a la versión RC1, cuando posteriormente habrán muchos entusiastas más que volverán a descargar la RC1 para seguir enviando bugs que serán corregidos dependiendo del nivel dela falla y serán integrados a la versión final, con la cual se vuelve a repetir el ciclo pero con la diferencia de que las correcciones empiezan a salir como parches o paquetes de actualización. Es por ello que siempre funciona mejor la idea de que si quieres que tu sistema siga funcionando bien, lo mejor es tener una partición de datos separada de las particiones del sistema , y montar la versión nueva un mes después del lanzamiento oficial , cuando ya una cantidad grande de bugs han sido resueltos jejejej. La otra opción , la cual uno muchas veces ejecuta, es montar el sistema de prueba en una maquina virtual y ver que trae nuevo , si se daña pues borramos la maquina virtual y listo todo queda bien .
Igual para aquellos que les gusta estar a la vanguardia y que quieren tener el ubuntu a la ultima versión en este link pueden encontrar las distintas versiones para descargarlo con un cliente torrent:
http://linux.softpedia.com/progDownload/Ubuntu-Intrepid-Ibex-Download-39147.html

Ya con la versión beta también se han podido apreciar los nuevos cambios que se habían mencionado , estos son:

Servidor X.Org 7.4 : Es posible ahora olvidarnos del tedioso archivo /etc/X11/xorg.conf , el nuevo servidor promete que a muchos usuarios no les será necesario la configuración a través de

Nuevo Gnome 2.23.91: Lo mejor de lo mejor en este nuevo entorno es la implementación de pestañas en el Nautilus , ahora no será necesario tener varias ventanas abiertas ya que con las pestañas tendremos las distintas vistas de las rutas. Además le colocaron un botoncito que saldrá al lado de los dispositivos extraibles con lo que se hace más amigable hacer la expulsión de un pendrive por ejemplo.

Encriptar Carpetas: Podremos tener carpetas encriptadas para evitar ademas del acceso que puedan leer cualquier información contenida, obvio que esto no es nuevo ya existen varias formas de hacerlo hoy en día sin embargo lo nuevo aquí es que ya viene implementado por defecto.

Iniciar Sesión como un Invitado : Podremos configurar un perfil de usuario Invitado el cual tendrá accesos restringido al equipo y a la data (claro porque es invitado) pero lo bueno es que aún así podrá por ejemplo navegar en internet y revisar su correo, de forma tal que ahora se podrá prestar la maquina personal a otras personas sin tener que crear un usuario especial.

Network Manager 0.7: El administrador de red trae nuevas funcionalidades y permite el manejo de varias tecnologías , ademas que la configuración pasa de ser especifica para cada usuario a general para todo el sistema , de esta forma se logra que el por ejemplo el usuario invitado tenga acceso a internet.

DKMS : Permite que los drivers del núcleo se reconstruyan de forma automática cuando sale un nuevo kernel, sin tener que esperar a que sean reconstruidos y liberados también en forma de paquete.

Como dato curioso, es probable que muchos se pregunten de donde salen estos nombres de cada versión de ubuntu, bueno para aquel que no lo sepa el número y el nombre de cada versión de Ubuntu que se desarrolla es parte también de la planificación del producto. El número de versión corresponde al año y al mes en que esta será lanzada. Por ejemplo, la versión actual, la 8.04 salió este año (08) en Abril (04), la siguiente saldrá en octubre de este año (8.10) y así sucesivamente.

En cuanto al nombre siempre sigue el mismo patrón. Un adjetivo y el nombre de un animal. Pero ojo, tanto el adjetivo con el nombre tiene que empezar con la misma letra. La letra inicial es la siguiente por orden alfabético en cada versión. Por ejemplo, la versión anterior a la actual se llamaba Gutsy Gibbon (GG) la actual es por H y se llama Hardy Heron (HH) y la que viene se llama Intrepid Ibex (II). Es bien bueno el mecanismo porque permite una facil distinción de las versiones y el mismo nombre nos indica las fechas de lanzamiento (7.04-FF, 7.10-GG, 8.04-HH y 8.10-II).

Bueno queda esperar entonces 26 días.

Continua...

viernes 26 de septiembre de 2008

Cómo saber si un Servidor esta caído?

Varias veces sucede que tenemos que acceder a una página o descargar algún archivo de un servidor en la web y resulta que quedamos rato largo esperando y después de un tiempo nos da varios mensajes de error, ya sea que no consigue la página, que no se puede acceder, que no esta disponible, etc etc. Pero el detalle esta en que ocasiones es nuestra red que tiene limitaciones de acceso a un servidor especifico, entonces como saber si es una falla de nuestra red o es el servidor que esta caído??.

Usando linux o windows , podemos saber si un servidor esta caído (aunque prefiero más linux jejej) y así despejar la duda si en nuestra red alguien bloqueo algunos puertos o direcciones en concreto.
En linux tenemos dos comandos que fácilmente nos podrá dar una respuesta, el primero es enviar un paquete al servidor destino y ver si nos da respuesta, aunque "ojo" esta opción puede que igual nos de un resultado negativo y no sea porque el servidor destino este caído sino porque este configurado para no responder a paquetes basura.
Entonces, nos metemos en la consola tanto en windows como en linux, nos sirve hacer un ping al servidor a consultar


ping name.server


Si el servidor esta bien nos responderá los paquetes , es interesante analizar el tiempo de respuesta ya que si es muy grande indica que lo que esta sucediendo quizás es que el ancho de banda en la red esta muy saturado de paquetes. Sin embargo como indique anteriormente puede ser que el servidor este bien y aun así no responda.
Es por ello que tenemos otra forma y es realizar un rastreo de un paquete enviado, esto lo ejecutamos con el comando traceroute en linux o tracert en windows, por lo tanto quedaría así:
En linux

traceroute name.server


En Windows

tracert name.server


Lo bueno de rastrear el paquete es que permite ver si el problema esta en nuestra red, ya que si el paquete que enviamos no llega a pasar el gateway de nuestra red quiere decir que hay algo que esta filtrando los paquetes y que evita el acceso al servidor que queremos acceder, sin embargo si el paquete si sale de nuestra red y no termina de llegar al servidor destino esto nos indica que es posible que este caído el servidor que queremos acceder.
También existe otra opción muy simple, y es a través de la dirección web www.estacaido.com , aquí sencillamente te piden el nombre de la pagina que quieres ver y ellos se encargan de hacer el analisis , al cabo de un rato te responden muy claramente si el problema es tuyo o es del servidor!.
Continua...

jueves 11 de septiembre de 2008

Migrar Repositorios SVN de un Servidor a otro

Este post es un 2 en 1, ya que aquí además de poder hacer la migración de un repositorio de un servidor a otro servidor, también podemos definir un esquema para respaldos de los directorios SVN.

Y aunque la intención es que migremos los repositorios de un ambiente a otro , el procedimiento también nos será útil si tenemos que colocar el directorio SVN en otra partición del disco del servidor.

Para realizar la migración, con svn procedemos a comprimir el directorio y este será guardado en un formato .dump, entonces lo primero que haremos será ubicarnos en el directorio del repositorio que queremos migrar y desde allí ejecutamos lo siguiente:

svnadmin dump nombre_directorioSVN/ > nombre_directorioSVN.dump


Este proceso se tardará un poco dependiendo del tamaño del directorio y la cantidad de revisiones que tenga, una vez finalizado obtenemos un archivo .dump el cual es el que usaremos para descomprimir e instalar en el lugar que deseemos (sea oro servidor y otro directorio svn). Lo importante también es que este mismo archivo lo podemos generar cada vez que necesitemos, generando así un respaldo del directorio SVN!!
Para continuar con la migración, copiamos el archivo .dump en el directorio SVN del servidor donde irá, y procedemos a crear el directorio svn:

svnadmin create nombre_directorioSVN


E inmediatamente cargamos el archivo .dump

svnadmin load nombre_directorioSVN <>

Ahora comenzará a descomprimir el archivo y cargarlo en el nuevo repositorio, nuevamente el proceso tardará dependiendo del tamaño del repositorio y de la cantidad de revisión es que tenga.
Un detalle muy pero muy importante en la migración, es crear el directorio svn en el momento en que vayamos a realizar la descompresión del archivo .dump , ya que si el repositorio ha sido creado previamente y se le han hecho modificaciones , por más mínima que sean (cambios de permisología, etc.) , la migración no funcionará y por consiguiente al descomprimir el archivo .dump este arrojará un error cuando se quiera acceder al repositorio svn.
Continua...