24 abril 2009

Videos sobre Instalación de Gentoo, partes 11 al 14

Bueno, ya era hora de subir el resto de videos sobre como instalar Gentoo.

En esta parte terminaremos con la instalación básica del sistema; desde ya me disculpo por haber puesto la dirección del blog en los videos, pero considero que es algo que tenía que hacer debido a que a veces se deja como trabajo o tarea elaborar una serie de videos sobre la instalación de Gentoo por lo que sería muy simple descargarlos de youtube y entregarlos, sin embargo mi objetivo es ayudar a que realicen su propia instalación.


Parte 11: Instalación del Kernel
En esta parte configuramos la zona horaria, descargamos los archivos fuente del kernel, configuramos su compilación, lo compilamos y lo instalamos.. Si estas haciendo esta instalación en VirtualBox, sería aconsejable que crees una imagén del estado de tu sistema, para que en caso de tener problemas con el kernel no pierdas todo lo que ya llevas.


Parte 12: Más Configuraciones del Sistema
Configuración del sistema de archivos (fstab) y demás archivos de configuraciones.


Parte 13: Instalación de Herramientas Necesarias para el Sistema
En esta parte se instalan algunas herramientas que son necesarias para el sistema pero que no vienen ni en el portage ni en el stage.

Entre estas herramientas estan: Syslog, logrotate, dhcpcd (cliente dhcp) y grub.


Parte 14: chequeando instalación
Aquí simplemente reiniciamos la máquina virtual para comprobar que toda la instalación ha funcionado.


Expandir/Contraer este Post


15 abril 2009

El Gobierno brasileño pretende llevar Internet al 100% de su población

Esta nota la copipasteo de un artículo de periodismo.com porque me pareció realmente muy interesante las iniciativas que el gobierno brazileño esta tomando para brindarle acceso a la tecnología a toda su población, ojalá esto le sirviera de ejemplo a nuestro gobierno...

El uso de la Web en Brasil tuvo un crecimiento del 78% en los últimos dos años. El presidente Lula da Silva quiere comenzar a aplicar su plan entre los más pobres.

Un nuevo plan del presidente de Brasil, Luiz Inácio Lula da Silva, pretende que en los próximos años el 100 por ciento de su población cuente con una conexión a Internet de banda ancha y, en lo posible, gratuita. Hasta el momento, 64 millones de ciudadanos de este país –de todas las edades- utilizan la Web, según indicó el Instituto de encuestas Datafolha.

Como parte de este proyecto, favelas de Río de Janeiro (una de las áreas de más pobreza), como la de Morro de Dona Marta, ya cuentan con acceso gratuito a Internet. Otro ejemplo es el del gobernador de este Estado, Sergio Cabral, quien otorgará a toda la población local la posibilidad de usar banda ancha, para 2013.

También como parte del plan, se conectará a Internet a las 150 mil escuelas públicas brasileñas. Además, cada alumno tendrá la oportunidad de tener su propia máquina. Todas estas acciones hacen que actualmente Brasil sea el país del mundo donde se dedica más tiempo a la navegación por la Web, con 23 horas y 48 minutos mensuales. En Latinoamérica, además, es el país con el mayor número de computadoras.

Expandir/Contraer este Post


14 abril 2009

Bombas fork, ¿Qué son?

Una bomba fork es sencillamente un tipo de ataque que afecta a cualquier sistema operativo (windows, *nix, etc) que usa la función fork o sus equivalentes para desatar un ataque de tipo bucle recursivo infinito (sí, suena marciano) sobre el sistema, haciendolo colapsar debido a la saturación de la memoria y el procesador, haciendo que el sistema quede inestable e incluso inutilizable (calma, se compone con reiniciar la computadora) ...

Debido a sus características, una vez iniciada una bomba fork, es casi imposible detener la ejecución del ataque puesto que para hacer eso necesitariamos matar los n-ésimos procesos que se han creado, pero como la memoria esta saturada no podríamos ejecutar ni siquiera un comando "kill"

Un ejemplo de estos ataques es la bien conocida instrucción de bash para los sistemas Unix/Linux:
:(){ :|:& };:


La cual, si deseas, puedes probar (bajo tu propio riesgo) escribiéndola en una terminal de bash en cualquier Linux; aunque si decides hacerlo, es recomendable que cierres todos los programas y guardes tus documentos para evitar pérdidas de información; de cualquier forma, el sistema se restaurá con reiniciar el equipo (siempre y cuando no vuelvas a ejecutar la instrucción)

A simple vista, la línea anterior puede parecer una marcianada, por lo que para entender como funciona debemos reescribirla en una forma más entendible, por ejemplo:

bomba()
{
bomba | bomba&
}; bomba

Ahora, como podrás notar, esta es una función recursiva que se llama a sí misma dos veces dentro de la definición de su cuerpo. Además, usa un pipe (|) para mandar la salida de la primera llamada a la segunda llamada.

El & hace que la función llamada se ejecute en segundo plano, por lo que las llamadas hijas no se pueden morir y de esta forma es como la instrucción empieza a comerse todos los recursos de tu máquina.

el último "bomba" es la primera llamada de la función y con la cual se desata la lluvia de llamadas recursivas.

Obviamente, este tipo de "ataques" no son tan críticos para los usuarios de escritorio de linux, dado que con reiniciar la máquina y no volver a ejecutar la función es suficiente, pero si consideramos el riesgo que representan para los servidores, es evidente que debemos buscar una forma para protegerlos.

Una forma muy simple para evitar estos bucles infinitos recursivos (bombas fork) es limitar el número de procesos que pueden ejecutarse simultáneamente por usuario, ésto lo hacemos editando el archivo /etc/security/limits.conf, ejecutando el comando:

sudo nano /etc/security/limits.conf

y agregamos la siguiente línea al final:

% hard nproc 100

Donde 100 es el número máximo de procesos que un usuario puede ejecutar, por lo que si consideras que es muy poco o empiezas a tener errores del tipo "bash: fork:", simplemente incrementa el valor a 1000 o más.

Listo, ahora sólo deberemos guardar y reiniciar la computadora y ya estaremos protegidos contra las bombas fork, aunque para confirmar podemos usar el comando ulimit -a y ver la linea max user processes, si concuerda con el valor que ingresamos, entonces todo esta bien.

Ahora si, si volvemos a probar la instrucción :(){ :|:& };: veremos que no congela el sistema y que al contrario logra sovrevivir a ella. :)



Expandir/Contraer este Post