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 tcp dport $TCP_PORT_RANGE -j DNAT to-dest $IN_HOST
$IPTABLES -t nat -I PREROUTING 1 -i $OUT_DEV -p udp dport $RTP_PORT_RANGE -j DNAT to-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 tcp dport $TCP_LISTENING_PORT -j DNAT to-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 udp dport $GK_PORT_RANGE -j DNAT to-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 @@

QR code
Send to friend

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

URL de rétrolien : https://e.garluche.fr/trackback/3