Forums:
Objetivo: Permitir a una lista de mac's acceder via ssh en un Firewall con política por defecto DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#allowed.macs is maclist
cat allowed.macs | while read allowedmac
do
iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source $allowedmac -j ACCEPT
done
Como quedaría la regla para OUTPUT ??? o como puedo lograr el objetivo basado en la lista de mac ??
Excelente, gracias, podrias
Excelente, gracias, podrias mostrar algun ejemplo del contenido del archivo de macs?
Gracias de antemano.
Solo es un archivo plano que
Solo es un archivo plano que contiene una mac por cada linea
Pero esto es solo una idea ya que tengo problemas al implementar la regla para OUTPUT
Estoy a la espera de ideas
En el manual de iptables
En el manual de iptables dice esto:
mac
--mac-source [!] address
Match source MAC address. It must be of the form
XX:XX:XX:XX:XX:XX. Note that this only makes sense for packets
coming from an Ethernet device and entering the PREROUTING, FOR‐
WARD or INPUT chains.
Al parecer para el OUTPUT no aplica tu regla :(.
Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/
Tienes toda la razón pero
Tienes toda la razón pero sigo con mi duda entonces
Si lo hago en base a lista de IP's no tengo ningun problema para acceder via ssh a dicha maquina ya que solo defino las reglas INPUT Y OUTPUT y ya esta...
Pero como hacerlo con mac??
La misma sentencia lo dice
La misma sentencia lo dice todo mac-source no existe una regala que sea mac-destination por lo cual no se puede crear esa regla en el output :(, eso es lo que interpreto del manual.
Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/
Necesariamente tiene que ser por mac
podrias hacerlo por ip agregando en tu hosts.allow y deny o con el shorewall=iptables muy sencillo
\m/death metal\m/
Se me ocurre algo
A ver si entiendo el problema
Interpretación 1, ya puedes hacer que se filtre el ssh para las mac de tu arhivito, ahora necesitas hacer que se pueda hacer ssh hacia esas pc's desde tu linux tomando en cuenta la mac.
Solución:
ip=192.168.1.5
miip=192.168.1.1
mac=00.00:21:54...etc
iptables -A INPUT -s $ip -m mac --mac-source $mac -p tcp --dport 22 -d $miip -j ACCEPT
iptables -A OUTPUT -d $ip -p tcp --dport 22 -j ACCEPT
arp -s $ip $mac
Entonces cuando trates de hacer ssh hacia la ip 1.5, en realidad buscará simplemente la mac en la tabla arp estática que se definió, si este tiene otra mac, los paquetes nunca llegan.
Interpretación 2, tus políticas por defecto son DROP por lo que aunque aceptes los paquetes entrantes por el ssh de una mac específica no se establece la conexxión porque el tráfico de salida está dropeado
Solución:
ip=192.168.1.5
miip=192.168.1.1
mac=00.00:21:54...etc
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -s $ip -m mac --mac-source $mac -p tcp --dport 22 -d $miip -m state --state NEW -j ACCEPT
Esto permite el paso de paquetes pertenecientes a conexiones previamente establecidas o relacionadas, es decir las que primeramente se aceptaron con cabecera NEW en la regla 3..
Espero que te sirva de algo, cualquier cosa estoy para servirles.
Cogito Ergo Sum
------------
Cogito Ergo Sum