24/11/07

Recien llegados




La verdad yo no me emocione tanto al verlos llegar ya que yo no utilizo esta distribución, la razón por lo que los mande a pedir es que siempre hay personas que me piden una copia de esta distribución y pues así es mas fácil facilitarlas (y Aunque ya lo baje =) .
Asi pues la persona que esta interesada en esta distribución solo haganmelo saber, con mucho gusto le facilitare una de ellas.

17/11/07

sistemas de seguridad : firewalls

Una vez sabiendo cuales son los servicios con los que dispone nuestro sistema, entonces podremos decidir cuales de ellos son accesibles y cuales no. Bueno en realidad el problema es un poco mas complicado ya que cuando nuestro sistema se encuentra en medio de dos redes tendremos que decidir desde que red sera accesible un servidor y desde cual no. Pero eso mas que nada es problema de planificación, por lo que tendremos que pensar un poquito mas y estructurarlo tranquilamente ( siempre ayuda el papel y el lápiz =D ).
Una de las herramientas de seguridad que podemos utilizar son los famosos firewalls que no es nada mas que un sistema que nos permite definir reglas a evaluar cuando un paquete de red pasa por nuestro host. Ya hablando de paquetes que están en nuestro host hay tres situaciones diferentes que podemos evaluar .

1. Un paquete que sale de nuestra maquina y que sale hacia otra
2.Un paquete externo que viene desde otra maquina, pero tiene un destino que no es nuestra maquina.
3.Un paquete de origen externo que viene de otra maquina con destino ala nuestra.

Entonces lo que nos permite hacer un firewall es abrir o no las puertas, la salida o llegada de estos paquetes. Por ejemplo una de las reglas mas típicas de los firewalls escrita con simples palabras es la siguiente “ si llega un paquete desde internet con destino al puerto 80 de mi maquina, entonces, no dejarlo pasar”.

Ahora bien lo que tenemos que hacer es adecuar las reglas necesarias de firewall a nuestro sistema. Hay muchas formas, técnicas y combinaciones posibles de instalar un firewall.

Ahora veremos IPTABLES que como su nombre nos dice trabaja con tablas, y estas tablas trabajan con unas cadenas de reglas echas por nosotros.
Hay tres cadenas INPUT, OUTPUT y FORWARD, estas son cadenas para definir reglas para lo que ingresa, lo que sale y lo que pasa por nuestro sistema.

Esta es una forma básica del comando iptables.

iptables [definición] [cadena] [opción] [acción]

El parámetro [definición] es un parámetro general, ademas que es seguido de las especificaciones de cadena. En esta parte hay varias opciones posibles como :

A --> para agregar una nueva regla ala cadena
D --> para borrar la regla
L --> para visualizar la lista de reglas definidas

En el parámetro [opciones] es donde definimos los filtros.



todo lo que sale a internet
todo lo que biene desde la ip 200.133.145.12 hacia mi maquina:80
todo lo que sale de mi maquina hacia la ip 200.133.145.12

En la parte de [acción] se pone lo que tiene que hacer cuando una regla se cumple, ya sea permitirla o rechazarla.

Vamos a ver unos cuantos ejemplos para facilitar esto.

iptables -A INPUT -tcp –dport 80 -j ACCEPT

Con este ejemplo creamos una regla con [-A] para la cadena [INPUT] en la cual definimos que todo lo que entre por el puerto [80] del protocolo [TCP] sea [-p tcp –dport ] aceptado [-j AECCEPT].

ojo: siempre requiere el parametro -p para saber aque protocolo referirse la regla.

iptables -A INPUT -p icmp -j DROP

Con este ejemplo filtramos y descartamos todo lo que ingresa por el protocolo ICMP a nuestra maquina.

iptables -A OUTPUT -p tcp -d 192.168.44.4 -j REJECT

En este ejemplo en lugar de definir una regla de firewall para todo lo que entra, lo hicimos para lo que sale de nuestra maquina y se dirige a la ip 192.168.44.4 ,
esta acción [REJECT] rechaza dicho paquete y como no definimos ningún puerto rechazara todo.

