[iptables] Forward ou non ?

Le
kryll0704
Bonjour,

Je suis en train (d'essayer) de configurer iptables sur une machine à
l'intérieur d'un réseau d'entreprise. Cette machine est déstinée aux
expérimentations sur linux, elle est donc située à l'intérieur d'un
réseau protégé, et n'est donc pas un point stratégique.

Mon problème est le suivant : j'ai des logs semblables à celui-ci :

IN=eth0 OUT= MAC:[snip] SRC=une_adresse_du_reseau
DST%5.255.255.255 LENF TOS=0x00 PREC=0x00 TTL8 ID9508
PROTO=UDP SPTg DPTh LEN08

L'adresse de ma machine n'est jamais DST ou SRC.
Il me semble que ces packets devraient être gérés par la règle
FORWARD, me trompe-je ?
Or, pour ne pas trop enfler mes logs, la politique par défaut de
FORWARD est ACCEPT (étant à l'intérieur du réseau, je ne vois pas
l'utilité de bloquer ces packets).
Donc, 2 foirages possibles
1 - mon interpretation du log
2 - mes règles pour FORWARD
3 - les deux mon neuneu

Mes règles pour le FORWARD sont les suivantes
En début de fichier : iptables -P FORWARD ACCEPT
En fin de fichier : iptables -A FORWARD -j ACCEPT
Entre ces deux lignes, rien d'autre ne concernant FORWARD

Question subsidiaire : tous les logs ne contiennent pas les mêmes
infos : parfois l'adresse MAC y est, des fois non, parfois se sont les
ports (DST ou SRC), à quoi est-ce du ?
D'une manière générale je n'ai pas réussi à trouver une doc sur
l'interpretation des logs iptales ; si vous avez des infos, merci de
faire tourner ;+).

Merci d'avance pour vos éclaircissements

--
Kryll
"They are smocking krack !"
L.Torvalds
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Julien Salgado
Le #632069
kryll a écrit :
Bonjour,


Bonsoir,

Je suis en train (d'essayer) de configurer iptables sur une machine à
l'intérieur d'un réseau d'entreprise. Cette machine est déstinée aux
expérimentations sur linux, elle est donc située à l'intérieur d'un
réseau protégé, et n'est donc pas un point stratégique.

Mon problème est le suivant : j'ai des logs semblables à celui-ci :

IN=eth0 OUT= MACÿ:[snip] SRC=une_adresse_du_reseau
DST%5.255.255.255 LENF TOS=0x00 PREC=0x00 TTL8 ID9508
PROTO=UDP SPTg DPTh LEN08

L'adresse de ma machine n'est jamais DST ou SRC.
Il me semble que ces packets devraient être gérés par la règle
FORWARD, me trompe-je ?


Le problème c'est que l'adresse destination est celle de broadcast
universelle sur IP, elle est destinée à toute machine suceptible de
répondre (dans ton cas c'est du DHCP). La couche IP doit donc remonter
cette trame aux applis locales, elle traverse donc la chaine INPUT.

La couche IP traite en INPUT les paquets IP qui sont remontés par la
couche réseau inférieure comme étant à destination de la machine. Dans
le cas où la couche inférieure est ethernet, la machine traite les
paquets ethernet de type IP en INPUT soit si :
- ils ont comme MAC destination celle de la machine et l'IP destination
correspond à une IP du (ou un des) réseau associé à l'interface.
- ils ont la MAC ff:ff:ff:ff:ff:ff (ce qui doit correspondre à ce que tu
as coupé) qui est celle de broadcast.
Les autres paquets sont envoyés en forward...
Cette décision est faite lors de l'opération de routage qui à lieu après
la traversée des tables en PREROUTING.

Remarque : en général les broadcasts ne sont pas routés (directement)
et ne traverse pas les routeurs, les broadcasts sont donc originaires de
machines sur le même réseau local (même switch ou topologie de switch).

Or, pour ne pas trop enfler mes logs, la politique par défaut de
FORWARD est ACCEPT (étant à l'intérieur du réseau, je ne vois pas
l'utilité de bloquer ces packets).
Donc, 2 foirages possibles
1 - mon interpretation du log


L'absence de valeur pour OUT dans les log indique que c'est une
information de la chaine INPUT (on ne sait pas de quelle table, par
contre), cela concerne donc des paquets destinés à la machine ou les
paquets de broadcast.

2 - mes règles pour FORWARD


non, tu ne logues rien en FORWARD.

3 - les deux mon neuneu

Mes règles pour le FORWARD sont les suivantes
En début de fichier : iptables -P FORWARD ACCEPT
En fin de fichier : iptables -A FORWARD -j ACCEPT
Entre ces deux lignes, rien d'autre ne concernant FORWARD


Donc tu forwardes tout sans filtrage... heureusement c'est de
l'expérimental :)


Question subsidiaire : tous les logs ne contiennent pas les mêmes
infos : parfois l'adresse MAC y est, des fois non, parfois se sont les
ports (DST ou SRC), à quoi est-ce du ?


L'adresse MAC est présente pour les protocoles de niveau 2 pour
lesquelles cette information à un sens (typiquement ethernet), d'autre
pas (ppp par exemple).
Les ports sont eux aussi donnés que pour les protocoles IP qui ont cette
information (TCP et UDP typiquement), d'autre ne l'ont pas (ICMP par
exemple pour lequel le type et le code sont donnés).

D'une manière générale je n'ai pas réussi à trouver une doc sur
l'interpretation des logs iptales ; si vous avez des infos, merci de
faire tourner ;+).


Il vaut mieux trouver une doc sur IP... les noms des champs sont très
parlant. Trouver sur le net, pas trop mal :

http://logi.cc/linux/netfilter-log-format.php3


--
Julien

kryll0704
Le #637935
Julien Salgado
[snip]
- ils ont la MAC ff:ff:ff:ff:ff:ff (ce qui doit correspondre à ce que tu
as coupé) qui est celle de broadcast.


C'est bien ça !

[snip]
Donc tu forwardes tout sans filtrage... heureusement c'est de
l'expérimental :)


Oui :)

[snip]
L'adresse MAC est présente pour les protocoles de niveau 2 pour
lesquelles cette information à un sens (typiquement ethernet), d'autre
pas (ppp par exemple).
Les ports sont eux aussi donnés que pour les protocoles IP qui ont cette
information (TCP et UDP typiquement), d'autre ne l'ont pas (ICMP par
exemple pour lequel le type et le code sont donnés).


Ben là, tout est plus clair

Il vaut mieux trouver une doc sur IP... les noms des champs sont très
parlant. Trouver sur le net, pas trop mal :

http://logi.cc/linux/netfilter-log-format.php3


Un grand MERCI pour ton excellente réponse, et pour le temps que tu à
consacré à mon problème.

--
Kryll

Poster une réponse
Anonyme