Emule et IPTables

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

Passe moi les échasses, je patauge dans la semoule !

Messagepar brazz » 27 Mars 2004 15:24

Bon, je ne voudrais pas me faire trop insulter en posant un sujet qui a déjja pu être traité, mais le fait est que je n'ai pas trouvé mon bonheur (?) sur le forum. Voilà:
Comme je suis régulièrement ennuyé par un utilisateur qui fait tourner eMule, je l''ai collé en DMZ, sur ORANGE, donc. Le problème c'est que l'âne me bouffe la bande passante et en plus il y a une inflation des connexions. Alors j'ai voulu le limiter à certains ports -pensant que quand tous seraient utilisés je serai tranquile- et bien en fait il s'en f.. complètement, c'est comme si j'avais rien fait. Est ce que mes règles sont déconnantes et où ?
ci dessous la sortie de iptables-save
merci d'avance pour votre aide

# Generated by iptables-save v1.2.9 on Sat Mar 27 08:31:03 2004
*filter
:INPUT DROP [6526:433106]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [42518:20964605]
:BADTCP - [0:0]
:CUSTOMFORWARD - [0:0]
:CUSTOMINPUT - [0:0]
:DHCPBLUEINPUT - [0:0]
:DMZHOLES - [0:0]
:IPSECBLUE - [0:0]
:IPSECRED - [0:0]
:LOG_DROP - [0:0]
:LOG_REJECT - [0:0]
:NEWNOTSYN - [0:0]
:PORTFWACCESS - [0:0]
:PSCAN - [0:0]
:RED - [0:0]
:WIRELESSFORWARD - [0:0]
:WIRELESSINPUT - [0:0]
:XTACCESS - [0:0]
:ipac~fi - [0:0]
:ipac~fo - [0:0]
:ipac~i - [0:0]
:ipac~o - [0:0]
-A INPUT -j ipac~o
-A INPUT -j BADTCP
-A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 10/sec
-A INPUT -j CUSTOMINPUT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 127.0.0.0/255.0.0.0 -j DROP
-A INPUT -d 127.0.0.0/255.0.0.0 -j DROP
-A INPUT -i eth0 -m state --state NEW -j ACCEPT
-A INPUT -i eth1 -m state --state NEW -j ACCEPT
-A INPUT -i ipsec+ -j ACCEPT
-A INPUT -j DHCPBLUEINPUT
-A INPUT -j IPSECRED
-A INPUT -j IPSECBLUE
-A INPUT -j WIRELESSINPUT
-A INPUT -j RED
-A INPUT -m state --state NEW -j XTACCESS
-A INPUT -m limit --limit 10/min -j LOG --log-prefix "INPUT "
-A FORWARD -j ipac~fi
-A FORWARD -j ipac~fo
-A FORWARD -j BADTCP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -j CUSTOMFORWARD
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -j ACCEPT
-A FORWARD -i eth1 -m state --state NEW -j ACCEPT
-A FORWARD -i ipsec+ -j ACCEPT
-A FORWARD -j WIRELESSFORWARD
-A FORWARD -i eth1 -o ipsec+ -j DROP
-A FORWARD -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 20 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 21 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 4662 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 4711 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 1350:1400 -j ACCEPT
-A FORWARD -i eth1 -p udp -m udp --dport 80 -j ACCEPT
-A FORWARD -i eth1 -p udp -m udp --dport 4672 -j ACCEPT
-A FORWARD -i eth1 -p udp -m udp --dport 4711 -j ACCEPT
-A FORWARD -i eth1 -p udp -m udp --dport 1400:1450 -j ACCEPT
-A FORWARD -i eth1 -j DROP
-A FORWARD -m state --state NEW -j PORTFWACCESS
-A FORWARD -i eth1 -o eth0 -m state --state NEW -j DMZHOLES
-A FORWARD -m limit --limit 10/min -j LOG --log-prefix "OUTPUT "
-A OUTPUT -j ipac~i
-A BADTCP -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j PSCAN
-A BADTCP -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j PSCAN
-A BADTCP -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j PSCAN
-A BADTCP -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j PSCAN
-A BADTCP -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j PSCAN
-A BADTCP -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j NEWNOTSYN
-A LOG_DROP -m limit --limit 10/min -j LOG
-A LOG_DROP -j DROP
-A LOG_REJECT -m limit --limit 10/min -j LOG
-A LOG_REJECT -j REJECT --reject-with icmp-port-unreachable
-A NEWNOTSYN -m limit --limit 10/min -j LOG --log-prefix "NEW not SYN? "
-A NEWNOTSYN -j DROP
-A PORTFWACCESS -d 192.168.1.250 -i ppp0 -p tcp -m tcp --dport 4662 -j ACCEPT
-A PSCAN -p tcp -m limit --limit 10/min -j LOG --log-prefix "TCP Scan? "
-A PSCAN -p udp -m limit --limit 10/min -j LOG --log-prefix "UDP Scan? "
-A PSCAN -p icmp -m limit --limit 10/min -j LOG --log-prefix "ICMP Scan? "
-A PSCAN -f -m limit --limit 10/min -j LOG --log-prefix "FRAG Scan? "
-A PSCAN -j DROP
-A RED -i eth2 -j ACCEPT
-A XTACCESS -d xxx.xxx.xxx.xxx -i ppp0 -p tcp -m tcp --dport 113 -j ACCEPT
-A ipac~fi -i eth0
-A ipac~fi -i eth1
-A ipac~fi -i ppp0
-A ipac~fo -o eth0
-A ipac~fo -o eth1
-A ipac~fo -o ppp0
-A ipac~i -o eth0
-A ipac~i -o eth1
-A ipac~i -o ppp0
-A ipac~o -i eth0
-A ipac~o -i eth1
-A ipac~o -i ppp0
COMMIT
# Completed on Sat Mar 27 08:31:03 2004
# Generated by iptables-save v1.2.9 on Sat Mar 27 08:31:03 2004
*nat
:PREROUTING ACCEPT [484320:26543083]
:POSTROUTING ACCEPT [7958:402550]
:OUTPUT ACCEPT [994:44609]
:CUSTOMPOSTROUTING - [0:0]
:CUSTOMPREROUTING - [0:0]
:PORTFW - [0:0]
:POSTPORTFW - [0:0]
:RED - [0:0]
:SQUID - [0:0]
-A PREROUTING -j CUSTOMPREROUTING
-A PREROUTING -j SQUID
-A PREROUTING -j PORTFW
-A POSTROUTING -j CUSTOMPOSTROUTING
-A POSTROUTING -j RED
-A POSTROUTING -j POSTPORTFW
-A PORTFW -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 4662 -j DNAT --to-destination 192.168.1.250:4662
-A POSTPORTFW -s 192.168.0.0/255.255.255.0 -d 192.168.1.250 -p tcp -m tcp --dport 4662 -j SNAT --to-source 192.168.0.254
-A SQUID -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 800
COMMIT
# Completed on Sat Mar 27 08:31:03 2004
Avatar de l’utilisateur
brazz
Second Maître
Second Maître
 
