Blog personal y con información de GNU/Linux. Contenido netamente original, algo muy difícil de conseguir por estos lares. Por tal motivo no suelo escribir con frecuencia. Espero les guste.

miércoles, 30 de julio de 2014

Aporte: Imagen "Infinity Conky" adaptada para Archlinux

20:38 Posted by Jesus Ricardo Ballesteros Molina No comments
Muy buenas noches. 

Creo que cualquier usuario de GNU/Linux está acostumbrado a realizar cambios, ya sea de distribución, entorno de escritorio o gestor de ventanas. En mi caso estoy usando nuevamente Openbox y para ser honesto, creo que el 90% de los usuarios que usen este gestor de ventanas tienen alguna configuración de conky. 

NO soy un experto configurando conky desde cero, por tal motivo hago lo que hace casi todo el mundo. Basarme en una configuración que haya hecho otra persona. 

En mi caso usaré la configuración que hicieron en este blog. A diferencia de aquel post que hice en el 2011 no pretendo dar un manual mas detallado de como instalar esta configuración de conky, con seguir los pasos en el "README" ya debería funcionar mas que bien. 

Sin embargo, si logran conseguir la configuración de conky verán que está adaptada para Backtrack Linux y no para Arch. Por fortuna el mismo autor nos comparte el archivo .psd para hacerle las adaptaciones necesarias, yo le hice la mía para Archlinux por si la quieren descargar. 

Así queda ejecutándose conky con la adaptación hecha por mi.



Comparto la imagen adaptada y el .xcf (Lo hice con GIMP :) ) para que puedan hacerle las adaptaciones pertinentes para otras distros. 

Para descargarlo, solo hagan click acá

Un saludo.

Cambiando la apariencia del Blog nuevamente

18:34 Posted by Jesus Ricardo Ballesteros Molina No comments
Muy buenas tardes. 

Me place informar que nuevamente he cambiado la apariencia del blog. Hace tiempo lo había hecho pero no estaba conforme con el cambio, sentía que fue algo hecho a los apuros. Esta vez me tomé mas tiempo para hacer algo organizado. 


Para el cambio de apariencia no es nada del otro mundo. Solo basta con ir a algún sitio donde hayan plantillas personalizadas (Las de Blogger me tenían aburrido), por ejemplo este sitio

Yo me descargué la plantilla "Moments", la instalación es relativamente sencilla. Solo basta con ir a la pestaña de "Plantilla -> Crear/Restablecer copia de seguridad" y seleccionar la plantilla que se descargaron, de paso se puede aprovechar la oportunidad para hacer un backup a tu blog.

La gran ventaja de bajar plantillas de otros sitios es que normalmente son mas bonitas sin embargo muchas veces las cosas no quedan como te gustan y toca hacer uno que otro ajuste en html, nada del otro mundo pero para alguien que está acostumbrado a tener todo con simples clicks probablemente sea un problema. 

También puse disqus en los comentarios, es un añadido que está hecho para eso y me parece mas organizado. 

Con respecto al contenido, se me han ocurrido dos entradas mas, tendré que prepararlas bien antes de publicarlas, también moderaré mi lenguaje ya que no tiene sentido compartir conocimiento con vulgaridades. 

De cualquier forma, espero que guste el cambio.

Un saludo.

domingo, 23 de junio de 2013

Renovando la apariencia del Blog.

18:27 Posted by Jesus Ricardo Ballesteros Molina No comments
Queridos lectores(?), muy buenas tardes. 



Pues no he escrito nada por dos razones: 

1. No se me ocurre nada.
2. Cuando se me ocurre algo me da pereza :P 

Tenía rato que no visitaba el sitio y a decir verdad quedé impresionado de la cantidad de personas que lo visitan diario, quizás mis pajazos mentales entradas no sean las mejores pero estoy satisfecho de al menos dar un aporte a la comunidad. 

Por el momento solo le hago un cambio a la apariencia del blog, ojalá se me ocurran mas cosas para poder seguir aportando. 

Un saludo.

martes, 21 de agosto de 2012

Out of Reach

19:34 Posted by Jesus Ricardo Ballesteros Molina No comments
Yo se que no hago mucha falta y que escribo poco y blablablablabla, ya me siento mejor y todas las maricadas cosas tristes que escribí anteriormente olvidenlo, las dejo para acordarme de lo ridiculo que he sido al escribir jejejeje.. Por ahora me ausentaré pero tengo nuevos post para poner con cosas interesantes, tengo que planearlos bien antes de escribir cualquier maricada cosa. 



Saludos :)

martes, 29 de mayo de 2012

No mas distancia.....

20:39 Posted by Jesus Ricardo Ballesteros Molina No comments
Esta es una de mis entradas poco casuales, es verdad que tengo un montón de tiempo que no escribo, las excusas son las mismas de siempre, tiempo y trabajo. Para los que están acostumbrados a leer cosas de tecnología, software libre, celulares, etc esta entrada no es para ustedes, así que pueden ignorarla si no desean perder el tiempo. Esto es el "Blog de Chucho", un blog personal, y como tal escribo de todo. Así que si esta entrada no le gusta a alguien pues se puede ir a su gran puta mierda, me vale huevo porque mi interés nunca ha sido ganar dinero con este blog y tampoco que sea popular. 

Esta vez escribo porque estoy jodidamente triste cuando se supone que debería de estar feliz, porque:

1. Tengo un buen trabajo, no es el mejor pero si es envidiable por muchos.
2. Me subieron el sueldo sin que lo pidiera y eso es una noticia rara en Colombia sobre todo con esta mierda de desempleo tan barbara que hay. 
3. Toda mi familia está bien.
4. Tengo salud, o eso creo. 



La razón por la que me encuentro triste es por un fracaso amoroso, quizás es una maldita estupidez escribir estas mierdas acá, muchos preguntarán: 

- ¿Porqué no usas Twiter, facebook o alguna red social?. 



Porque no me gusta dar lastima, vaina que odio en esta vida es la gente que quiere impresionar dando lastima y yo no puedo ser algo que odio, ahora dirán: 

- Pero tu blog es sitio publico y todo el mundo puede leer lo que escribes acá.

Si, pero curiosamente nadie lee esta mierda y he comprobado personalmente que en las redes sociales hay mas chismosos, aquí estoy seguro que la mayoría de personas no leerán esto y como soy una persona de pocas palabras, de poco comunicar necesito desahogarme de alguna manera, si me sigo guardando esto, simplemente me haré mas daño, es por esa razón que escribo esta entrada, probablemente el día de mañana diré que esto es jodidamente ridículo y la borre, mientras tanto sigo en mi viaje.

Estoy putamente triste porque mi vida amorosa solo han sido fracasos, y es esa maldita distancia la que me tiene mas jodido, las mujeres con las que he tenido esperanzas bonitas, todas han sido en la distancia, dos me han dado una patada en el culo, una sin razón la otra no se, y la única persona que me ha demostrado quererme simplemente tampoco se pudo dar por la jodida distancia (Al otro lado del charco) , curiosamente es con quien nunca tuve contacto pero es una mujer que quise mucho, hoy esa persona está feliz con su pareja y la verdad suena raro que diga esto pero me alegra porque ella si que se lo merece.

Estoy triste porque no se si he sabido comportarme, quizás es la falta de tacto o experiencia en estas vainas, siempre he sido orgulloso y eso ha hecho que pierda muchas cosas, me ha pasado que muchas cosas comienzan bien y terminan muy mal, muchas veces sin saber porqué, me ha dado la sensación de que algo mal pasa, pero como es algo que se ha repetido constantemente a veces pienso que el problema no sean ellas, el problema soy yo, pero me pregunto ¿Que hice mal?, ¿En que he fallado? y por el orgullo pues dejo de hablarles y después de un tiempo me dicen bye y al final siempre salgo jodido, lo peor de todo es que donde he tenido sentimientos fuertes han sido con viejas que están en la distancia.. ¿Será que me es difícil encontrar a alguien acá?..




Mi vida nunca fue la mejor, a pesar de que en muchos aspectos he sido exitoso siempre he vivido normal, normalmente el periodo entre una relación y otra es demasiado largo pero lo que mas me jode la paciencia es que a pesar de que no era el mas feliz del mundo estaba tranquilo, se me aparece alguien, me ilusiono, tengo un periodo de felicidad máxima, tomo mi patada en el culo por pendejo y ahora estoy peor e incluso mas triste que antes. 