Podemos utilizar una política de funcionamiento, que consiste en en rechazar todo lo que entra y después crear nuestras reglas excepcionales para dicha politica.



iptables -P INPUT DENY -------> denegamos TODO
iptables -A INPUT -p tcp –dport 23 -j ACEPT ------->abrimos lo que necesitemos
iptables -A INPUT -p tcp –dport 80 -j ACEPT

De esta forma tenemos nuestro sietema con unos pocos puertos abiertos.



-------> -A (crear regla)
-------> -D (Borramos regla)
-------> INPUT (ingreso)
-------> OUTPUT (egreso)
-------> FORWARD (paso)
-------> -p (definimos protocolo)
-------> --dport (definimos puerto)
-------> -s (definimos fuente)
-------> -d (destino)
-------> -i (dispositivo de red)
-------> ACCEPT (aceptar)
-------> DROP (descartar)
-------> REJECT (rechazar)

iptables -L -------> vemos el listado de als reglas que tenemos definidas.

iptables -F -------> hacemos un borrado a todas las listas definidas.

Para guardar las reglas que definimos ( porque una ver apagada la maquina se pierden todas las reglas definidas y que flojera hacer las de nuevo no? ).

manera sencilla y restablecerlas diariamente.

cd /sbin --> directorio de archivos de iptables

iptables-save -c > nombre_del_archivo --> nombre que quieras

iptables-restore nombre_del_archivo --> creo que esta explicito

Si queremos que cada ves que iniciemos la maquina sola se restablezcan las reglas definidas solo has te un script.

16/11/07

Planeta Linux Mexico

Por fin soy parte de planeta Linux mexico, invito a todos que pasen al planeta para que vean los diferentes temas tradados por la comunidad =) .

11/11/07

LSAT (Linux Security Auditing Tool)

Es un programa Modular para hacer audiciones de seguridad a nuestra propia maquina, este programa escanea las inseguridades que podría explotar un usuario local para tener accesos no autorizados. Estas inseguridades pueden ser permisos de ficheros mal establecidos, malas configuraciones o versiones de programas ya antiguos.

Lsat lo podemos encontrar en http://usat.sourceforge.net
Despues de descargar el programa lo compilamos de la siguiente manera.

zerial@ZK:~$ tar zvxf lsat-VERSION.tgz
zerial@ZK:~$ cd lsat-VERSION
zerial@ZK:~$ ./configure
zerial@ZK:~$ make

despues como root hacemos

ZK:# ./lsat

Esto genera un informe en el fichero lsat.out ademas lsat acepta varias opciones:

-o fichero --> Genera el informe en fichero y no en lsat.out
-v --> Salida con detalle (recomendado)
-s --> Modo silencioso, crea informe pero no muestra ningún resultado por
la pantalla. Util cuando lsat se esta ejecutando desde el planificador
cron.
-r --> Realiza sumas de comprobaciones de paquetes RPM para buscar
ficheros que ayan cambiado su contenido o sus permisos iniciales.

Es importante mencionar que lsat fue inicialmente desarrollado para sistemas linux Red Hat o distribuciones basadas en este mismo, pero la mayor parate de
los análisis funcionan en cualquier sistema linux. (no e tenido problema alguno)

LSAT es un scaneador muy sencillo y la salidas que da son muy sencillas de leer, ademas que podemos descubrir errores en nuestro sistema que se pasan por alto sin que nos demos cuenta, ademas puedes ponerlo en cron y podemos checar los resultados con el comando diff y asi detectar cambios en la configuracion de nuestro sistema.

2/11/07

Planeta Linux Mexico

Hoy desidi formar parte de planeta Linux mexico, espero que pueda estar adentro del planeta lo ates posible si ustedes tmb quieren formar parte de planeta Linux mexico solo accedan al link http://mx.planetalinux.org/ y lean bien los lineamientos. Espero estar hay lo antes posible y que ustedes tambien =).