Archives for 

manual

Libro oficial del administrador de Debian en español para su descarga

Hace poco mas de un año, publicamos en nuestro sitio, The debian handbook, el libro oficial para el administrador de Debian en ingles. Sin embargo en el dia de hoy salio oficial la traduccion de este ejemplar en español, especialmente para todos nosotros usuarios de la lengua española que usamos y administramos  sistema operativo.

libro de debian

Este libro ha sido escrito por 2 Desarrolladores de Debian: Raphaël Hertzog y Roland Mas  y busca enseñar lo esencial para cualquier persona que quiera convertirse en un  administrador  de  GNU/Linux Debian  eficaz e independiente. Cubre todos los temas que un administrador de Linux competente debe dominar, desde la instalación y la actualización del sistema, hasta la creación de paquetes y la compilación del núcleo, sino también el seguimiento, respaldo y migración, sin olvidar los temas avanzados como SELinux configurar los servicios de seguridad, instalaciones automatizadas o virtualización con Xen, KVM o LXC.

ANtes que nada es necesario agradecer a todos aquellos que ayudaron en la traduccion del libro a nuestra lengua:

  • Matías Bellone
  • Isma De Andrés Presa
  • Ricardo Mendoza
  • Iván Alemán
  • Marcos Mezo
  • Norman Garcia
  • Tzihue Cisneros Perez
  • Dario Java
  • José David Calderón Serrano
  • Roger Orellana

A todos ellos muchas gracias por haberse tomado la tarea de traduccir el handbook para toda la comunidad

En realidad un libro muy valioso y util para todos los sysadmin que quieran aprender cuales son las mejores practicas de administracion, sin mas que decir dejo el link de descarga para el libro oficial del administrador de debian en español.

Laboratorios CISCO

En esta oportunidad quiero compartir con ustedes los modulos o mas exactamente los laboratorios de CISCO, estos labs me los compartio mi compañero de trabajo Santiago que no hace mucho termino su certificacion en CCNA. Espero les sea de mucha utilidad.

Dentro del archivo comprimido punto rar (.rar) encontraran los siguientes PDF’s:

Comandos de Configuraciion en un Switch Catalyst

Comandos Ios para la configuracion de un Router

Manual Labs Exploration1 v40

Manual Labs Exploration2 v40

Resumen Modulo 3

Si alguien tiene los que falta seria bueno que los compartiera con todos.

Un saludo a todos

Enlace descarga AQUI

Libros sobre Desarrollo Web: Css, Ajax, Javascript, Xhtml y Symfony

Quiero compartir con ustedes estos libros que seguramente a quienes les interesa el Desarrollo sobre la web, les será de gran utilidad.

Podemos acceder a dichos libros Online o también los podemos descargar en formato pdf. El material está bajo la licencia Creative Commons. (Idioma Español)

Pagina principal: www.librosweb.es

Descarga directa:
- Introducción a AJAX -> acá

- Introducción a JavaScript -> acá

- Introducción a CSS -> acá

- CSS avanzado -> acá

- Introducción a XHTML -> acá

Symfony, la guía definitiva:

- Symfony 1.0, la guía definitiva -> acá

- Symfony 1.1, la guía definitiva -> acá

- Symfony 1.2, la guía definitiva -> acá

- El tutorial Jobeet de symfony 1.2 -> acá

- El tutorial Jobeet de symfony 1.3 -> acá

Bueno espero que les sea de gran ayuda a todos, nunca esta demás tener un libro a la mano cuando estemos en problemas :D. Hasta la próxima!!

Como implementar un Firewall en GNU/Linux con Shorewall

En esta oportunidad hablaremos del firewall de Linux más conocido como IPTABLES. Primero daremos algunas definiciones para poner en contexto y por ultimo mostraremos como configurar un firewall utilizando shorewall, teniendo en cuenta que la configuración aquí realizada es pensada para un equipo personal y no para uno que cuidará toda una red.

