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.

martes, 2 de octubre de 2007

Mandriva WorldWide Install

Aún recuerdo la instalación de Mandrake 7.1! Qué tiempos! Hace 7 años más o menos.. En un 166 Mhz con 32 MB de RAM. Con el tiempo he probado la 8.2, la 9.1 y la 10.x( no recuerdo). El caso es que esta mañana he leido un mail en el que hacian un CALL TO ARMS para montar una install party de Mandriva.

Para ser sinceros, a mi con Debian me va de cine. La semana pasada estuve unos días con una Gentoo en una máquina y tb de cine. Me asombró el tema del emerge...Joer, que no lo tienen bien montado los tipos. He leído en algún site que el líder del proyecto es un poco "creído" y egocéntrico, pero salvando distancias y discrepancias, Gentoo se sale.

Retomando el tema de Mandriva, comentar que estoy a la espera de noticias para ver que es lo que sucede con el Install Party. Aquí podéis ver de qué va el tema.

Me voy para cama, que me levanto a las 07:25.