#SySAdmin – Como filtrar mac address en servidores Linux

nacBueno,a esta altura del partido sabran que me gusta GNU/LINUX y en especial que soy fan de DEBIAN.Esta distro es muy estable y potente a la hora de armar un servidor.Quienes administan servidores conocen de la importancia de brindar seguridad al Server.A veces nos vemos necesitado de impedir que tal o cual cliente tenga acceso a internet.Esto valido si queremos usar un server y un AP para distribuir internet.Si bien casi todos los AP(Access Point) tienen filtro de MAC (Media Access Control),es interesante hacerlo desde el server para tener un mejor control y poder aplicar las politicas de seguridad correspondiente.
ACLARO:esto puede parecer chino basico para el principiante pero quienes esten un poquito avanzado en el tema será de facil comprension.Les muestro algunas opciones para probar:

Deberiamos ya tener el DHCPD instalado y funcionando correctamente en el servidor.Las direcciones IP son a modo de ejemplo,cada cual adaptela segun su red.Tambien IPTABLES corriendo en el sistema.A veces cuando instalamos Debian no esta funcional el IPTABLES,para eso hacemos:

apt-get install iptables

Opcion 1.

a) Que el servidor dhcp asigne las ips en forma fija por direccion de placa de red, y luego haces filtrado por ip fija en forma normal.

b) Filtrar por mac address directamente.

Ahi van las opciones:

a) Archivo importante: /etc/dhcpd.conf.Me imagino que lo conocen, pero aca va un ejemplo

# Definimos la red (subred) y la mascara.
subnet 192.168.0.0 netmask 255.255.255.0 {
# Introducimos el gateway por defecto. En este caso ira el que
estas usando como firewall y que de acceso a internet.
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;

# Direccion de broadcast
option broadcast-address 192.168.0.255;
# Agregas los nombres de los servidores de nombres que permitiran hacer la resolucion de nombres ip.
option domain-name-servers 200.43.0.115;
# El rango de ip que seran asignadas a las maquinas. Reservo
algunas ip (5) para ser asignadas en forma fija, por ejemplo a
tu DEBIAN, y al
# server dhcp – range dynamic-bootp 192.168.0.5 192.168.0.50
# Asigno un tiempo por defecto que permanecera la ip asignada.En
segundos.
default-lease-time 62208000;
# Tiempo maximo que permanecera la ip asignada.En segundos.
max-lease-time 62208000;
}

# Para especificar a un cliente en particular, la ip fija
asignada por dhcp apareada a una maquina en particular,
agregas:
host sebastian{
hardware ethernet 10:0F:2b:4c:59:23;
fixed-address 192.168.0.6;
}

Nota descriptiva:
hardware <type> <address>;
Indica la direccion fisica (MAC) de un cliente particular (declaraciones tipo host). El atributo type expresa el tipo de arquitectura de la interfaz de red, actualmente puede ser:
ethernet o token-ring.
La direccion MAC se expresa utilizando seis numeros hexadecimales (numeros desde 00 hasta ff) separados por el caracter “:”.

Luegon en linea de comandos reinicios el servidor:
shell # > /etc/init.d/dhcpd restart
Nota: Por si acaso, haciendo un ifconfig en tu linux averiguas facilmente la mac address

b) Para poder filtrar por mac address (en iptables por supuesto) haces uso de una extension “matches (coincidencias)” para lo cual tenes que agregar el argumento “-m” al introducir la regla.
Ademas tenes que poner por supuesto la direccion mac,mediante el siguiente argumento “–mac-source” es el indicador que nos marca la mac de origen.

iptables -A INPUT -m –mac-source 10:0F:2b:4c:59:23 -j ACCEPT

Otra manera de hacerlo:
Bloquear las direcciones ips de mis clientes por mac

Un estracto de una información que te puede ser de utilidad:
Fuente: http://involution.com/iptables_demo/

Cita:
ToS Packet Mangling / MAC Addresses as Filtering Criteria

* ToS Packet Mangling
o Allows for Type-Of-Service Parameters to be set per protocol
o iptables -t mangle -A FORWARD -p tcp -dport 22 -j TOS -set-tos 16
o iptables -t mangle -A FORWARD -p tcp -dport 80 -j TOS -set-tos 8

* MAC Addresses as Filtering Criteria
o iptables -A FORWARD -m state -state NEW -m mac -mac-source 00:C7:8F:72:14 -j ACCEPT
o Allows a known MAC Address to be forwarded
******************************************************************************

iproute2 es tu amigo

ip neigh help

Puedes hacer una lista de ips asociadas a mac address por ejemplo:

ip neig replace 192.168.0.2 lladdr 00:40:96:58:25:3b dev eth1 nud perm
ip neig replace 192.168.0.3 lladdr 00:00:00:00:00:00 dev eth1 nud perm
ip neig replace 192.168.0.4 lladdr ca:ca:ca:ca:ca:ca dev eth1 nud perm
ip neig replace 192.168.0.5 lladdr 00:00:00:00:00:00 dev eth1 nud perm

En el ejemplo las ips 192.168.0.1 y 192.168.0.4 estan asocidas a una mac especifica, las demas estan asociadas a una mac ficticia que es poco probable que un dispositivo la tenga, por lo tanto esas pcs estaran sin acceso al gateway, claro, asumiendo que los comandos del ejemplo los ejecutas en el gateway.

aptitude install iproute2

Espero que les sirva.Si hay algo que no quedó claro,comenten.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*