Messages: 33
Inscrit le: 05 Jan 2004 01:00
Localisation: Marseille

Messagepar cvca95001 » 27 Mars 2004 15:54

Le problème c'est que sous emul l'utilisateur peut changer sa config de ports ... Apparemment t'as repéré son adresse IP, y a pas moyen de retrouver qui c'est et lui passer un savon ?
En creusant un peu, on trouve. En creusant trop, on tombe dans le trou !
Avatar de l’utilisateur
cvca95001
Major
Major
 
Messages: 97
Inscrit le: 09 Jan 2004 01:00
Localisation: France - Val d'Oise

Messagepar brazz » 27 Mars 2004 16:13

Non, c'est pas ça. Je sais qui c'est bien sur. Simplement j'essaie de mettre en place une limitation d'utilisation. Il ny a pas de problème, le gars ne change pas de port et il a diminué le nombre de connexions chez lui, mais j'ai l'impressiion que ce n'est pas la même notion de connexion que pour IPCOP. Par parenthese, comment calculer les besoins mémoire, il doit y avoir une partie fixe pour le fonctionnement d'IPCOP, etc + une part variable en fonction du trafic. Je n'ai que 94Mo sur le firewall et j'ai remarqué que l'occupation mémoire varie entre 90 et 94% (au moins 75ù saans eMule)
Avatar de l’utilisateur
brazz
Second Maître
Second Maître
 
