31 oct 2013

Control de acceso en Squid

Con este post tan sólo pretendo hacer una "breve" introducción al control de acceso mediante Squid, algo que considero fundamental para entender lo más básico a la hora de establecer nuestras propias reglas.

Archivos de configuración.-
Antes de nada, recordar que toda la configuración de squid se encuentra por defecto en el fichero /etc/squid/squid.conf. No obstante, siempre podemos separar ciertas configuraciones en otros ficheros e incluirlas mediante "include" en el fichero principal. Por ejemplo:

Nosotros tenemos separada la configuración de la caché en un archivo /etc/squid/squid-cache.conf o las reglas de refresco en un archivo /etc/squid/squid-cache-refresh.conf. La configuración de estos dos ficheros, se añade al fichero squid.conf simplemente mediante dos includes dentro de dicho fichero:

include /etc/squid/squid-cache.conf
include /etc/squid/squid-cache-refresh.conf

Esto nos va a simplificar el control de las configuraciones.

Cómo se lleva a cabo el control de acceso.-
Básicamente, el control de acceso se realiza mediante dos componentes:
  • Listas de Control de Acceso (ACL), que nos van a permitir definir listas de acceso basadas en IP's, MAC's, nombres de dominio...
  • Reglas de acceso, que nos van  a proporcionar la posibilidad de permitir o denegar el acceso mediante las listas de control de acceso.
Defninición de listas de control de acceso:
Una lista de control de acceso tiene una de las siguientes formas:
  • acl nombreacl tipoacl [-i] valor...
  • acl nombreacl tipoacl [-i] "archivo"
Esto significa que podemos definir los elementos afectados por la acl en la misma línea de configuración (acl nombreacl tipoacl [-i] valor...) o en un archivo (acl nombreacl tipoacl [-i] "archivo").

La opción "-i" nos va a permitir eliminar la restricción de distinguir entre mayúsculas y minúsculas.

Un ejemplo del primer caso: 
acl equipodirectivo src 192.168.1.10-192.168.1.25/32

Un ejemplo del segundo caso: 
acl equipodirectivo src "/etc/squid/acl/ips_equipodirectivo"

En el primer caso, separaríamos cada uno de los elementos mediante un espacio en blanco.
En el segundo caso, colocaríamos la definición de IP's dentro del archivo, especificando cada elemento en una línea.

Definición de reglas de acceso:
Una regla de acceso se define mediante la directiva http_access:
  • http_access allow|deny [!]nombreacl ...
Con http_access vamos a permitir o denegar una o varias acl.

El símbolo "!" es opcional y sirve para negar una acl. Lo usaremos cuando queramos aplicar lo contrario de una acl definida.

Ejemplos:
http_access allow equipodirectivo
http_access deny all

Flujo de procesamiento.-
  • Squid analiza las reglas de una en una en el orden en el que están escritas en el documento de configuración, de arriba a abajo.
  • La primera regla que coincida es la que se aplica, interrumpiendo el procesamiento de las reglas posteriores.
  • En una regla puede haber más de una acl. 
  • Si en una regla de acceso hay más de una acl, todas las acl's de la regla deben cumplirse para que se aplique. 
  • Si después de evaluar todas las reglas de acceso, no se encuentra ninguna regla que se cumpla, se realizará al acción contraria a la definida por la última regla de la lista. Debido a ésto,  es conveniente que definamos una última regla al final que deniegue el acceso: http_access deny all

Publicado por primera vez en http://enavas.blogspot.com.es

Resetear Switch Dlink DES-3226

Si por alguna razón tenéis que resetear el Switch Dlink DES-3226, y no tenéis acceso a través de la red, siempre podéis hacerlo mediante consola. Veamos cómo:

Primero buscamos el cable de consola que viene con el switch. Éste:



Como lo más cómodo es usar un portátil para conectar por consola, y éstos ya no tienen conexiones serie, tendremos que usar un adaptador serie-usb como éste:


Así que unimos los dos cables, conectamos un extremo al portátil y el otro al puerto de consola del switch:


Abrimos un terminal de consola en el portátil e iniciamos el programa minicom con el parámetro -s para establecer los ajustes de conexión:

# minicom -s

Nos aparecerá el menú de configuración de minicom. 

Elegimos "Configuración de la puerta Serial",  e indicamos la configuración la configuración que queramos aplicar (Marco en negrita los ajustes a establecer): 

A - Dispositivo Serial : /dev/ttyUSB0 
B - Localización del Archivo de Bloqueo : /var/lock 
C - Programa de Acceso : 
D - Programa de Salida : 
E - Bps/Paridad/Bits : 9600 8N1 
F - Control de Flujo por Hardware: No 
G - Control de Flujo por Software: No 

 Una vez configurado, guardamos los ajustes para próximas ocasiones y salimos.

Una vez establecidos los ajustes de conexión, abrimos minicon (sin la opción -s):

# minicom

Apagamos el switch (si lo teníamos encendido) y volvermos a encenderlo.

Una vez arrancado, nos mostrará el menú principal en pantalla:



Seleccionamos la opción Reboot para entrar en el menú de reinicio:


En el menú de reinicio se nos muestran las siguientes opciones:



Seleccionamos "Reboot & Load Factory Default Configuration" para reiniciar y reestablecer los ajustes iniciales.

Si nos interesara conservar la IP, elegiríamos la siguiente opción: "Reboot & Load Factory Default Configuration Except IP Address"

Como ya he comentado en alguna ocasión, minicom se encuentra en los repositorios de Debian. Si no lo tenéis instalado, es muy fácil instalarlo:

# apt-get install minicom

Publicado por primera vez en http://enavas.blogspot.com.es

Configurar Switch DLink DES 3226/3226S

Una cosa muy útil que me enseñó nuestro compañero Javier Sánchez, de Telecomunicaciones, es que los switches Dlink gestionables suelen tener una IP por defecto: 10.90.90.90, algo muy interesante porque nos va a permitir configurarlos sin usar un cable de consola.

De este modo, podemos conectar un portátil al switch, configurarle una IP dentro del mismo rango, como por ejemplo, la 10.90.90.10:



A continuación, abrir el navegador, escribir la IP por defecto del router: 10.90.90.90 y pulsar enter para acceder a él:


Nos pedirá un nombre de usuario y una password. Por defecto, este switch tiene un usuario admin sin contraseña:


Una vez dentro, no tenemos más que configurarle una IP de gestión dentro del rango de nuestra red, crear un usuario admin con password y realizar todos los ajustes que queramos.

Otra opción es acceder al switch mediante telnet:

# telnet 10.90.90.90



Publicado por primera vez en http://enavas.blogspot.com.es