Esto no indica que me vaya a matar o alguna de esas mierdas, yo me quiero mucho para hacer una pendejada de esas, pero como dije anteriormente tengo que sacar lo que pienso de alguna u otra forma o esa mierda me carcomerá.

En conclusión, próxima novia/amor/bacile/loquesea que NO MAS DISTANCIA, en los viajes no me haré ilusiones pendejas ya la experiencia (tengo bastante) me ha dicho que las relaciones amorosas a distancia NO FUNCIONAN.

PD: Normalmente leo varias veces lo que escribo pero como probablemente borraré esto en un futuro me vale mierda si entienden o no.

sábado, 11 de febrero de 2012

Instalando Clockworldmod recovery en el Samsung Galaxy GT-B5510L

13:10 Posted by Jesus Ricardo Ballesteros Molina 17 comments
Muy buenas tardes. Hace tiempo había escrito un pequeño manual sobre como obtener el acceso de root en este móvil, en esta semana después de tanto buscar, he logrado instalar CWM en este celular, este recovery tiene cosas que el recovery de tu celular por defecto no permite, por ejemplo, con este puedes sacar un backup de tu rom de fabrica, esto te permite tener un respaldo en caso de cargarte el celular con roms personalizadas que hayan por la red.

En vista de que la información para este móvil es poca, yo voy paso a paso, mi idea es compilar mi propia rom porque yo necesito el soporte de netfilter en el kernel (Droidwall no funciona en mi celular por eso) y a mi me afecta un bug que extrae la memoria SD repentinamente, pero antes necesito un backup de mi rom por si las moscas.  

NOTA ANTES DE EMPEZAR: LO MISMO DE SIEMPRE, ESTOS PASOS QUE DARÉ A CONTINUACIÓN ME FUNCIONARON A LA PERFECCIÓN, SI DESEAS SEGUIRLOS ES BAJO TUS PROPIO RIESGO, CUALQUIER DAÑO CAUSADO A TU MÓVIL NO ES RESPONSABILIDAD MÍA.

He aquí los pasos para instalar CWM en el móvil que son muy similares a los de la entrada anterior. 

1. Descarga el siguiente archivo skin1980-Gt-s5360+cwm.zip
2. Copia el archivo anterior en la memoria SD de tu celular. 
3. Apaga tu móvil. 
4.Entra en modo de recuperación, para ello presiona las teclas "Subir Volumen" + "Home" + "Power".
5. En el modo de recuperación selecciona la opción "Apply update.zip"
6. Selecciona el archivo "skin1980-Gt-s5360+cwm.zip" que descargaste en el paso 1. 
7. Reinicia el sistema.

Con esto ya debería de cargar el CWM en lugar del recovery que viene por defecto. Explorando un poco el menú se puede hacer un backup del sistema. 

Aunque el .zip está para el Samsung Galaxy Y (sin el "Pro"), funciona perfectamente aquí porque los modelos son muy parecidos. Simplemente me basé en esa referencia y busqué un .zip para ese modelo y no hubo problema alguno, de hecho muy rara vez hay problemas con la instalación de CWM, pero en mi opinión si voy a tomar riesgos la idea es estar lo mas informado posible para que el impacto no sea tan grave en caso de que pase algo.

Esto es todo por el momento y espero que esto le pueda servir, el siguiente paso será desbloquear el bloqueo de red (valga la redundancia), y compilar mi propia rom. Si alguien tiene experiencia en esto agradecería que la compartiera también.

El archivo .zip y la información necesaria la obtuve de este sitio:

http://www.galaxyy.tk/


domingo, 5 de febrero de 2012

Como obtener acceso de root en un Samsung Galaxy Y Pro GT-B5510L

13:33 Posted by Jesus Ricardo Ballesteros Molina 31 comments
Muy buenos días. Ando bastante perdido después de mucho tiempo, todo se debe a cuestiones de trabajo y el tiempo libre que me queda lo utilizo para otras cosas :). En fin, vamos al grano. Hace mas o menos un mes me compré un Android, lo compré mas por cuestiones de trabajo que para usos personales, tal cual como dice el titulo, compre un Samsung Galaxy Y pro GT-B5510L. Dicho aparato cuenta con teclado y es útil para chatear, escribir correos y todas esas pendejadas, si quieren información mas detallada pueden ir a este enlace



El gran problema de este móvil es que no lo tienen muchas personas, y la información en español es muy poca para hacer cosas como rootearlo, flashearlo, etc. Para no seguir escribiendo estupideces, les enseñaré los pasos para obtener acceso root de este dispositivo. 

NOTA ANTES DE EMPEZAR: ESTO NUNCA SOBRA DECIRLO, EN MI CASO APLIQUÉ ESTOS PASOS Y LOGRÉ HACERME DE ROOT, YO PUEDO GARANTIZAR QUE A MI ME FUNCIONÓ, PERO SI TU QUIERES SEGUIR LOS PASOS, HAZLO BAJO TUS PROPIOS RIESGOS, SI TU MÓVIL SE DAÑA O TIENES PERDIDAS DE DATOS NO ME HAGO RESPONSABLE DE ESTO, PARA EVITAR PERDIDA DE DATOS ES RECOMENDABLE HACER UN BACKUP ANTES DE PROSEGUIR. 

Bien, habiendo seguido la nota, estos son los pasos:

1. Descarga el siguiente archivo update.zip.
2. Copia el archivo anterior en la memoria SD de tu celular. 
3. Apaga tu móvil. 
4. Entra en modo de recuperación, para ello presiona las teclas "Subir Volumen" + "Home" + "Power".
5. En el modo de recuperación selecciona la opción "Apply update.zip"
6. Selecciona el archivo "update.zip" que descargaste en el paso 1. 
7. Reinicia el sistema. 

Con estos pasos ya deberías obtener el acceso de root en tu celular. Una forma de probar si tu móvil es root o no, es con la aplicación "Root check basic" que se puede obtener de la tienda de aplicaciones de Android. 

Bien, esto es todo por el momento, espero que esto les haya servido a los que tienen este celular. Un feliz día para todos ustedes.


Para hacer este manual me basé en los siguientes links: 

http://androidbeast.com/509/tutorial-to-download-the-firmware-root-samsung-galaxy-y-pro-b5510/
http://www.androidworld.nl/forum/samsung-galaxy-y-pro-b5510/28124-root-toegang-succesvol.html


NOTA DE EDICIÓN: DESDE HACE MUCHO TIEMPO, NO DISPONGO DE ESTE CELULAR, ESTE POST YA PASARÍA A SER DESACTUALIZADO, CUALQUIER INQUIETUD RECOMIENDO PREGUNTAR A LA COMUNIDAD.


sábado, 10 de septiembre de 2011

Instalar el tema de plymouth "Caledonia-tux" en Archlinux

18:41 Posted by Jesus Ricardo Ballesteros Molina 3 comments
Muy buenos días. Como se darán cuenta tengo mis meses que no publico nada :P. En realidad se debe a lo mismo de siempre, falta de tiempo, tanto trabajo hace que pase menos tiempo en mi computador y gracias a eso es que puedo escribir entradas sobre informática que es lo que mas me gusta :).

El día de hoy estaba "Caledonizando" mi escritorio. Para los que no saben, Caledonia es un tema para plasma de KDE creado por Malcer, quien tiene su propio blog con muchos temas interesantes y mucho mas actualizado que el mío :P...  En principio he de reconocer que el tema no me gustaba mucho, pero viendo los wallpapers y los temas de KDM cada día me gustan mas por lo que he decidido dejar el escritorio lo mas uniforme posible. He aquí un pantallazo:


La idea para el día de hoy no es enseñar como configurar tu escritorio para que se vea como el mío, de hecho hay demasiados manuales para hacer eso, además de todo KDE lo puedes personalizar a tu gusto, lo que quiero mostrar es como instalar el tema para plymouth , del cual escribí hace un tiempo sobre como solucionar un Warning que se nos presentaba. El tema es Caledonia-Tux.

Como vemos las instrucciones para instalarlo son para otras distros (Lo mas probable es que sean para Ubuntu). Para instalarlo en Archlinux los pasos son los siguientes:

