miércoles, 17 de octubre de 2007

El gato y el ratón!

Bueno...juguemos al gato y al ratón! No sé porqué extraña razón, pero tenía la necesidad y las ganas de saber quién es mi "vecino".No de saber quién es físicamente, pero sí de averiguar algo más sobre él, ya sabeis: S.0, MAC, y demás cosillas. Lo primero antes de nada, denegar y logear todo el acceso desde su LAN a excepción de su router, que bueno, no nos queda más remedio que "fiarnos" de él. El -j LOG ha hecho de las suyas y ha llegado a mis manos un broadcast desde la IP 192.168.0.10. Manos a la obra. Un nmap por aquí, un ethereal por allá, que si un smbclient por el otro lado.En un día; la verdad que acabo de volver a casa desde las 07:35 de la mañana, y he conseguido saber esto:
  • Usa Windows XP Home. Nmap de dice que que es XP, pero SMBCLIENT me advierte que el nuestro vecino está en el grupo de trabajo INICIOMS, y eso me suena a XP Home.
  • Placa GigaByte, por la MAC de la tarjeta de RED. Puedo deducir, que no se conecta por wireless, sino por ethernet.
  • Poco preocupado por la seguridad. Responde a ICMPs. Aún no me he conectado por SMB, pero seguro que esta semana saco algo más.
De momento poco más, a seguir con el ethereal un rato, y sleep 3600 && halt, que mañana es otro día. Por cierto, he visitado www.shellsec.net, y he encontrado algún que otro bug para el router de nuestro vecino, todo DoS, pero curiosos.

En otro orden de cosas, le he instalado a unos amigos Debian en un PII 450 con 128 MB de RAM, y funciona de cine.Lo curioso del tema fue la impresionante atención que prestaron al tema; esperemos que le vaya bien y se metan de lleno en el sw libre.

shutdown -h now!
Saludos.

martes, 16 de octubre de 2007

Squid + iptables denegación por defecto.

Os dejo este script para squid con iptables denegando todo lo que se mueva , que "colocaremos" en /etc/init.d/, daremos permisos de ejecución. Básicamente "hace":
  • Deniega por defecto el tráfico entrante a excepcion de SSH y SQUID
  • Permite usar el proxy a la LAN.
En un futuro próximo :
  • Implementación seguridad MAC
  • Proxy Transparente
  • Algo que se me ocurra.


#!/bin/bash
#
#Liberado bajo Licencia Publica General version 2
#Alberto Permuy Leal
#
#
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
case "$1" in
start)
clear
echo "Iniciando configuracion firewall..."
echo "Estableciendo variables"
INTERFAZLAN="eth0"
INTERNET="0.0.0.0/0"
LAN="192.168.10.0/24"
DNS1="212.59.199.2"
DNS2="212.59.199.6"
echo "OK"
echo "Borrando reglas"
iptables -Z
iptables -F
iptables -X
iptables -t nat -F
echo "OK"
echo "Estableciendo politicas por defecto"
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
echo "Politicas por defecto OK"
#
#
echo "Estableciendo reglas"
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#
#Permitimos icmps
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
#
#
#
echo "Permitiendo Acceso SSH"
iptables -A INPUT -i $INTERFAZLAN -s $LAN -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o $INTERFAZLAN -s $LAN -p tcp --sport 22 -j ACCEPT
echo "SSH OK"
#
#
echo "Permitiendo Acesso SQUID"
iptables -A INPUT -i $INTERFAZLAN -s $LAN -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -o $INTERFAZLAN -s $LAN -p tcp --sport 3128 -j ACCEPT
echo "SQUID OK"
#
#
echo "Permitiendo consultas DNS"
iptables -A INPUT -i $INTERFAZLAN -s $DNS1 -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o $INTERFAZLAN -d $DNS1 -p udp --dport 53 -j ACCEPT
echo "DNS OK"
#
#
#
echo "Permitiendo acceso web estándar"
iptables -A INPUT -i $INTERFAZLAN -s $INTERNET -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o $INTERFAZLAN -d $INTERNET -p tcp --dport 80 -j ACCEPT
echo "Web Estandar OK"
#
#
#
echo "Permitendo acceso web seguro"
iptables -A INPUT -i $INTERFAZLAN -s $INTERNET -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -o $INTERFAZLAN -d $INTERNET -p tcp --dport 443 -j ACCEPT
echo "Web Seguro OK"
#
#
#
echo "Activando bit de forward"
echo 1 > /proc/sys/net/ipv4/ip_forward



;;
stop)
echo "Borrando reglas firewall"
iptables -Z
iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
echo "Reglas borradas."
echo "Su máquina es vulnerable!"
;;
*)
echo "Opcion Invalida."
echo "Use start-stop."
exit 1
;;
esac

miércoles, 10 de octubre de 2007

Pisote LAN: Parte I

