Astuces Firewall (iptables)
En vrac, des copier/coller de fichiers et de scripts que j'ai toujours gardé dans un coin de mon disque dur, ça sert toujours, au moins en support de mémoire
En vrac donc des astuces au niveau firewall/iptables:
Filtrage sur les adresses MAC
Sur http://www.involution.com/iptables_demo/ on peut lire comment faire du firewall basé sur les adresses MAC:
iptables -A FORWARD -m state -state NEW -m mac -mac-source 00:C7:8F:72:14 -j ACCEPT
N'oublions pas qu'une MAC adresse est très facile à forger ! et donc qu'un filtrage sur MAC adresse n'est pas l'arme absolue.
Snapshot de ce qui passe sur votre firewall
cat /proc/net/ip_conntrack | grep -v "dport=80" | grep -v " dport=25" | grep -v "dport=443" | grep -v "dport=53" | grep -v "dport=110" | grep -v "dport=22"
L'outil ngrep est aussi pas mal pour ce genre de choses
ngrep -wiA 2 'user|login|pass' tcp port 110 or tcp port 21
Mais n'oublions pas ntop qui est un peu le tip top dans ce domaine.
Faire sortir un gnomemeeting
Pour faire sortir un gnomemeeting il suffit de l'expliquer au firewall mais attention, impossible avec cette solution d'avoir deux ordinateurs sur le LAN qui font du gnomemeeting en même temps ! Il faudrait en ce cas utiliser un gatekeeper ou passer sur des versions plus récentes qui savent passer au travers des firewall.
#!/bin/bash IPTABLES=/sbin/iptables # = where resides the iptables binary (see "type -p iptables") OUT_DEV=ppp0 # = your public Internet-Device IN_DEV=eth1 # = your internal Internet-Device IN_HOST=192.168.70.18 # = Host to which the incoming H323 is being forwarded TCP_PORT_RANGE=30000:30010 RTP_PORT_RANGE=5000:5016 TCP_LISTENING_PORT=1720 GK_PORT_RANGE=5020:5023 #TCP_PORT_RANGE - H245, if no tunneling is made #RTP_PORT_RANGE - RTP connections (2 audio, 2 video - RTP and RTCP) #TCP_LISTENING_PORT - H.323 port #GK_PORT_RANGE - if external GK is used # activate masquerading on public interface $IPTABLES -t nat -A POSTROUTING -o $OUT_DEV -j MASQUERADE # set incoming port forwarding... $IPTABLES -t nat -I PREROUTING 1 -i $OUT_DEV -p tcpdport $TCP_PORT_RANGE -j DNATto-dest $IN_HOST $IPTABLES -t nat -I PREROUTING 1 -i $OUT_DEV -p udpdport $RTP_PORT_RANGE -j DNATto-dest $IN_HOST $IPTABLES -I FORWARD 1 -p tcp -i $OUT_DEV --dport $TCP_PORT_RANGE -d $IN_HOST -j ACCEPT $IPTABLES -I FORWARD 1 -p udp -i $OUT_DEV --dport $RTP_PORT_RANGE -d $IN_HOST -j ACCEPT $IPTABLES -t nat -I PREROUTING 1 -i $OUT_DEV -p tcpdport $TCP_LISTENING_PORT -j DNATto-dest $IN_HOST $IPTABLES -I FORWARD 1 -p tcp -i $OUT_DEV --dport $TCP_LISTENING_PORT -d $IN_HOST -j ACCEPT # add port forwarding for external GK $IPTABLES -t nat -I PREROUTING 1 -i $OUT_DEV -p udpdport $GK_PORT_RANGE -j DNATto-dest $IN_HOST $IPTABLES -I FORWARD 1 -p udp -i $OUT_DEV --dport $GK_PORT_RANGE -d $IN_HOST -j ACCEPT $IPTABLES -I POSTROUTING 1 -t nat -o $IN_DEV -d $IN_HOST -p udp --dport $GK_PORT_RANGE -j ACCEPT
Masquerading
Pour activer le masquerading sur votre firewall:
@@ echo 1> /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -j MASQUERADE @@