1. Descargamos el archivo (Creo que esto sobra :P).
2. Descomprimimos (Esto también sobra decirlo pero no falta el.....)
3. Copiamos la carpeta a /usr/share/plymouth/themes 
4. Editamos el archivo "caledonia-tux.plymouth"

Como vemos, en la sección de "script" tenemos algo como esto: 

[script]
ImageDir=/lib/plymouth/themes/caledonia-tux
ScriptFile=/lib/plymouth/themes/caledonia-tux/caledonia-tux.script

Simplemente debemos de cambiar las rutas por las correctas, en archlinux la ruta de los temas de plymouth se encuentran en /usr/share y no en /lib, así que deberíamos de tener algo como esto: 

[script]
ImageDir=/usr/share/plymouth/themes/caledonia-tux
ScriptFile=/usr/share/plymouth/themes/caledonia-tux/caledonia-tux.script

Guardamos los cambios e instalamos el tema como normalmente lo haríamos en plymouth: 

#plymouth-set-default-theme caledonia-tux
#mkinitcpio -p linux (Normalmente "linux" es el preset predeterminado pero debes asegurarte cual es el tuyo).

Y con esto deberían de tener el tema para plymouth funcionando correctamente, estos pasos no solo le servirían para caledonia sino para cualquier otro tema que quieran instalar en Archlinux, si los scripts están funcionando bien pues solo deben de asegurarse que en el .plymouth se esté apuntando a la ruta correcta, y esto es todo por el momento. Quisiera decirles que escribiré mas seguido pero no es algo seguro, simplemente espero que estos pasos le sirvan a alguien. Un saludo.  

sábado, 23 de julio de 2011

Acceder a una VPN Checkpoint desde Chakra/Archlinux

19:20 Posted by Jesus Ricardo Ballesteros Molina 1 comment
Hola a todos :), que me dicen mis queridos lectores, nada ya lo se ¬¬. Para el día de hoy les explicaré como conectarnos a una VPN checkpoint a través de GNU/Linux. Para los que no saben, checkpoint es una marca conocida que se dedica a crear dispositivos de seguridad, como Firewalls, Secure Gateways, etc. 

Uno de nuestros clientes en la empresa donde laboro tiene una VPN configurada en uno de estos dispositivos, si buscamos como acceder a dicha VPN desde un Windows es relativamente sencillo, el problema es cuando intentamos acceder desde GNU/Linux, una de las cosas que me dijeron es que desde GNU/Linux NO ERA POSIBLE acceder a la VPN, pero realmente SI ES POSIBLE y yo les diré como, esto es en caso de que deseen hacerlo, se que a la gran mayoría este manual no les servirá de nada, pero en mi caso tuve problemas para conectarme y quiero compartir mi experiencia. 

Primero que todo, debe quedar claro que esto lo hice desde la distribución Chakra GNU/Linux, puedo garantizar que funcionará en Chakra y en Archlinux, he escuchado que para Debian también funciona, para Ubuntu toca hacer unos pasos de mas pero también funciona, pero es algo que les recomiendo que averigüen ustedes mismos. 

Esto es lo que necesitamos para realizar la conexión:  

1. Necesitamos la versión propietaria de Java, en mi caso con la versión libre no pude hacer correr el cliente, así que si alguien lo logra con la versión libre les agradezco compartir como se hace :). En el caso de Archlinux o Chakra sería:  

#pacman -S jre  

2. Descargar el software "snx", se puede descargar desde la pagina oficial de checkpoint o desde el servidor para conectarse a la vpn, en mi caso hice la descarga desde el propio servidor a donde desean conectarse, tal cual como lo muestra la imagen en la parte de abajo. 


El siguiente paso sería instalar SNX en la maquina linux, para ello simplemente descargamos el software, le damos permisos de ejecución y lo instalamos: 

#chmod +x snx_install.sh
#./snx_install.sh

Luego de hacer la instalación, ingresamos al servidor nuevamente e intentamos conectarnos a la VPN, en mi caso para conectarme a la VPN del cliente, este nos creó un certificado con una llave publica, por lo cual para la instalación no necesitaría ingresar la contraseña cada vez que me conecto, así que para establecer la conexión con el certificado es necesario importarlo a tu navegador, en mi caso usé Firefox pero ustedes podrán usar el que quieran: 

Primero ingresamos a las preferencias de firefox, luego vamos a la sección de "Avanzado ->encripción -> Ver certificado", luego se abrirá un dialogo donde podemos importar el certificado: 


Ingresamos la contraseña de conexión:


Y si las cosas salen bien, deberíamos de recibir el siguiente mensaje:


REINICIAMOS EL NAVEGADOR(lo resalto en negrilla porque esta parte es importante!!!).

Intentamos ingresar al servidor nuevamente y Firefox nos alertará sobre el nuevo certificado:


 Damos permiso a Java para abrir los applets:


Y con eso ya estaremos conectado a la VPN, y a trabajar se ha dicho :).


domingo, 17 de julio de 2011

Video Promocional de Archlinux

17:24 Posted by Jesus Ricardo Ballesteros Molina 2 comments
Hola muchach@s como están?.. No he podido publicar mas articulos en mi blog por cuestiones de tiempo y otra razón por la que no lo he hecho es porque me caracterizo por hacer publicaciones 100% originales y mi idea siempre ha sido hacer manuales que no estén publicado en ningún otro sitio, por el momento NO he vuelto a tener problemas :) así que no he publicado nada pero en cuanto tenga algo en mi mente no dudaré en hacerlo :).

Por el momento solo quiero hacerle publicidad a la distro Linux que me tiene enamorado, si señores(as) estoy hablando de Archlinux , en este articulo del Blog de Picodev he encontrado un video interesante que hizo sobre la distro, espero que lo disfruten y quizás los convenza de usar o al menos probar esta excelente distro. 


Espero no haberlos decepcionado por no escribir nada ultimante pero apenas tenga algo prometo no decepcionarlos, un saludo de mi parte y por ultimo una frase sobre Arch que encontré en Identi.ca de Offray :). 

"Incluso cuando archlinux falla, las soluciones son las que uno se imagina, sin necesidad de leer interminables documentos."

lunes, 6 de junio de 2011

Algo de seguridad extra: Rootkits

18:28 Posted by Jesus Ricardo Ballesteros Molina 2 comments
Hola a todos.

Esta vez dejo otro pequeño post sobre seguridad informática, en días anteriores estuve hablando de una conversación que tuve con un experto en seguridad, he estado trabajando sobre este tema y pues también he estado aprendiendo cosas sobre este grandioso tema, incluso estoy pensando en hacer una especialización o una maestría sobre seguridad informática. también he dejado un manual sobre como configurar nuestro firewall con iptables en nuestro Archlinux, aunque la configuración del script aplica para cualquier distro :), la idea era explicar como funcionaba iptables. 

Como ven el tema del post, mi idea es no hablar sobre los rootkits, si desean saber que son, para que sirve, cuales son sus objetivos, etc. Les recomiendo este articulo que encontré en infospyware, lo que realmente quiero hacer en este articulo es conscientizar a la gente de la importancia que debe ser para nosotros la seguridad informática, es verdad que en los computadores caseros podemos estar mucho mas relajados que en los ordenadores de los bancos por ejemplo, pero eso no quiere decir que debemos dormirnos y descuidar esta parte. Por ejemplo, nosotros los Linuxeros cuando salimos de Windows creemos que somos invulnerables porque Gnu/Linux es mucho mas seguro que Windows, pero muchos no saben que los Juankers se desempeñan mucho mejor en un equipo con Linux que con Windows cuando este es atacado, tampoco saben que los rootkits en Linux son mucho mas peligrosos en Linux que en Windows. 

En Archlinux, por ejemplo, los usuarios normalmente suelen tener mas conocimiento de lo que se hace, pero muchos descuidan la parte de seguridad, en Archlinux los paquetes que instalamos desde los repositorios NO vienen firmados, por lo cual ahí corremos un riesgo en la parte de seguridad, entonces mientras los paquetes no vengan firmados y mientras solucionan ese "problema" en un futuro (Que lo harán), debemos de usar herramientas como chkrootkit que nos ayude a identificar este tipo de troyano en nuestro sistema.

Para instalar chkrootkit en Archlinux solo nos basta con usar nuestro gran amigo pacman o yaourt:

yaourt -S chkrootkit

Para hacer un pequeño escaneo, simplemente ejecutamos ckrootkit como usuario administrador desde la consola: 