En primer lugar disculpas a mi vecino por "sablearle" la conexión.La culpa no la tiene usted,la culpa la tiene su proveedor de acceso, que la ha colado un "Pack Wifi" por un precio que no corresponde con la calidad/seguridad de su servicio.

Bueno, con la clave WEP en el bosillo o en nuestro /home somos felices! Ahora solo falta "diseñar" entre comillas la LAN. Qué servicios necesitamos?
  • Proxy, para compartir la conexión. De momento, para navegar es suficiente.Squid sin duda.
  • DNS-Caché-Forward.Así optimizaremos el tiempo de consulta.Bind es elegido.
  • SAMBA.Mi PC que hace de todo, rulan con Debian 4.0 y kernel 2.6.16.20, y el del salón con Windows XP PES 6 Server .Nos interesa poder intercambiar ficheros y demás material multimedia.
  • Accesos remotos: ssh, webmin
  • DHCP.DHCP3 Server.
  • Wifi¿?
Hace un rato acabo de configurar el DNS-Cache leyendo este mini-como que me pareció interesante y conciso.

Tengo también el Squid listo. Luego posteo los ficheros de configuración. Samba no tiene mucha historia(lo sencillo).Los accesos remotos lo mismo que samba.En relación al Wifi, es por comodidad. Apenas uso el portátil en casa, pero si viene alguien o uso la PSP, me cunde.El dilema surge a la hora de implementar la seguridad: WEP y MAC me han demostrado que siendo un pocos pillos, en un par de días está el tema listo.

En relación al direccionamiento, lo tengo claro. Sólo 16 hosts como máximo, en una red de clase B, como sigue:


CLASE:B
RED: 172.16.0.0
BROADCAST: 172.16.0.15
MASCARA: 255.255.255.240
MAX HOST: 14
POLINICO(DEBIAN):172.16.0.1
XPPES6(XP): 172.16.0.2
ACCESS POINT: 172.16.0.3
RANGO DHCP: 172.16.0.4-14


Os dejo el squid.conf

#
#
#Fichero configuracion squid
#
#
#Parametros basicos
http_port 3128 transparent
#
#
#Pametros de la cache
cache_mem 128 MB
cache_dir ufs /tmp 1024 32 256
coredump_dir /var/spool/squid/cache
acl manager proto cache_object
maximum_object_size 32768 KB
cache_access_log /var/log/squid/access.log
#
#
#Parametros varios
half_closed_clients off
ftp_user anonymous@nospam.com
#
#
#Definicion de puertos seguros
acl SSL_ports port 443 563 8080
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 20
acl Safe_ports port 443
acl Safe_ports port 563
acl Safe_ports port 777
acl Safe_ports port 1024-65535
acl CONNECT method CONNECT
#
#
#############################
#Listas de control de Acceso#
#############################
#
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl denywords url_regex "/etc/squid/denywords"
acl denydomains dstdom_regex "/etc/squid/denydomains"
visible_hostname proxy.local
cache_mgr nospam@nospam.com
acl lan src 192.168.0.0/255.255.255.0
acl lan-pisote src 172.16.0.0/255.255.255.240
acl mihost src 192.168.0.12
http_access allow localhost
http_access allow manager localhost
http_access allow mihost
http_access allow lan-pisote
http_access deny lan
http_access deny denywords
http_access deny denydomains
http_access deny CONNECT !SSL_Ports
http_access deny CONNECT !Safe_Ports


Saludos.

Xen done!

Hoy he logrado que funcione Xen. Sólo que funcione, lo que no hay que confundir con que funcione bien.Kernel precompilado y paquetes deb por un tudo.Básicamente los manuales y websites que he leído son los siguientes:

http://www.redhat.es
http://www.debian-administration.org/articles/396
http://howtoforge.com/debian_etch_xen_from_debian_repository
http://es.wikipedia.org/wiki/Xen
http://www.xensource.com

Errores Encontrados:

Error: Device 2049 (vbd) could not be connected. Backend device not found.

En http://readlist.com/lists/lists.xensource.com/xen-users/2/14787.html que encontrado la solución, aúnque no del todo.

He añadido en el grub el parámetro max_loop y en /etc/xen-tools/xen-tools.conf el parámetro boot = 1,para que después de crear una imagen, ésta arranque automaticamente.

Este es el listado de Xen con 2 VM Debian Etch:

sist-02:/home/alberto# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1756 2 r----- 723.4
xen-etch 3 128 1 -b---- 13.4
xen-etch2 4 128 1 -b---- 12.5

martes, 9 de octubre de 2007

Cambiar MAC en GNU/Linux

Por una serie de historias que no voy a comentar,me he visto en la tesitura de cambiar la dirección física de una tarjeta ethernet. He googleado y he encontrado una aplicación macchanger. Supongamos que la MAC a suplantar es 00:11:22:33:44:55 .La sintaxis en GNU/Linux es la siguiente,:
[root@localhost]macchanger --mac:00:11:22:33:44:55 eth1
Mi consejo es que "tireis" la interfaz antes de ejecutar el macchanger.

Saludos.