El firewall es un sistema de control sobre los puertos de nuestro sistema, de tal modo que podemos establecer cuales puertos pueden ser accedidos desde fuera y cuáles no.
El firewall de GNU/Linux es Netfilter, que trabaja en espacio de kernel, no es un servicio en espacio de usuario y se configura por medio de IPTABLES.

IPTABLES según la wikipedia es: iptables es el nombre de la herramienta de espacio de usuario mediante la cual un administrador puede definir políticas de filtrado del tráfico que circula por la red

La herramienta utilizada para configurar estas políticas de seguridad será en este caso Shorewall que en su sitio oficial es definido como: “Una herramienta de alto nivel para la configuración de Netfilter

Bueno y ahora más teoría. No hablaremos con todos lo tecnicismos que algunos les gusta, porque la idea es que todos puedan entender, o por lo menos que sirva de forma de introducción al tema.

Digamos que el kernel le encarga a Netfilter la tarea de recibir y transmitir paquetes y los revisa antes de transmitirlos.

Para revisarlos Netfilter se vale de una serie de “condiciones” que cada paquete debe cumplir. De tal modo que todo paquete que no cumpla con las “condiciones” se tira a la basura.

Estas famosas “condiciones” son las que permiten a Netfilter clasificar cada paquete y hacer con cada uno lo que sea establecido por estas condiciones.

Netfilter necesita que estas “condiciones” sean coherentes, que no sean contradictorias. No podemos decirle “descarta este paquete” y luego decirle “ah, no, mejor transmite este paquete”. Por eso, como no le gusta que le compliquen el trabajo, además de la coherencia, atenderá a cada “condición” en el orden en que fueron declaradas.

¿Y cómo declaramos las “condiciones”?

Nuestro sistema funciona por medio de “servicios” que “escuchan” en un “puerto” del sistema, esperando a que un “cliente” realice una “petición” al “servicio”. Cada “Petición” es “atendida” por el “servicio” que pidió el “cliente”.

Esto es lo que se conoce como un “sistema cliente/servidor” y GNU/Linux respeta este modelo, entonces podríamos decir que Netfilter trabaja capturando las “peticiones” de todos los “puertos” antes de que sean “atendidas” por los “servicios”.

Netfilter maneja esta tarea a través de iptables. Como cada “petición” es esencialmente un “paquete” de datos, diremos que iptables controla paquetes de la siguiente manera:

  1. Iptables maneja tablas, haciendo que los paquetes atraviesen una tabla. (table)
  2. Cada tabla posee cadenas. (chains)
  3. En cada cadena se establece una política general. (policies)
  4. Luego se establecen reglas que saltan (jump) la condición de la política.

Entonces, la tabla actuará como filtro de los paquetes. (Filter)

Sucede que los paquetes pretenden realizar una de tres acciones:

1) Un paquete que quiere salir del sistema. Por ejemplo, solicitar una dirección web en el navegador. Esta petición bajara por las capas OSI, pretenderá salir por un puerto y será “atendida” por Netfilter; si cumple las reglas sale el paquete del sistema.

2) Un paquete que quiere entrar al sistema. Por ejemplo, el resultado de la solicitud anterior. Llega el paquete que quiere entrar por el puerto 80 y será “atendida” por Netfilter; si cumple las reglas entra el paquete y sube por las capas OSI para presentar la página en el navegador.

3) Un paquete que quiere pasar por el sistema. Por ejemplo, si nuestra máquina actúa como proxy. Recibirá paquetes de la LAN queriendo ir a la WAN pasando obligadamente por Netfilter para lograrlo.

En esta tabla de filtro, tendremos una cadena para cada acción:

  1. Un paquete que quiere salir (OUTPUT) de nuestro sistema.
  2. Un paquete que quiere entrar (INPUT) a nuestro sistema.
  3. Un paquete que quiere pasar (FORWARD) por nuestro sistema.

A nivel de política, tendremos dos opciones:

  1. Rechazar todos los paquetes y empezar a construir excepciones a esta política.
  2. Aceptar todos los paquetes y empezar a construir excepciones a esta política.

