View previous topic :: View next topic |
Author |
Message |
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3169 Location: Paris
|
Posted: Mon Jan 08, 2007 9:07 am Post subject: [OpenVPN] Couper les connexions inutilisées (abandon) |
|
|
Bonjour,
Aujourd hui, une petite question du style "comment faire pour...".
Je voudrais provoquer une timeout sur des connexions "stalled", de type tunnel VPN qui ne serait plus utilisé. Mon objectif est de sécuriser un peu plus le tunnel en provoquant son timeout au bout de X temps sans transfert de données.
(NB: je parle de "connexion", mais c'est un terme abusif, sans distinguer TCP ou UDP).
Le VPN (OpenVPN) a une fonction (--tls-timeout) qui permet de détecter une rupture de tunnel, mais ne permet pas de faire directement le timeout. Du coup je cherchais à faire combo du côté d'iptables pour lui faire couper véritablement la connexion, qui provoquerait ensuite ce timout OpenVPN. Mais je ne trouve pas vraiment de module iptables qui permettrait de dire "si pas plus de X paquets ou octects pendant X secs, alors drop". Ya bien limit, mais je crois qu'il fait l'inverse de ce que je cherche.
Je suis passé à côté de quelque chose d'évident? _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Last edited by El_Goretto on Fri Jan 12, 2007 3:52 pm; edited 2 times in total |
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3169 Location: Paris
|
Posted: Tue Jan 09, 2007 9:31 am Post subject: |
|
|
Bon, je pensais m'en sortir comme çà, ayant mesuré qu'une connexion samba inutilisée (ainsi que les routine OpenVPN de test de connexion) générait ~50 paquets en 1 minute (une consultation samba fait littéralement exploser le compteur):
Code: | $IPTABLES -A INPUT -s $IP_SOURCE -i $IF_LAN -p tcp --dport $P_VPN -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -s $IP_SOURCE -i $IF_LAN -p tcp --dport $P_VPN -m state --state ESTABLISHED,RELATED -m limit ! --limit 60/minute -j REJECT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT |
Mais malgré ce que dit la manpage:
Manpage iptables wrote: | limit
This module matches at a limited rate using a token bucket filter.
A rule using this extension will match until this limit is reached
(unless the ! flag is used). It can be used in combination with
the LOG target to give limited logging, for example. |
J'obtiens cette erreur à l'exécution du script iptables (que le "!" soit avant ou après "--limit"):
Code: | iptables v1.3.5: limit does not support invert |
Argh, une idée? _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Last edited by El_Goretto on Tue Jan 09, 2007 2:36 pm; edited 1 time in total |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Tue Jan 09, 2007 12:06 pm Post subject: |
|
|
Code: | # emerge sys-freebsd/freebsd-pf |
|
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Tue Jan 09, 2007 1:07 pm Post subject: |
|
|
geekounet wrote: | Code: | # emerge sys-freebsd/freebsd-pf |
|
Encore une réponse utile pour faire savoir à ceux qui ne le sauraient pas encore que tu utilises Gentoo/FreeBSD ... Vu le nombre de fois où tu l'as déjà clamé, je pense que tout le monde est au courant maintenant.
Enfin, je dis ça, je dis rien. |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Tue Jan 09, 2007 1:08 pm Post subject: |
|
|
kopp wrote: | geekounet wrote: | Code: | # emerge sys-freebsd/freebsd-pf |
|
Encore une réponse utile pour faire savoir à ceux qui ne le sauraient pas encore que tu utilises Gentoo/FreeBSD ... Vu le nombre de fois où tu l'as déjà clamé, je pense que tout le monde est au courant maintenant.
Enfin, je dis ça, je dis rien. |
Non, juste pour dire (troller ?) que PF est meilleur qu'iptables |
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Tue Jan 09, 2007 1:10 pm Post subject: |
|
|
geekounet wrote: | Non, juste pour dire (troller ?) que PF est meilleur qu'iptables |
Troller est le mot. C'était pas du tout constructif comme réponse vu que pf ne s'utilise pas sous Linux, que je sache. |
|
Back to top |
|
|
_droop_ l33t
Joined: 30 May 2004 Posts: 957
|
Posted: Tue Jan 09, 2007 2:23 pm Post subject: |
|
|
Salut,
Si j'ai bien compris tu veux qu'au bout d'un certain temps la règle :
Code: | IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED |
ne s'applique plus, afin de simuler un time out du client.
Peut être qu'en jouant sur le time out du "conntrack" on peut définir ce temps. (ca doit se trouvet dans /proc/sys/net mais j'ai la flemme de chercher). Après ca risque d'influencer les autres services...
Sinon j'ai aussi vu un patch iptables qui pourrait faire ceci (modifier le time out conntrack). |
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3169 Location: Paris
|
Posted: Tue Jan 09, 2007 2:35 pm Post subject: |
|
|
Ouaip, effectivement, c'est moyen l'impact sur les autres services , surtout que je risque de laisser la machine en l'état passé cette semaine...
Merci quand même droop _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT) |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Wed Jan 10, 2007 10:28 am Post subject: |
|
|
http://openvpn.net/man-beta.html openvpn-2.1
Quote: | --inactive n [bytes]
Causes OpenVPN to exit after n seconds of inactivity on the TUN/TAP device. The time length of inactivity is measured since the last incoming tunnel packet.
If the optional bytes parameter is included, exit after n seconds of activity on tun/tap device produces a combined in/out byte count that is less than bytes.
|
et pour openvpn-2.0.x, c'est la même chose sans l'optionnel argument [bytes]
Ca ne fait pas ce que tu veux ça? _________________ The End of the Internet! |
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3169 Location: Paris
|
Posted: Fri Jan 12, 2007 3:25 pm Post subject: |
|
|
Arrgh, je l'avais pas vu cette option (je n'avais d'ailleurs pas vu ta réponse, les bermudes ont encore frappé). C'est ce que je cherchais mais je ne sais pas si j'aurais le temps de l'implémenter et de la valider d'ici ce soir...
Je travaille avec une "vieille" version d'OpenVPN marqué stable sur alpha, c'est peut etre pour çà que je ne l'ai pas repéré (mauvais foi? moi? )
En tout cas, en théorie, on considère le point comme résolu
Merci truc (pour ton dévouement et ton PM ). _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT) |
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3169 Location: Paris
|
Posted: Fri Jan 12, 2007 3:51 pm Post subject: |
|
|
Erf, çà marche...
Mais le client OpenVPN est trop malin et relance la connexion dès que le serveur la coupe.
Donc c'est pas encore çà. _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT) |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Fri Jan 12, 2007 5:26 pm Post subject: |
|
|
El_Goretto wrote: | Erf, çà marche...
Mais le client OpenVPN est trop malin et relance la connexion dès que le serveur la coupe.
Donc c'est pas encore çà. |
Et en mettant l'option chez le client également ça ne fait rien? _________________ The End of the Internet! |
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3169 Location: Paris
|
Posted: Fri Jan 12, 2007 6:20 pm Post subject: |
|
|
Désolé, mais partant du principe de ne jamais faire confiance au client (parano, mais presque), je n'ai absolument pas pensé à voir si l'option pouvait se mettre sur le client...
Et surtout je devais "rendre" la machine ce soir, donc je n'ai pas eu le temps de creuser cet aspect qui n'était plus prioritaire.
Merci encore, pour la culture j'essaierai chez moi un jour ^^. _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT) |
|
Back to top |
|
|
|