#chkrootkit

Si ejecutamos el comando anterior, muy probablemente tendremos una salida como esta: 


[root@chucho ~]# chkrootkit

ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
Checking `chfn'... not infected
Checking `chsh'... not infected
Checking `cron'... not infected
Checking `crontab'... not infected
Checking `date'... not infected
Checking `du'... not infected
Checking `dirname'... not infected
Checking `echo'... not infected
Checking `egrep'... not infected
Checking `env'... not infected
Checking `find'... not infected
Checking `fingerd'... not found
Checking `gpm'... not infected
Checking `grep'... not infected
Checking `hdparm'... not found
Checking `su'... not infected
Checking `ifconfig'... not infected
Checking `inetd'... not tested
Checking `inetdconf'... not found
Checking `identd'... not found
Checking `init'... not infected
Checking `killall'... not infected
Checking `ldsopreload'... not infected
Checking `login'... not infected
Checking `ls'... not infected
Checking `lsof'... not infected
Checking `mail'... not infected
Checking `mingetty'... not found
Checking `netstat'... not infected
Checking `named'... not found
Checking `passwd'... not infected
Checking `pidof'... not infected
Checking `pop2'... not found
Checking `pop3'... not found
Checking `ps'... not infected
Checking `pstree'... not infected
Checking `rpcinfo'... not infected
Checking `rlogind'... not found
Checking `rshd'... not found
Checking `slogin'... not found
Checking `sendmail'... not found
Checking `sshd'... not infected
Checking `syslogd'... not tested
Checking `tar'... not infected
Checking `tcpd'... not infected
Checking `tcpdump'... not infected
Checking `top'... not infected
Checking `telnetd'... not found
Checking `timed'... not found
Checking `traceroute'... not infected
Checking `vdir'... not infected
Checking `w'... not infected
Checking `write'... not infected
Checking `aliens'...
/dev/shm/pulse-shm-3176219557
Searching for sniffer's logs, it may take a while... nothing found
Searching for HiDrootkit's default dir... nothing found
Searching for t0rn's default files and dirs... nothing found
Searching for t0rn's v8 defaults... nothing found
Searching for Lion Worm default files and dirs... nothing found
Searching for RSHA's default files and dir... nothing found
Searching for RH-Sharpe's default files... nothing found
Searching for Ambient's rootkit (ark) default files and dirs... nothing found
Searching for suspicious files and dirs, it may take a while... nothing found
Searching for LPD Worm files and dirs... nothing found
Searching for Ramen Worm files and dirs... nothing found
Searching for Maniac files and dirs... nothing found
Searching for RK17 files and dirs... nothing found
Searching for Ducoci rootkit... nothing found
Searching for Adore Worm... nothing found
Searching for ShitC Worm... nothing found
Searching for Omega Worm... nothing found
Searching for Sadmind/IIS Worm... nothing found
Searching for MonKit... nothing found
Searching for Showtee... nothing found
Searching for OpticKit... nothing found
Searching for T.R.K... nothing found
Searching for Mithra... nothing found
Searching for LOC rootkit... nothing found
Searching for Romanian rootkit... nothing found
Searching for Suckit rootkit... nothing found
Searching for Volc rootkit... nothing found
Searching for Gold2 rootkit... nothing found
Searching for TC2 Worm default files and dirs... nothing found
Searching for Anonoying rootkit default files and dirs... nothing found
Searching for ZK rootkit default files and dirs... nothing found
Searching for ShKit rootkit default files and dirs... nothing found
Searching for AjaKit rootkit default files and dirs... nothing found
Searching for zaRwT rootkit default files and dirs... nothing found
Searching for Madalin rootkit default files... nothing found
Searching for Fu rootkit default files... nothing found
Searching for ESRK rootkit default files... nothing found
Searching for rootedoor... nothing found
Searching for ENYELKM rootkit default files... nothing found
Searching for common ssh-scanners default files... nothing found
Searching for suspect PHP files... nothing found
Searching for anomalies in shell history files... Warning: `//root/.mysql_history' file size is zero
Checking `asp'... not infected
Checking `bindshell'... not infected
Checking `lkm'... chkproc: nothing detected
chkdirs: nothing detected
Checking `rexedcs'... not found
Checking `sniffer'... wlan0: PF_PACKET(/usr/sbin/wpa_supplicant)
Checking `w55808'... not infected
Checking `wted'... chkwtmp: nothing deleted
Checking `scalper'... not infected
Checking `slapper'... not infected
Checking `z2'... chklastlog: nothing deleted
Checking `chkutmp'... The tty of the following user process(es) were not found
in /var/run/utmp !
! RUID PID TTY CMD
! root 2449 tty7 /usr/bin/X :0 vt7 -nolisten tcp -auth /var/run/xauth/A:0-yJWeeb
! chucho 7555 pts/2 /bin/bash
! chucho 7563 pts/2 su -
! root 7566 pts/2 -bash
! root 8918 pts/2 /bin/sh /usr/bin/chkrootkit
! root 14269 pts/2 /usr/bin/chkutmp
! root 14270 pts/2 ps ax -o tty,pid,ruser,args
chkutmp: nothing deleted
Checking `OSX_RSPLUG'... not infected

 
Como ven al parecer no estoy infectado :), de todas maneras sabemos que este tipo de herramientas tienen probabilidad de fallas. En lo que he visto para prevenir los rootkits en nuestras computadoras debemos de: 

- Usar firewall :), es decir, bloquear todos los puertos que nos sea posible y usar los estrictamente necesarios, obviamente esto es recomendable hacerlo cuando recién instalas tu Sistema Operativo.

- Mantenernos actualizados (En Archlinux esto no es un problema ;) ). Siempre que sea posible es recomendable actualizar tu distro, los juankers todo el tiempo están pendientes de las vulnerabilidades para acceder a tu sistema y normalmente las distros (Como Ubuntu, Fedora, etc) hacen actualizaciones menores que son para corregir errores o de seguridad. 

En el caso de que un bicho de estos se cuele en tu sistema la cosa es mas complicada, los rootkits se pueden eliminar, pero necesitaríamos hacer el arranque desde un disco diferente (USB, CD-ROM) al infectado y eliminarlo. 

Otra herramienta importante en GNU/Linux es rkhunter, muchos dicen que es mas completa, en realidad nunca la he usado, pero en el caso de nuestros Desktop chkrootkit puede ser suficiente. 

Bien, solo quería contar una pequeña anectota mas y dejar un pequeño articulo que nunca esta de sobra. Un saludo. 

martes, 31 de mayo de 2011

De vuelta a KDE

19:47 Posted by Jesus Ricardo Ballesteros Molina 9 comments
Estaba contento con mi Openbox, no me hacía falta nada y ya lo tenía un 99% configurado, tuve que cambiarme a KDE porque mi hermanita de vez en cuando usa el ordenador y no pudo adaptarse a Openbox ni a Gnome3, les parecía incomodo y no podía usar muchas cosas, así que opté por volver a KDE y colocarle una apariencia mas parecida al gnome clásico. Este es el resultado. 

Un pantallazo con "Stack Folder", un plasmoid de KDE4 que vendrá incluido de serie en Mandriva 2011, los Archeros podemos disfrutar de el gracias al repositorio infinito de AUR. 

  
También he instalado los iconos de Faenza pues me encanta ese pack de iconos, fueron principalmente creados para Gnome, pero puedes encontrar un port para KDE en esta página



Decidí dejar los dos paneles mas centrados porque me parece que se ven mas bonito, de todas maneras a mi hermanita lo que le interesa es trabaja y tener un entorno mas agradable a la vista y al parecer KDE cumple con su objetivo :). Si ya lo se, no tiene nada que ver acá pero quiero mucho a mi hermana :). 

Un saludo y esto es todo por hoy :).

domingo, 29 de mayo de 2011

Lo prometido es deuda: Configuración básica de un firewall con Iptables en Archlinux

12:53 Posted by Jesus Ricardo Ballesteros Molina 12 comments
Tal como lo dice el titulo, el día de ayer escribí una entrada sobre una pequeña conversación que tuve con uno de los expertos en seguridad, si bien no hay que ser paranoico con los computadores que tenemos en casa, eso no quiere decir que no debamos tomar medidas de seguridad. Como dije anteriormente tengo pensado tomar dos medidas, una es la de instalar mi propio router de gamma baja y administrarlo, para proteger la red interna de mi casa, y la otra medida fue instalar un Firewall en mi equipo con Archlinux.  Si buscamos en la Wiki de Archlinux, obtendremos que hay una gran cantidad de aplicaciones en Archlinux para esta función, aunque por decirlo así la mayoría son Front-end de iptables, y hay muchas GUI para administrar tu propio Firewall. Personalmente me puse a investigar sobre iptables y decidí aprender lo básico, que quede claro que no soy un experto en esta aplicación y mucho menos un experto en seguridad, pero con lo que he leído y sacado de muchas partes, creo que tengo la capacidad de configurar un firewall medianamente decente :). 



 Vamos al grano: 

- Lo primero que debemos de hacer es instalar iptables: 

#yaourt -S iptables 

- Luego de haberlo instalado, podremos revisar como está configurado netfilter por defecto con el comando que mostraré en la parte de abajo: 

[root@chucho ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   
 






Si queremos una información mas detallada, podremos usar la opción "nvL", así: 

[root@chucho ~]# iptables -nvL
Chain INPUT (policy ACCEPT 5057 packets, 4614K bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 4824 packets, 839K bytes)
pkts bytes target     prot opt in     out     source               destination


En el caso anterior vimos los puertos además de las políticas por defecto que se encuentran todas en "ACCEPT". 

Entonces aquí tenemos las siguientes cadenas: 

INPUT: Es la cadena de entrada. En pocas palabras es el trafico que viene desde afuera hacia nuestra maquina.  

OUTPUT: Como su nombre lo indica es la cadena de salida, es decir, es el trafico que sale de nuestro equipo hacia Internet. 

FORDWARD: Es la cadena de redireccionamiento, esta cadena es muy útil cuando queremos hacer NAT o como su nombre lo indica redireccionamiento de trafico, a ver si me explico, supongamos que tenemos una maquina virtual con una dirección IP privada que NO tenga salida a Internet, digamos 10.0.0.15, y en la maquina real tenemos una dirección IP pública 200.232.17.205 y queremos conectarnos a la maquina virtual a través de ssh, ¿Pero como llegamos a la virtual si no tienes acceso a Internet? Entonces con iptables podemos decir algo como: 

"Todo el trafico que llegue a la dirección IP 200.232.17.205 en el puerto 10081 redirigalo a la dirección IP 10.0.0.15 al puerto 22".  
 
Lo del puerto 10081 puede ser un puerto aleatorio que no estés usando obviamente, y el 22 es el puerto por defecto de ssh aunque puede ser otro pero eso es otro tema.
 
Para los expertos en redes: Si ya lo se, el ejemplo anterior no es tan simple como soplar y hacer botella, pero omití algunas cosas solo para explicar mas o menos de que se trata el "FORDWARD". 

Lo primero que hay que tener claro a la hora de instalar un Firewall, es definir exactamente que es lo que quieres, para eso tienes dos opciones: 

1. Aceptar todo por defecto e ir cerrando los puertos que necesitas. 
2. Denegar todo por defecto y abrir los puertos que necesitas.  

La primera opción es mas sencilla de configurar, pero a nivel de seguridad no es tan recomendable ya que hay que tener claro que se va a dejar cerrado exactamente, es decir, puedes dejar el puerto 64000 abierto y quizás no te afecta pues no sabes para que es, pero se te pueden olvidar puertos importantes como el SNMP y podrías perder control de todo,  con la segunda opción la cosa cambia y tendremos un verdadero muro, pero el firewall es mas difícil de configurar.

En mi caso digamos que "denegamos" todo por defecto, aunque en realidad no es así, en pocas palabras lo recomendable es denegar la entrada (INPUT) y el redireccionamiento (FORDWARD) por defecto y aceptar la salida (OUTPUT).

Los comandos a ejecutar serían los siguientes: 

#iptables -P INPUT DROP
#iptables -P FORWARD DROP
#iptables -P OUTPUT ACCEPT 

Antes de ponernos a teclear comandos de iptables quiero dejar claro unas cosas, la cadena OUTPUT, que es el trafico de salida, se deja en ACCEPT por defecto debido a que es mucho mas practico, podemos colocarla en DROP pero eso haría que las cosas se complicaran mucho más y además toca tener mucha experiencia en este campo para poder trabajar así, por lo tanto, es mejor dejar las políticas tal cual mostré anteriormente, de todas maneras es muy extraño que se bloquee todo lo que sale de nuestra maquina :).

Mi idea, es explicar paso a paso lo que se está haciendo, en muchos sitios te recomiendan leer el aburrido manual de iptables, si ves eso, es para asustarse, así que en este caso explicaré las nomenclaturas de iptables de forma corta: 

-A = Agregar una regla. 
-D = Eliminar una regla. 
-P = Aplicar una política por defecto. 
-R = Remplazar una regla. 
-L = Listar el numero de reglas actuales. 
-F = Eliminar todas las reglas.
-X = Borrar una regla definida por el usuario. 
-Z = Colocar los contadores en cero. 

Ahora por cada regla podemos hacer uso de parámetros que nos pueden ayudar a hacerlas mas especificas. 

-p = Especificamos el protocolo a usar, por ejemplo: tcp,udp,etc
-s = Dirección IP fuente.
-d = Dirección IP destino 
-o = Interfaz de salida (ethx, lo, wlanx, etc)
-i = Interfaz de entrada (ethx, lo, etc)
--sport = Puerto o rango de puertos fuente
--dport = Puerto o rango de puertos destino
 -j = Acción a tomar ( ACCEPT, DROP, REJECT Aceptar o Denegar)

-m= match, mas abajo trataré de explicar de que trata porque es algo complicadito para mi :). 

 
Entonces, con todo el carretazo que eché anteriormente la pregunta sería:

¿Quiero que mi hermano mayor pueda acceder a mi servidor web porno, como hago?.  

Solo tenemos que tener la ip de tu hermano y tener claro que puerto debemos abrir, entonces, por lógica sabemos que el puerto de un servidor web es el TCP 80 (A menos que lo cambien), entonces las regla a aplicar serían: 

#iptables -A INPUT -s ipdetuhermano -p tcp --dport 80 -j ACCEPT. 

La politica de salida por defecto en nuestro firewall es ACEPTAR, pero si quieres especificarla pues solo sería: 

#iptables -A OUTPUT -d ipdetuhermano -p tcp --dport 80 -j ACCEPT.

Si ven que no es tan complicado como parece, cierto?. Si miramos las nomenclaturas que están anteriormente citadas y las reglas que coloqué verán que no tiene ciencia. Con iptables no solo podemos permitir que una IP se conecte a nuestra red, sino que también podemos decir que todos los equipos de nuestra red interna puedan hacerlo. 

En mi experiencia personal, la mejor forma de definir reglas en iptables es a través de un bash script. De esta manera tenemos todo en orden y podemos ahorrarnos muchos dolores de cabeza, por ejemplo: "La regla anterior (la del servidor web) no me sirve porque me equivoqué de ip". Entonces sería muy feo colocar. 

#iptables -D OUTPUT -d ipdetuhermano -p tcp --dport 80 -j ACCEPT.

Personalmente conozco dos formas de aplicar las reglas en iptables, una es añadiendo regla por regla, tal cual como muestran los ejemplos, pero tiene la desventaja de puedes correr el riesgo de cagarla a menos que sepas lo que haces, por ejemplo, si envías un paquete X, el firewall va comparando dicho paquete con cada regla hasta que lo encuentra, es decir, hace Match , y se hace lo que dicte dicha regla, luego de eso, NO SE MIRARÁN MAS REGLAS, así que si colocas una regla muy permisiva al principio, probablemente las que sigan NO se apliquen, la otra opción que yo propongo y es la que la mayoría de personas hacen, es a través de un bash script, pues simplemente ordenas tus reglas y las vas cambiando con el paso del tiempo, y así te evitas ejecutar comandos como el anterior.  

Después de terminar con toda la carreta dejo el script que hice comentado, pueden copiar y pegar lo que está acá pero la idea es que analicen cada detalle y entiendan bien lo que se está haciendo.
#!/bin/bash
#
## SCRIPT IPTABLES
## Script para la protección del computador. 

#--------------------------------------------------------
#Asignamos un valor a la interfaz que nos interesa, esto puede ser útil si manejas muchas interfaces, y muchas reglas. En mi caso es la wlan0, si no es así DEBES cambiar este valor.
#--------------------------------------------------------

Interfaz=wlan0

#--------------------------------------------------------
## FLUSH de reglas, como vimos en las nomenclaturas anteriormente, esto nos sirve para borrar cualquier configuración de iptables que hayamos hecho anteriormente.
#--------------------------------------------------------

iptables -F && echo Flush_OK
iptables -X && echo Flush_OK
iptables -Z && echo Flush_OK
iptables -t nat -F && echo Flush_OK

#--------------------------------------------------------
# Estableciendo politicas por defecto
#--------------------------------------------------------

iptables -P FORWARD DROP && echo FORWARD_DROPPED
iptables -P OUTPUT ACCEPT && echo OUTPUT_ACCEPTED
iptables -P INPUT DROP && echo OK INPUT_DROPPED

#--------------------------------------------------------
## Aquí comienza los filtros
#--------------------------------------------------------

# Le dejamos acceso a localhost para todo, importante esta regla. 

iptables -A INPUT -i lo -j ACCEPT && echo Localhost_accepted
iptables -A OUTPUT -o lo -j ACCEPT && echo Localhostout_accepted

#--------------------------------------------------------
# Habilitar puertos 80 (www) and 443 (https) desde el firewall
#--------------------------------------------------------

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -o $Interfaz -p tcp --dport 80 --sport 1024:65535 -j ACCEPT && echo Conexion_establecida_puerto_80

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -o $Interfaz -p tcp --dport 443 --sport 1024:65535 -j ACCEPT  && echo Conexion_establecida_puerto_443

#--------------------------------------------------------
# Habilitar conexiones previamente establecidas a la interface de red, en este caso es wlan0
#--------------------------------------------------------

iptables -A INPUT -m state --state ESTABLISHED,RELATED -i $Interfaz -j ACCEPT && echo Salida_Internet

#Fin del Script.
Tal cual como está el script, es como lo tengo configurado en estos momentos en mi equipo, solo tengo acceso al puerto 80 y al 443 porque son los puertos www y https, en pocas palabras, tengo lo estrictamente necesario para navegar en Internet, no necesito más, si tu caso es el mismo que el mío entonces copia lo anterior en un archivo de texto, guardarlo y darles permisos de ejecución.

En mi caso lo guardé como "iptablescript". Entonces le damos permisos de ejecución.

$chmod +x iptablescript.

Y lo ejecutamos como root.

#./iptablescript.

Ahora podemos ver que nos muestra el parámetro -nvL en este caso:

[root@chucho ~]# iptables -nvL
Chain INPUT (policy DROP 126 packets, 31197 bytes)
pkts bytes target     prot opt in     out     source               destination         
10   500 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
3   144 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           ctstate INVALID 
167K  227M ACCEPT     all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 333 packets, 23316 bytes)
pkts bytes target     prot opt in     out     source               destination         
10   500 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
47383 4223K ACCEPT     tcp  --  *      wlan0   0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED tcp spts:1024:65535 dpt:80 
10199 1839K ACCEPT     tcp  --  *      wlan0   0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED tcp spts:1024:65535 dpt:443 


Ahora muchos se preguntarán ¿Que coños significa -m RELATED y demás tonterías?. He aquí la explicación.

Como dije anteriormente, la -m significa un match, es decir, compara el tipo de conexión existente, aquí muestro los tipos de conexiones que hay:

NEW Conexión nueva
ESTABLISHED Conexión establecida anteriormente
RELATED Conexión relacionada
INVALID Conexión invalida

Entonces cuando ejecutamos esta regla en el shell: 

$ sudo iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -o wlan0 -p tcp --dport 80 --sport 1024:65535 -j ACCEPT && echo Conexion_establecida_puerto_80

Estamos diciendo a netfilter, todas las conexiones de salida NUEVAS, ESTABLECIDAS y RELACIONADAS a través del puerto 80 dejalas pasar. los puertos 1024 al 65535 son los puertos por defecto asociados a ciertos programas o servicios, es recomendable usarlos porque los puertos fueras de este rango se consideran inseguros, sin embargo, si quieres que se haga a través de cualquier puerto puedes remover la parte que dice "--sport 1024:65535".

Normalmente después de cada regla coloco && echo, esto es para que después de que se ejecute la regla, el script me diga si se ejecutó correctamente, de esa forma si coloco un parámetro mal, ya se donde tengo que corregir.

Después de ejecutar el script y hacer las respectivas revisiones, si nos gusta como quedó todo, simplemente guardamos las reglas en Archlinux:

#/etc/rc.d/iptables save

De esta manera cada vez que iniciemos el demonio iptables, cargará las reglas que hemos puesto en el script automáticamente, si deseamos que iptables arranque automáticamente cada vez que encendamos el equipo, simplemente agregramos "iptables" en la sección DAEMON de nuestro archivo ubicado en /etc/rc.conf.

Ahora, si el script anterior no te es útil, puedes agregar mas reglas, en mi caso tengo una base de datos para amarok en mysql, no me interesa que nadie mas tenga acceso a ella, pero si lo deseo, simplemente puedo agregar al script una linea mas. Por ejemplo:


#!/bin/bash
#
## SCRIPT IPTABLES
## Script para la protección del computador. 

#--------------------------------------------------------
#Asignamos un valor a la interfaz que nos interesa, esto puede ser útil si manejas muchas interfaces, y muchas reglas. En mi caso es la wlan0, si no es así DEBES cambiar este valor.
#--------------------------------------------------------

Interfaz=wlan0

#--------------------------------------------------------
## FLUSH de reglas, como vimos en las nomenclaturas anteriormente, esto nos sirve para borrar cualquier configuración de iptables que hayamos hecho anteriormente.
#--------------------------------------------------------

iptables -F && echo Flush_OK
iptables -X && echo Flush_OK
iptables -Z && echo Flush_OK
iptables -t nat -F && echo Flush_OK

#--------------------------------------------------------
# Estableciendo politicas por defecto
#--------------------------------------------------------

iptables -P FORWARD DROP && echo FORWARD_DROPPED
iptables -P OUTPUT ACCEPT && echo OUTPUT_ACCEPTED
iptables -P INPUT DROP && echo OK INPUT_DROPPED

#--------------------------------------------------------
## Aquí comienza los filtros
#--------------------------------------------------------

# Le dejamos acceso a localhost para todo, importante esta regla. 

iptables -A INPUT -i lo -j ACCEPT && echo Localhost_accepted
iptables -A OUTPUT -o lo -j ACCEPT && echo Localhostout_accepted

#--------------------------------------------------------
# Habilitar puertos 80 (www) and 443 (https) desde el firewall
#--------------------------------------------------------

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -o $Interfaz -p tcp --dport 80 --sport 1024:65535 -j ACCEPT && echo Conexion_establecida_puerto_80

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -o $Interfaz -p tcp --dport 443 --sport 1024:65535 -j ACCEPT  && echo Conexion_establecida_puerto_443

#--------------------------------------------------------
# Habilitar conexiones previamente establecidas a la interface de red, en este caso es wlan0
#--------------------------------------------------------

iptables -A INPUT -m state --state ESTABLISHED,RELATED -i $Interfaz -j ACCEPT && echo Salida_Internet

#--------------------------------------------------------
#HABILITAMOS EL PUERTO 3306 DE MYSQL PARA LA DIRECCIÓN 192.168.0.12 (PUEDE SER EL COMPUTADOR DE UN AMIGO)
#--------------------------------------------------------

iptables -A INPUT -s 192.168.0.12 -p tcp --dport 3306 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.12 -p tcp --dport 3306 -j ACCEPT

#--------------------------------------------------------
#HABILITAMOS EL PUERTO 80 PARA QUE NUESTRO AMIG@ PUEDA NAVEGAR A NUESTRO SERVIDOR
#--------------------------------------------------------
iptables -A INPUT -s 192.168.0.12 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.12 -p tcp --dport 80 -j ACCEPT

#Fin del Script.

Solo sería guardar el script, ejecutarlo, y hacer los mismos pasos anteriores para que el iptables cargue las reglas por defecto, repito:

#/etc/rc.d/iptables save. 

Herramientas para probar tu firewall: 

Nmap: Con nmap podemos revisar que puertos se encuentran cerrados, en el caso de los puertos TCP con este comando sabríamos que puertos están abiertos.

#nmap -sS localhost -p 1-65535

Para los puertos UDP:

#nmap -sU localhost

Iptraf: Con este programa podemos saber que conexiones se establecen y cuales no, si lo controlan bien, es una excelente herramienta para hacer depuraciones sobre el firewall.

CRÉDITOS: 

Bueno, esta ha sido una guía algo larga, espero que haya sido lo mas clara posible, si alguien no entiende nada, pues agradecería que me lo hagan saber para tratar de ser lo mas claro posible. Esta pequeña guía no hubiera sido posible sin estos sitios a los cuales hay que darle todos los créditos:

http://foro.elhacker.net/tutoriales_documentacion/iptables_introduccion-t102656.0.html


http://www.estrellateyarde.org/equiv/firewall-en-linux


http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables

http://administradores.educarex.es/wiki/index.php/IpTables

viernes, 27 de mayo de 2011

Conversación de seguridad, firewall y algunas medidas....

19:27 Posted by Jesus Ricardo Ballesteros Molina 2 comments
Un saludo a mis queridos lectores (Si lo se, son pocos ¬¬). En donde trabajo estamos haciendo la implementación de un SIEM, mas específicamente de la versión profesional de Alienvault.  En este trabajo estoy aprendiendo muchas cosas de GNU/Linux pero también estoy aprendiendo cosas del área de la seguridad, a pesar de que estoy muy pollito para tocar estos temas he aprendido cosas y hay que tomar precauciones por muy tontas que parezcan. Esta fue mi conversación con la persona experta en seguridad: 

Chucho: No se porque todos los que estudian seguridad se vuelven tan paranoicos, a veces raya en lo anormal. 
 
Experto: Es que si estuvieras en esta área entenderías el porqué. 
 
Chucho: Bah, yo ni siquiera tengo Firewall en mi equipo.
 
Experto: Que valiente eres..
 
Chucho: Pues me da igual, si se van a meter a mi computador, que lo hagan, igual que me pueden robar?, yo no tengo nada importante...
 
Experto:  El problema es el siguiente, a mi me vale si me roban mis datos, mis videos, mi porno porque todo eso lo pueden conseguir por Internet, un gran problema hoy en día por si no lo sabías, es que pueden tomar tu computador como pivote y con eso pueden distribuir pornografía infantil y si las autoridades te pillan, al que echan al agua es a ti, porque tu apareces como el identificado y como estudias en el área de tecnología, al que meten preso es a ti, esa es una de las razones por la que a veces soy paranoico.
 
Chucho: ..........
Bueno, después de oír semejante noticia, me puse a pensar, mi proveedor de Internet es la porquería de Telmex, mi red inalámbrica es una basura pues tiene una encriptación WEP (Gracias a Telmex que no deja cambiar ni mierda) y cualquier mico con un mínimo interés de usar wifislax puede tumbarla y entrar a mi red de manera inescrupulosa, no solo para robar "Internet". Así que tengo dos ideas en mente: 

1. Mandar a Telmex a la mierda, y con mandarlos a la mierda me refiero a que me dejen su Modem solo para salir a Internet, que abran todos los puertos de su mugroso modem y que solo sirva para salir a Internet, nada mas, que solo hagan su función de ISP, yo mismo quiero comprar mi propio router de gamma baja y configurarlo a mi manera y a mi gusto, con una encriptación mas poderosa como WPA y no la porquería de WEP, además yo controlaré que puertos abro en mi red interna y que puertos dejo quietos de tal manera que YO sea quien controle mi red y mi router, y no me toque llorarle a los tontos de Telmex para que me abran un puerto o para que me hagan una configuración que yo necesite, así puedo ver los ARP y puedo saber otras cosas.  

2. Instalar mi propio Firewall. 

La segunda idea ya está implementada en mi laptop, y gracias a iptables ya tengo un poderoso muro, por lo cual solo se conecta a mi equipo lo que yo necesite estrictamente.  

Como he estado escribiendo sobre firewall y demás tontadas, muchos se preguntarán: 

¿Para que demonios es un Firewall?: Pues son muy útiles para controlar el trafico que pasa por nuestra red e Internet, es decir, con un firewall puedes decir "Solo mi papá puede acceder a mi computador remotamente por ssh", y con eso, solo el computador de mi padre podría conectarse a mi equipo remotamente, nadie más podría hacerlo.

¿Como obtengo un firewall?. Windows trae uno por defecto y hay mucho software que puede hacer la función perfectamente, por ejemplo: ZoneAlarm es muy conocido, GNU/Linux también tiene uno integrado en el kernel, se llama "netfilter" y se encarga de examinar las cabeceras de cada paquete que llega a la interface de red y decide que hacer con el, normalmente cuando se habla de netfilter se asocia con iptables. Iptables es un front-end de netfilter el cual nos permite definir nuestras reglas y netfilter se encarga de ejecutarlas.  

En estos momentos solo quería comentar lo importante que puede llegar a ser tener algo de cordura y aunque parezcan tontadas, siempre es mejor tener algo de seguridad en la red, los equipos de casa NO se parecen en nada a los servidores pero si hay que tener algo de consciencia ya que el objetivo de los computadores caseros NO es sacar información sino usarlos como pivote.

Esto es todo por hoy, solo quería dejar alguna experiencia en el blog y como promesa para mañana tendré un manual completo de iptables para que puedan implementar su firewall casero. Un saludo :). 

domingo, 15 de mayo de 2011

Servidores Caseros, ¿Alternativa libre a la "nube"?

15:57 Posted by Jesus Ricardo Ballesteros Molina 5 comments
Últimamente he visto como el termino "nube" está tomando tanto auge, es decir, en Internet se ve mucho cosas como "Google Docs, DropBox, etc" se están convirtiendo en el diario de nuestras vidas a nivel de informática, si bien las aplicaciones de la nube como Google Docs, DropBox nos permite cierto grado de flexibilidad a muchos de nosotros nos preocupa mucho el termino de privacidad, ¿O es que a usted no le preocuparía que podría hacer una empresa privada como Google a tus documentos?, me considero admirador de los productos de Google (Este blog es un gran ejemplo) pero eso no quiere decir que no debemos ser conscientes de la cantidad de información que maneja este tipo de empresas.

A muchas personas el tema de la privacidad los tiene sin cuidado alguno, y es algo muy grave!!, una cosa es ser paranoico y otra muy diferente es ser descuidado en estos temas, siempre me parecía extraño que Facebook colocara un bonito cartel de publicidad y curiosamente todo lo relacionado con dicha publicidad era sobre lo que a mi me gustaba, ¿Como coños supo Facebook que mis pasiones son el Software Libre y la informática?, quizás esté loco o quizás sea coincidencia pero son temas que personalmente NO me gustan NADA!!!.

Hace mucho tiempo usaba Google Docs, y me parecía una aplicación excelente y una gran ayuda a mi trabajo, pues editaba un archivo en un sitio y lo leía en otro sin ningún problema y siempre tenía mis documentos actualizados, hubo un tiempo en que por algún motivo varios de mis documentos dejaron de funcionar, ni siquiera se podían abrir ni visualizar correctamente, algo que me sacó mucho de quicio y me hice la pregunta, ¿Quien responde?, ni modos de quejarte porque era un servicio gratuito, quizás fue un error del servidor, o quien sabe que pasó, pero si me dejó pensando, yo tengo MIS DOCUMENTOS en un disco duro en algún lugar quien sabe donde y que además de todo NO ES EL MIO, entonces me pregunto, habrán maneras de que obtener los beneficios de la nube y sin depender de una compañía externa que "nos cuide" los datos?.

La respuesta es SI!!!, por ahora eso de la nube está agarrando mucho auge, tanto así que por "protección del medio ambiente" algunas predicciones dicen que los computadores del futuro solo dispondrán de conexión a Internet, y serán muy sencillos, es decir, solo nos conectaremos a Internet y dispondremos de todas las aplicaciones a través de la nube, si guardamos documentos serán de manera remota. Muchos estarán de acuerdo y muchos otros no, de cualquier forma, así como surgió una alternativa libre al Software propietario, también surgen alternativas libres a este tipo de herramientas y es ahí donde los servidores caseros jugarán un papel importante.
Ejemplos que podrían cambiar la forma de ver las cosas:




Esta red social pretende ser la alternativa libre a la gran famosa Facebook, nos permite crear nuestra propia red social casera que podemos interconectar con la red de otras personas o nuestros amigos o bien podremos conectarnos a los servidores públicos, la ventaja del servidor casero es que tus fotos, vídeos, absolutamente TODO lo que quieras tener en tu perfil, se quedan en tu Servidor y en tu disco duro!, en Facebook por ejemplo tenemos un pequeño contratito que dice que todo lo que subas es de Facebook!!, casi nadie lee las letras pequeñas pero que se puede hacer!.




Alternativa al famoso DropBox, esta aplicación nos permite sincronizar nuestros archivos personales con la nube, por ejemplo, si tenemos una colección de películas porno XD, podremos sincronizarla con Dropbox y cuando lleguemos a la casa de un amigo o a la oficina, podremos descargar dichas películas sin ningún problema :D, la desventaja de Dropbox es que estamos limitados al espacio en disco virtual que ellos nos asignan, con SparkleShare podemos instalar nuestro propio servidor y este estará limitado al espacio en disco de dicho servidor :).




Este aplicativo nos permite crear nuestro propio Chat, es muy útil en entornos corporativos, imagínate que necesitas que todos tus empleados estén interconectados, muchos dirán que MSN messenger es la opción, sin embargo son distracciones a nivel corporativo, porque esas aplicaciones pueden ser usadas no solo para chatear con los compañeros de trabajo sino que también pueden ser usadas para hacer otras cosas que nada tienen que ver con dicho entorno empresarial, Openfire permite instalar tu propio chat con las políticas que desees y los permisos que desees y además de todo permite hacer interconexión con otras redes, es decir si tienes un servidor casero para chatear propio, puedes interconectarlo con el del vecino sin ningún problema.


Podría seguir extendiéndome sobre los diferentes aplicativos libres que existen, a lo que voy es que la nube NO es tan malo como lo pintan, tiene sus propias ventajas, pero si las cosas cambian en un futuro, tendremos alternativas de dejar nuestros datos en nuestro propio servidor sin necesidad de dejarlos en manos de otras compañías que al final no sabemos que intenciones tienen con nuestros datos. Solo quería dejar una pequeña percepción del mundo informático y esto no deja de ser una simple opinión :).

domingo, 1 de mayo de 2011

Adapatando "Conky meet Faenza" en Archlinux.

21:26 Posted by Jesus Ricardo Ballesteros Molina 1 comment
Hola a todos, creo que este fin de semana me ha rendido bastante, normalmente escribo 2 entradas por mes, esto debido al poco tiempo que dispongo para escribir y también porque mi prioridad es escribir contenido netamente original y en este fin de semana configurando Openbox he encontrado cosas que me gustaría compartir con ustedes.

Primero que todo, me enrollé con esta aplicación llamada conky, me sorprende la forma en que muestra prácticamente de TODO, he visto demasiadas configuraciones y la verdad nunca dejo de estar sorprendido, me gustaría aprender a configurarla bien,  sin embargo una de las mejores maneras de ir aprendiendo es tomar el trabajo de otros y adaptarlos a tus necesidades, por cuestiones de tiempo no he hecho ninguna configuración propia, pero por algo se empieza no?. 

Comencemos por la instalación de conky: 

Hay varios paquetes para instalar en Archlinux, pero en este caso instalaremos el que se encuentra en AUR. Instalaremos el paquete "conky-lua"

yaourt -S conky-lua

Ahora nos descargamos el paquete de configuración de Gnome-look:

http://gnome-look.org/content/show.php/conky~meet~faenza?content=133086

El paquete viene con 7 elementos (.conky-startup.sh, .conkyrc, theme-sceenshot, etc). Si leemos el README veremos que la guía está hecha para Ubuntu GNU/Linux, la guía se encuentra muy bien explicada y funcionará perfectamente en Ubuntu, pero este pequeño tutorial consiste en adaptar esa configuración a nuestro querido Archlinux.

La idea es cambiar de esto:


a algo como esto:



Bien, lo primero que debemos hacer es extraer ese paquete, habilitar la vista de archivos ocultos en tu navegador de archivos, por ejemplo Ctrl + H en pcmanfm. Luego copiamos los archivos .conkyrc y .conky a nuestra carpeta home y lo editamos.

En esta sección cambié el parámetro que se encuentra en negrilla, antes estaba en "normal" pero yo lo cambié a "desktop"; esto porque cada vez que presionaba la combinación de teclas "Windows + D", que es el equivalente a "Mostrar Escritorio", conky desaparecía, con esto evitamos que eso suceda:

# Window Settings
own_window yes 
own_window_type desktop
own_window_transparent yes
own_window_class conky

En esta sección solo hago cambio de colores, en el mismo archivo está comentado la combinación de colores por tema, en mi caso elegí "aero", ustedes pueden elegir cualquier otro color de los comentados o bien pueden usar otra combinación que ustedes deseen.

# Color Title.
color0 96C7FF #aero 96C7FF,ambiance D34E18,dust CD7B2B,elegant 5D7E80,elementary 597CA2,sonar 3C9500
color1 828282

Esta sección es la que considero mas importante porque acá se encuentran los cambios mas "críticos" por decirlo así, en mi caso vi que los temas por defectos a pesar de estar muy bien diseñados les faltaba algo, transparencia, así que lo unico que hice fue editar las imágenes con Gimp y agregarles transparencia y copiarlos a la carpeta /home/tunombredeusuario/.conky/themes, lo único que tienes que hacer es apuntar a la imagen correcta, yo la llamé "areot.png", para el caso del logo solo es copiar el logo faenza de Archlinux y pegarlo en la carpeta /home/tunombredeusuario/.conky/icons, en mi caso lo llamé "logo.png", si no tienen el logo, pueden descargarlo de acá:



${image ~/.conky/themes/aerot.png -p 0,0 1195x163}
${image ~/.conky/icons/logo.png -p 200,11 -s 32x32}

${image ~/.conky/icons/drive.png -p 420,11 -s 32x32}
${image ~/.conky/icons/network.png -p 622,11 -s 32x32}
${image ~/.conky/icons/units.png -p 810,11 -s 32x32}
${image ~/.conky/icons/music-back.png -p 878,35 -s 285x97}
${image ~/.conky/icons/music.png -p 1067,14 -s 114x136}



Puedes editar las imágenes con Gimp o si bien deseas puedes descargar las imágenes con transparencia que yo mismo adapté aquí:







Sección de Música:

Esta sección es algo aparte, debido a que es la que requiere algo de trabajo adicional pero nada complicado.

Para que la configuración de conky muestre la música que se está reproduciendo en tu reproductor (valga la redundancia), debemos instalar un "plugin" por decirlo así que se encargue de entregar la información de dicho reproductor a conky. En mi caso instalaré el plugin de Clementine pero ustedes pueden instalar el de cualquier otro (Siempre y cuando esté disponible en AUR).

yaourt -S conkyclementine-bzr

Cuando yaourt les pregunte si desean editar el archivo PKGBUILD, deben de decir que SI!, es necesario editarlo y agregar las dependencias para que el plugin funcione adecuadamente de lo contrario se encontrará un bonito "Unknown" en el nombre de artista, pista y demás. En el PKGBUILD deben de colocar en la sección "depends" esto:

depends = ('python2' 'dbus-python' 'gstreamer0.10-python')

Guardan los cambios e instalan el paquete.

Ahora volvemos al archivo .conkyrc y remplazamos las lineas que tengan lo siguiente:

if_running exaile

por:

if_running clementine

Y cambiamos las lineas que tengan:

conkyExaile

Por:

conkyClementine

Guardamos los cambios y ejecutamos conky en una terminal:

conky &

Con esto nos debería de aparecer la imagen que mostré en un principio y cuando ejecutemos Clementine, nuestro escritorio lucirá así:


En conclusión podría decir que esto no es mas que un lujo, pero el hecho de usar un gestor de ventanas ligero, no quiere decir que deba de tener un escritorio feo, conky además de dar información importante de tu maquina, también ayuda a que tener un escritorio mas bonito y lo mejor de todo es que no consume casi recursos. Esto es todo por hoy y creo que por ahora no me quedará tiempo para escribir mas cositas, cuando encuentre algo interesante no dudaré en publicarlo. Un saludo.