Una vez que definimos la “política” que aplicará iptables, deberemos empezar con las reglas.

Continuando con un poquito de teoría miremos como es que se establecen las conexiones con un pequeño ejemplo.

Cuando una máquina A quiere acceder a otra máquina B lo hace desde un puerto de A hacia un puerto de B, mandando un saludo.

Entonces B recibe un saludo de A, marcando en su puerto una conexión nueva (NEW) y respondiendo el saludo de A.

Luego A recibe la respuesta de B, marca la conexión del puerto como establecida (ESTABLISHED) y se prepara para comunicarse con B.

Luego B recibe la respuesta de A, marca la conexión del puerto como establecida (ESTABLISHED) y se prepara a recibir datos de A.

Los datos transmitidos por A hacia B y por B hacia A son relacionados (RELATED) a la conexión.

El kernel mantiene un control del estado de éstas conexiones y pueden ser usadas para filtrar paquetes por iptables.

Antes de continuar con la configuración de nuestro firewall demos respuesta a esto: qué es mejor: ¿bloquear un puerto abierto o hacer creer que el puerto está cerrado?

Si el puerto es bloqueado se sabe que está abierto y es néctar tcp para las abejas cracker’s que quieren hacerse un picnic con nuestra maquina, en cambio si un puerto está cerrado no existe fundamento para un ataque. Si “disfrazamos” los puertos abiertos como cerrados no tendremos abejas zumbándonos.

Ahora con esto ya claro pasemos a configurar nuestro firewall personal con shorewall. Esta instalación es pensada para maquinas que tengan como sistema operativo Debian/Squeeze, Cabe aclarar que esta aplicación también está disponible para otros sabores de Linux.

Bueno ya a esta altura se estarán preguntando ¿Por qué shorewall y no directamente con IPTABLES? Básicamente porque es más fácil trabajar con un front-end que directamente con los comandos, y porque así podremos concentrarnos mucho más en las reglas. Shorewall se encargará automáticamente de convertir todo al formato de Iptables. Mucho más práctico ¿no?

Bueno manos a la obra

Para empezar lo primero que hacemos es actualizar nuestra lista de paquetes.

#apt-get update

Despues de que termine de actualizar la lista pasamos a instalar los paquetes necesarios para poder tener shorewall en nuestro sistema.

#apt-get install shorewall shorewall-perl

Cuando termine la instalacion pasamos a realizar configuraciones necesarias. Shorewall trae unos ejemplos para 1, 2 y para hasta 3 interfaces de configuración en /usr/share/doc/shorewall/examples/ que debemos copiar a la carpeta /etc/shorewall para esto ejecutamos los siguientes comandos (en este tutorial solo copiaremos los de una sola interfaz):

#cd /usr/share/doc/shorewall/examples/one-interface/

#cp -p interfaces rules zones policy /etc/shorewall/

Ahora seguimos a configurar estos archivos. Y para eso nos vamos al directorio /etc/shorewall/ donde copiamos todos los archivos de configuracion basica.

Shorewall Zones

El primer archivo de configuración que vamos a modificar es el de “zones”.

Shorewall ve la red donde se encuentra como un conjunto de zonas, para el caso de una sola interfaz de red que estamos haciendo solo vamos a tener dos zonas. Primero ejecutamos el siguiente comando:

#vim zones

Se verificara que el archivo tiene la linea de net ipv4, justo despues de fw firewall debe verse como la imagen anterior, ya los ejemplos lo traen por eso solo se va a verificar.

La zona fw firewall siempre debe existir ya que es la zona que reconoce Shorewall como suya, además será definida como una variable $FW en el shell una vez que ejecutemos el Shorewall y será referida durante toda la configuración.

Para más información de las zonas puedes ejecutar man shorewall-zones

Shorewall interfaces

Ahora debemos de obtener el nombre de la interfaz externa como se muestra en la siguiente imagen.