Messages: 33
Inscrit le: 05 Jan 2004 01:00
Localisation: Marseille

Messagepar the_g_cat » 27 Mars 2004 16:17

Normalement tu peux dans la config dire à eMule ce qu'il a le droit d'utiliser ... T'as une ligne à 2048/512, tu lui dis qu'il a le droit d'utiliser que 512/128 et c'est bon ...??
Avatar de l’utilisateur
the_g_cat
Major
Major
 
Messages: 80
Inscrit le: 07 Jan 2004 01:00

Messagepar cvca95001 » 27 Mars 2004 16:22

C'est normal, UNIX a tendance à utiliser un max de mémoire disponible mais a une gestion de la RAM optimisée.

Je pense pas qu'il soit possible de limiter la bande passante utilisée pour un utilisateur particulier (en tous cas c'est pas IPTable qui va le permettre). Soit on autorise, soit on interdit, c'est binaire.

Ce que tu peux faire si tu as une version au delà de 1.4.a2 c'est d'allouer une priorité basse au port 4662 (option shapping) mais pour tous les utilisateurs.
En creusant un peu, on trouve. En creusant trop, on tombe dans le trou !
Avatar de l’utilisateur
cvca95001
Major
Major
 
Messages: 97
Inscrit le: 09 Jan 2004 01:00
Localisation: France - Val d'Oise

Messagepar bruno » 27 Mars 2004 16:37

Merci d'éviter ce genre de sujet qui ne veut rien dire et qui n'est absolument pas en rapport avec le problème :(
"Passe moi les échasses, je patauge dans la semoule !"

J'ai renommé le sujet .
Ixus, it's us !
Avatar de l’utilisateur
bruno
AdminIxus
AdminIxus
 
Messages: 1667
Inscrit le: 23 Mai 2001 00:00
Localisation: Sous le soleil de Nice

Messagepar brazz » 27 Mars 2004 16:41

Excuses moi, je voulais dire que je tournais en rond, mais tu as raison.
Avatar de l’utilisateur
brazz
Second Maître
Second Maître
 
Messages: 33
Inscrit le: 05 Jan 2004 01:00
Localisation: Marseille

Messagepar gla » 27 Mars 2004 21:53

Je confirme, tu peux demander à ton "utilisateur" de limiter son utilisation de la bande passante dans Emule.
Il peut spécifier le maximum en download et en upload...
J'ai connu une polonaise qui en buvait au petit déjeuner...
SMERP : Distribution Open Source pour l'entreprise
Avatar de l’utilisateur
gla
Amiral
Amiral
 
Messages: 1259
Inscrit le: 28 Sep 2002 00:00
Localisation: Grasse

Messagepar Le_passant » 28 Mars 2004 00:01

Limiter la bande passante de quelqu'un, ou de quelque chose est normalement du domaine du possible.

En fait dans un premier temps, il faut marquer les paquets de données, puis ensuite établir des règles de filtrage et de priorisation du transfert de ces paquets, voir de limitation la bande passante.

En fait, c'est purement de la QoS, et ceci suivant deux principes de contrôles du traffic : CBQ ou HTB.

Pour le faire on utilise Iproute2, ça tombe bien, on en dispose sous IpCop (du moins sur la 1.3).
On peut aussi utiliser la table Mangle pour matcher les paquets, et en transférer le contrôle à iproute2.

Il y a un petit hic, il faut que le kernel supporte HTB, si on souhaite utiliser cette méthode (pas de soucis pour CBQ).
Ceci doit normalement être directement implémenté dans le noyau depuis le 2.4.2x, par contre est-ce que c'est activé pour IpCop ?

Tu va trouver pas mal d'infos la dessus dans Inetdoc.

Et bon courage, ce n'est pas très simple au premier abord ;), mais les résultats sont à la hauteur des efforts.
Et tant pis pour les mauvais coucheurs ! :D

Le passant.

Vérification faite, on peut établire des règles de QoS sur IpCop, la commande tc est supportée.
Avatar de l’utilisateur
Le_passant
Second Maître
Second Maître
 
Messages: 40
Inscrit le: 12 Août 2002 00:00


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité