Problème iptables

Le masque peut très bien être fixé à /32 mais dans le cadre d’iptables cela n’a pas vraiment de sens mais dans des tables de routage oui cela a son sens.
/32 correspond à un réseau d’une seule machine.

D’ailleurs, toujours sur les netmasks, un /31 correspondrait à un réseau de deux machines mais n’a pas l’air possible. C’est à cause du fait qu’il faut qu’il y ait une adresse de multicast, et donc qu’une plage peut contenir soit une ip (/32), soit minimum 3 (deux ip plus un broadcast, donc /30 ou moins, soit 4 ip ou plus) ?

Merci cyphaw et les autres mais j’ai un problème je c’est pas si sa vien de l’iptables ou de mon proftpd mais je n’est plus accès avec anonymous à mon ftp

mon proftpd :

/etc/proftpd/proftpd.conf – This is a basic ProFTPD configuration file.

To really apply changes reload proftpd after modifications.

Includes DSO modules

Include /etc/proftpd/modules.conf

Set off to disable IPv6 support which is annoying on IPv4 only boxes.

UseIPv6 on

If set on you can experience a longer connection delay in many cases.

IdentLookups off

ServerName "Serveur FTP de la team fucking good gmod"
ServerType standalone
DeferWelcome off

MultilineRFC2228 on
DefaultServer on
ShowSymlinks on

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions “-l”

DenyFilter *.*/

Use this to jail all users in their homes

DefaultRoot ~

Users require a valid shell listed in /etc/shells to login.

Use this directive to release that constrain.

RequireValidShell off

Port 21 is the standard FTP port.

Port 21

In some cases you have to specify passive ports range to by-pass

firewall limitations. Ephemeral ports can be used for that, but

feel free to use a more narrow range.

PassivePorts 49152 65534

If your host was NATted, this option is useful in order to

allow passive tranfers to work. You have to use your public

address and opening the passive ports used on your firewall as well.

MasqueradeAddress 1.2.3.4

This is useful for masquerading address with dynamic IPs:

refresh any configured MasqueradeAddress directives every 8 hours

# DynMasqRefresh 28800

To prevent DoS attacks, set the maximum number of child processes

to 30. If you need to allow more than 30 concurrent connections

at once, simply increase this value. Note that this ONLY works

in standalone mode, in inetd mode you should use an inetd server

that allows you to limit maximum number of processes per service

(such as xinetd)

MaxInstances 30

Set the user and group that the server normally runs at.

User proftpd
Group nogroup

Umask 022 is a good standard umask to prevent new files and dirs

(second parm) from being group and world writable.

Umask 022 022

Normally, we want files to be overwriteable.

AllowOverwrite on

Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:

PersistentPasswd off

This is required to use both PAM-based authentication and local passwords

AuthOrder mod_auth_pam.c* mod_auth_unix.c

Be warned: use of this directive impacts CPU average load!

Uncomment this if you like to see progress and transfer rate with ftpwho

in downloads. That is not needed for uploads rates.

UseSendFile off

TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log

QuotaEngine off Ratios off

Delay engine reduces impact of the so-called Timing Attack described in

security.lss.hr/index.php?page=d … 2004-10-02

It is on by default.

DelayEngine on ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock AdminControlsEngine off

Alternative authentication frameworks

#Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf

This is used for FTPS connections

#Include /etc/proftpd/tls.conf

A basic anonymous configuration, no upload directories.

<Anonymous ~ftp/gmod/orangebox>
User ftp
Group ftp

We want clients to be able to login with “anonymous” as well as “ftp”

UserAlias anonymous ftp

Cosmetic changes, all files belongs to ftp user

DirFakeUser on ftp
DirFakeGroup on ftp

RequireValidShell off

Limit the maximum number of anonymous logins

MaxClients 10

We want ‘welcome.msg’ displayed at login, and ‘.message’ displayed

in each newly chdired directory.

DisplayLogin welcome.msg

DisplayChdir .message

Limit WRITE everywhere in the anonymous chroot

<Directory *>

DenyAll

Uncomment this if you’re brave.

# Umask 022 is a good standard umask to prevent new files and dirs

# (second parm) from being group and world writable.

Umask 022 022

DenyAll

AllowAll

Pas de problème. Pour ce qui est du ftp, j’avoue m’être très peu penché sur le sujet, et j’ai jamais fait marché un ftp correctement.

Si tu utilises la règle “iptables -t filter -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT” et que tu tentes de te connecter depuis ton réseau local, alors le souci ne doit pas venir d’iptables.

Si t’y accèdes depuis l’extérieur, alors oui peut-être. Dans ce cas essaie de regarder du coté du port 20, je crois que le ftp est un peu bizarre, et utilise un peu le port 20 aussi.

De toutes façon, si tu veux être sur de savoir si le problème vient d’iptables ou pas, il suffit de l’ouvrir complètement, et de tester. Si ça marche toujours pas, c’est pas iptables.

Ouverture totale du firewall :

[code]#!/bin/sh

Set the default policy for the filter table

iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT

Set the default policy for the nat table

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

Set the default policy for the mangle table

iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT

Delete all rules

iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

Delete all chains

iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X

End message

echo " [End of flush]"[/code]

Bon ba sa viens de ma configuration … je n’est jamais rien compris à l’user anonyme …

Bienvenue au club, j’avais lu un tuto dessus pour vsftpd, entre user virtuel et autres trucs, ça a jamais marché chez moi :confused:

Pareille mais la j’ai un problème j’ai besoin d’ouvrire une plage de port j’ai fait sa mais rien …

iptables -t filter -A INPUT -p udp --dport 1200 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 27000:27015 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 27020 -j ACCEPT
iptables -t filter -A INPUT -p tcp–dport 27030:2739 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 27015 -j ACCEPT

iptables v1.4.2: invalid portrange (min > max)
Try `iptables -h’ or ‘iptables --help’ for more information.

Merci à tous plus aucun problème

Il est toujours souhaitable de dire comment on a résolu son problème.
Le “ça va bien maintenant, j’ai réparé …” est insuffisant, tu n’es pas seul .

Je suppose que c’est l’absence de vide entre ‘tcp’ et ‘–dport’, à la ligne 4 ???

iptables -t filter -A INPUT -p udp --dport 1200 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 27000:27015 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 27020 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 27030:27039 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 27015 -j ACCEPT

voila mon problème :smiley: si sa aide !

Ca sent le Urban Terror, çà… :unamused:

Même pas , garry’s mod

Un dernier détail, et en même temps une question.

J’utilise iptables pour gérer mon pare feu ainsi que network manager pour gérer mes connexions. Or je partage ma connexion (je reçois sur cable ethernet eth0 et je partage par wifi eth1).

Sauf qu’en créant le réseau wifi, ben ça m’ajoute quelques règles dans iptables, comme

filter table: Chain INPUT (policy DROP 13732 packets, 1733K bytes) pkts bytes target prot opt in out source destination 51 16745 ACCEPT udp -- eth1 any anywhere anywhere udp dpt:bootps 0 0 ACCEPT tcp -- eth1 any anywhere anywhere tcp dpt:bootps 491 32830 ACCEPT udp -- eth1 any anywhere anywhere udp dpt:domain 0 0 ACCEPT tcp -- eth1 any anywhere anywhere tcp dpt:domain
ports 67 et 53, dhcp et dns, pas de soucis

Ou comme ça

nat table: Chain POSTROUTING (policy ACCEPT 27993 packets, 2028K bytes) pkts bytes target prot opt in out source destination 4757 305K MASQUERADE all -- any any 10.42.43.0/24 !10.42.43.0/24
Nécessaire au partage de connexion

Mais aussi comme ça :

Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- any eth1 anywhere 10.42.43.0/24 state RELATED,ESTABLISHED 0 0 ACCEPT all -- eth1 any 10.42.43.0/24 anywhere 0 0 ACCEPT all -- eth1 eth1 anywhere anywhere 0 0 REJECT all -- any eth1 anywhere anywhere reject-with icmp-port-unreachable 0 0 REJECT all -- eth1 any anywhere anywhere reject-with icmp-port-unreachable
On est d’accord que les deux premières sont nécessaires.
La troisième je vois pas elle sert à quoi.
Les deux dernières servent à gérer quelques erreur proprement.

Les questions sont donc :

  1. Comment network-manager fait-il pour bidouiller iptables ? Il est pas root ! (doit y avoir un setuid quelque part, ça m’a pas l’air super secure, ça).

  2. Y a-t-il un moyen de faire en sorte qu’il ne touche plus aux tables ? Parce que je gère mes tables moi-même, en restreignant le partage de connexion à certains couple ip/mac (le réseau est ouvert, tout le monde peut s’y connecter, mais seuls les paquets venant d’un périphérique autorisé par mes soins se font forwrder) et les règles du troisième bloc le rouvre à tout le monde à chaque fois que je reconnecte le wifi par exemple (et même des fois sans que je fasse rien), et c’est chiant.

  3. La troisième règle dont je ne vois pas l’utilité, quelqu’un la voit ?
    J’ai pensé que ça permettait à deux périphériques du réseau local autres que mon ordi de se parler mais ça n’a pas l’air le cas. Effectivement, avec les parmètres suivant de la chaine FORWARD sur la table filter, l’ip .66 peut pinguer l’ip .47 (l’ordi étant le .1) :

filter table: Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- eth0 eth1 anywhere 10.42.43.66 state RELATED,ESTABLISHED 0 0 ACCEPT all -- eth1 eth0 10.42.43.66 anywhere MAC 00:25:BC:F4:B8:89 0 0 ACCEPT all -- eth0 eth1 anywhere 10.42.43.47 state RELATED,ESTABLISHED 3 356 ACCEPT all -- eth1 eth0 10.42.43.47 anywhere MAC E8:06:88:99:22:7D
Or aucun règle n’est censée accepter un paquet venant de eth1 et partant sur eth1, et la politique est en DROP. La question est donc de savoir par où passe le ping, passe-t-il seulement par mon ordi ou va-t-il directement d’un périphérique à l’autre ?

Bon je sais que c’est un gros pavé, mais si vous avez des idées de réponse, n’hésitez pas.

Je ne savais pas que NM rajoutais des règles tout seul… Ca m’étonne d’ailleurs. En tout cas, chez moi ca n’est arrivé que le jour ou j’ai décidé de rajouter mon script iptables dans le répertoire prévu à cet effet dans NM :
/etc/NetworkManager/dispatcher.d/
pour qu’il le lance automatiquement à la connexion de n’importe quelle interface (qui peut être tantôt ethernet, tantôt wifi).

Donc je dirais : vérifie si t’a des choses dans ce répertoire, et si oui, quoi, et si ca correspond avec ton problème d’ajout de règles. Par défaut, il n’y a qu’un script 01ifupdown, tu risque toi d’y trouver en plus un script qui gère tes règles de pare feu.

Le TCP travaillant en mode connecté, personne ne pourra « se faire passer pour la réponse ». En UDP, il y a un timeout en effet.
irp.nain-t.net/doku.php/130netfi … _conntrack

[quote=“Niloo”]Le masque peut très bien être fixé à /32 mais dans le cadre d’iptables cela n’a pas vraiment de sens mais dans des tables de routage oui cela a son sens.
/32 correspond à un réseau d’une seule machine.[/quote]
Et c’est quoi l’adresse du routeur en face de la machine en question ?

@dric64 : non, j’ai bien que le 01ifupdown, je vois toujours pas d’où ça peut venir.

@kna, merci pour la précision.

firestarter installé ou un truc dans le genre qui démarrerait en même temps que le reseau ?

A ma connaissance non. firestarter n’est pas installé et je n’ai rien installé concernant le pare feu.

ok. je ne sais pas alors. En tout cas, NM ne modifie pas tout seul les regles iptables.