Por supuesto que la dirección IP de tu computadora puede ser distinta al igual que el nombre de la interfaz en este caso eth1. Fijense que la interfaz externa viene dado por la línea default via 192.168.0.1 dev eth1. Esto es importante si se tiene más de una interfaz de red.

Con esta información procederemos a modificar el archivo “interfaces”, ejecutamos el siguiente comando:

#vim interfaces

Y lo modificamos para que el archivo quede algo parecido a esto:

Breve explicacion de lo anterior

ZONE: Aquí definimos la zona a la cual va a pertenecer la interfaz que vamos a definir, en este caso la zona es net que ya definimos anteriormente

INTERFACE: El nombre de la interfaz

BROADCAST: Es opcional. Aquí definimos que queremos que haga el Shorewall con los paquetes de Broadcast en este caso con la opción detect le decimos que detecte las direcciones de broadcast por nosotros. Tambien podríamos colocar aquí la dirección IP de broadcast de nuestra red.

OPTIONS: Esta es la parte más extensa, así se explicara las opciones utilizadas aquí.

dhcp: Esta opción se debe colocar si tu computadora obtiene su dirección IP vía DHCP, o si tu firewall está instalado en un servidor DHCP.

tcpflags: Esta opción hace que Shorewall revise los paquetes por combinaciones ilegales de FLAGS (o banderas) TCP. Nunca está de más tenerlo.

logmartians: Esta opción hace que Shorewall registre paquetes con direcciones de origen imposibles, para esto tenemos que tener habilitado el routefilter en la interfaz lo cual veremos más adelante como hacerlo.

nosmurfs: Filtra paquetes smurfs (paquetes que tienen como dirección de origen una dirección de broadcast)

blacklist: Analiza los paquetes contra la lista negra que definiremos más adelante en el archivo blacklist del shorewall

routeback:Permite que Shorewall filtre paquetes que se devuelven a esta misma interfaz

Con esto el archivo de interfaces esta listo, lo guardamos y seguimos con la configuración.

Nota: Para más información del archivo de interfaces y sus opciones pueden ejecutar man shorewall-interfaces.

Shorewall Policy

Aqui vamos a definir una política que determina como Shorewall maneja la conexión entre las distintas zonas. Es de destacar que las instrucciones se ejecutan de arriba a abajo por lo que es importante mantener el orden para que se ejecuten adecuadamente.

#vim policy

Y modificamos el archivo para que quede así:

Lo que estamos diciendo aquí es que todo lo que venga de $FW que lo definimos anteriormente es la zona de Firewall de Shorewall sea aceptado y que todo lo demás sea rechazado para que pase por las reglas que crearemos a continuación.

Para más información pueden buscar las páginas de manual ejecutando man shorewall-policy.

Shorewall rules

Las reglas sirven para agregar excepciones a las politicas que declaramos anteriormente, si dejamos las politicas como están sin agregar ninguna regla pues no podremos ni siquiera navegar asi que vamos a modificar el archivo de rules ejecutando para que nos quede de la siguiente manera:

#vim rules

Nombre como Ping, SSH, etc nos describe el protocolo sobre el que vamos a efectuar la acción que puede ser ACCEPT. REJECT, DROP entre otras. Shorewall cuenta con varios MACROS, los MACROS no son más que reglas prehechas que estamos utilizando aquí como Ping, SSH, DNS, etc. Para ver una lista completa de los macros puedes ejecutar shorewall show macros.

Luego de colocar el macro y la Acción pasamos a colocar el destino que en este caso es la zona red que declaramos al principio y luego colocamos el destino que es la zona Firewall en el caso de las conexiones entrantes (net—>firewall) e invertido para las conexiones salientes (firewall–>net).

Si quisieramos aplicar una regla sobre un puerto y protocolo específico la declaramos de la siguiente forma:

ACCEPT          $FW     net             tcp     873

REJECT          $FW     net             udp     443

Ahora los útlimos retoques, vamos a modificar el archivo de configuración de Shorewall:

vim /etc/shorewall/shorewall.conf

Asegurense que los siguientes valores están correctos:

STARTUP_ENABLED=Yes

ROUTE_FILTER=Yes

Con STARTUP_ENABLED le decimos al Shorewall que inicie con el sistema, y con ROUTE_FILTER del cual hablamos ya arriba en la parte de Interfaces

Por ultimo, cambiar la linea startup=0 por startup=1 del archivo /etc/default/shorewall

Para iniciar manualmente a Shorewall y probar nuestra configuración ejecutamos:

shorewall start

Con esto nos dará algo parecido a esto:

Con esto ya tendremos un firewall personal totalmente funcional, asi que ya pueden poner a prueba sus configuraciones.

Shorewall registra todo a través del log del sistema para ver los logs podemos ejecutar los siguientes comandos:

  1. shorewall show log (Muestra los últimos 20 mensajes de netfilter)
  2. shorewall logwatch (Verifica los logs a un tiempo determinado)
  3. shorewall dump (Nos da un amplio reporte de los problemas encontrados por Shorewall)

Bueno esto es todo por el momento, espero y les sea de utilidad, que la fuerza este con ustedes y hasta la proxima.

Fuente 1

Fuente 2

Fuente 3

Primeras horas con OpenBSD 4.6

Dejando a un lado la rivalidad entre sistemas operativos tipo Unix, mostraremos  algunos aspectos importantes a tener en cuenta  al adentrarnos en el mundo  OpenBSD1

Instalación

Descargar iso.

Debemos tener claro  que en  OpenBSD  cambia la nomenclatura  de los dispositivos (Discos duros, interfaces, ..), sólo algo diferente a lo acostumbrado.  Se sale del propósito del post mostrar una guía paso a paso de la instalación, por eso dejo  un manual hecho por la comunidad  openbsdcolombia (descargar).  La secuencia de instalación de la versión 4.6 difiere de la que se utiliza en el manual, pero nada de que preocuparse.

FELICITACIONES!  su sistema OpenBSD ha sido instalado satisfactoriamente !

Si en el proceso de instalación decidimos instalar las  X (xbase40, xserver40, ..), las iniciamos con el comando  startx, veremos una xterm, un reloj, y un panel de escritorios  bastante minimalista.

Colección de Ports y Paquetes

La instalación de Software adicional  en OpenBSD se hace utilizando Ports,  que son un conjunto de ficheros  de tipo make donde se indica:

- De dónde se optiene el paquete

- Como llevar a cabo la obtención del paquete

- Las dependencias del  paquete

- Como aplicar cambios en las fuentes (sólo si es necesario)

- Y  como configurarlo, compilarlo e instalarlo

EL grupo de desarrolo  advierte que la colección de ports y  paquetes  no recibe la misma auditoría de seguridad  que sigue OpenBSD.

Instalación de un Entorno de Escritorio

pkg_add

En los  how-to  que rondan la red  vemos que la instalación de software en OpenBSD es bastante fácil :

pkg_add -r xfce4 , pkg_add -r gnome, si hacemos la prueba  seguramente nos saldrá  esto    No packages available in the PKG_PATH,

- También  vemos cosas como   #cd /usr/ports/net/irssi #make install,   pero  el directorio  ports no está

Bueno para el primer “problema” (No packages available in the PKG_PATH) se  deduce que  es necesario indicar  la ruta  donde están los paquetes, entonces  #export  PKG_PATH=” ftp://ftp.openbsd.org/pub/OpenBSD/4.6/packages/i386/” , ya con esto  podemos instalar por ejemplo gnome: #pkg_add  -r  gnome-session

Para solucionar lo del directorio ports,  simplemente debemos bajar el paquete  ports.tar.gz  y  descomprimirlo en  /usr:

#cd /usr

#tar  xvfpz ports.tar.gz

ya con esto podemos instalar software utilizando ports:

#cd /usr/ports/net/irssi

#make install

- Instalando Scapy: #cd /usr/ports/net/scapy    #make  install , se demora bastante!!   y  pensar que antes uno se las veía con todas esas dependencias  en algún lfs.