[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

IPtables et FTP passif : c'est moi ou la conntrack loupe des paquets



Salut, la liste.

J'ai un problème étrange que voici : nous hébergeons un service FTP
derrière un pare-feu, service FTP accessible en mode passif uniquement.
J'ai donc configuré le démon ProFTPd avec la directive « PassivePorts
50000 50500 » et ai débloqué les ports FTP comme suit :

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  386 78016 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0            /* loopback@localhost */
    4   176 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21flags: 0x17/0x02 limit: avg 5/min burst 50 recent: SET name: FTP side: source
    0     0 LOGDROP    tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21flags: 0x17/0x02 recent: UPDATE seconds: 60 hit_count: 6 TTL-Match name: FTP side: source
   57  2516 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpts:50000:50500 state RELATED,ESTABLISHED
# …
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  386 78016 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0            /* loopback@localhost */
   38  2684 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spt:21
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spts:50000:50500 state RELATED,ESTABLISHED
# …
Chain LOGDROP (14 references)
 pkts bytes target     prot opt in     out     source               destination         
   23  3586 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 1/sec burst 5 LOG flags 0 level 5 prefix "iptables rejected: "
   35  5923 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Je tiens à préciser que ces règles sont identiques à celles d'un autre
serveur sur lequel ProFTPd est parfaitement accessible et dispose de la
même configuration. La seule différence logicielle pertinente que je
connaisse est que le serveur problématique est sous Wheezy, le
fonctionnel sous Squeeze.

Le problème se manifeste lors de la tentative d'établissement de la
connexion passive entre mon serveur 37.187.25.210 et mon client
37.72.199.45 : FileZilla bloque à la commande MLSD ; voici la
sortie de tcpdump lors de cet échec :

root@Procyon:/etc/proftpd# tcpdump -X host 37.72.199.45                   
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:01:21.489481 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [S], seq 1010510494, win 32120, options [mss 1460], length 0
        0x0000:  4500 002c b852 0000 7206 6477 2548 c72d  E..,.R..r.dw%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2a9e 0000 0000  %.......<;*.....
        0x0020:  6002 7d78 f19c 0000 0204 05b4 0000       `.}x..........
16:01:21.489529 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [S.], seq 3904347910, ack 1010510495, win 14600, options [mss 1460], length 0
        0x0000:  4500 002c 0000 4000 4006 0eca 25bb 19d2  E..,..@.@...%...
        0x0010:  2548 c72d 0015 9620 e8b7 9f06 3c3b 2a9f  %H.-........<;*.
        0x0020:  6012 3908 2c21 0000 0204 05b4            `.9.,!......
16:01:21.515001 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 1, win 32120, length 0
        0x0000:  4500 0028 b858 0000 7206 6475 2548 c72d  E..(.X..r.du%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2a9f e8b7 9f07  %.......<;*.....
        0x0020:  5010 7d78 818a 0000 0000 0000 0000       P.}x..........
16:01:21.516426 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 1:60, ack 1, win 14600, length 59
        0x0000:  4500 0063 bd73 4000 4006 511f 25bb 19d2  E..c.s@.@.Q.%...
        0x0010:  2548 c72d 0015 9620 e8b7 9f07 3c3b 2a9f  %H.-........<;*.
        0x0020:  5018 3908 2c58 0000 3232 3020 5072 6f46  P.9.,X..220.ProF
        0x0030:  5450 4420 312e 332e 3461 2053 6572 7665  TPD.1.3.4a.Serve
        0x0040:  7220 2844 6562 6961 6e29 205b 3a3a 6666  r.(Debian).[::ff
        0x0050:  6666 3a33 372e 3138 372e 3235 2e32 3130  ff:37.187.25.210
        0x0060:  5d0d 0a                                  ]..
16:01:21.541301 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 60, win 32061, length 0
        0x0000:  4500 0028 b85e 0000 7206 646f 2548 c72d  E..(.^..r.do%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2a9f e8b7 9f42  %.......<;*....B
        0x0020:  5010 7d3d 818a 0000 0000 0000 0000       P.}=..........
16:01:23.047964 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 1:16, ack 60, win 32120, length 15
        0x0000:  4500 0037 b8f2 0000 7206 63cc 2548 c72d  E..7....r.c.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2a9f e8b7 9f42  %.......<;*....B
        0x0020:  5018 7d78 54be 0000 5553 4552 2077 7777  P.}xT...USER.www
        0x0030:  2d64 6174 610d 0a                        -data..
16:01:23.048005 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [.], ack 16, win 14600, length 0
        0x0000:  4500 0028 bd74 4000 4006 5159 25bb 19d2  E..(.t@.@.QY%...
        0x0010:  2548 c72d 0015 9620 e8b7 9f42 3c3b 2aae  %H.-.......B<;*.
        0x0020:  5010 3908 2c1d 0000                      P.9.,...
16:01:23.048251 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 60:99, ack 16, win 14600, length 39
        0x0000:  4500 004f bd75 4000 4006 5131 25bb 19d2  E..O.u@.@.Q1%...
        0x0010:  2548 c72d 0015 9620 e8b7 9f42 3c3b 2aae  %H.-.......B<;*.
        0x0020:  5018 3908 2c44 0000 3333 3120 4d6f 7420  P.9.,D..331.Mot.
        0x0030:  6465 2070 6173 7365 2072 6571 7569 7320  de.passe.requis.
        0x0040:  706f 7572 2077 7777 2d64 6174 610d 0a    pour.www-data..
16:01:23.073058 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 99, win 32081, length 0
        0x0000:  4500 0028 b8f7 0000 7206 63d6 2548 c72d  E..(....r.c.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2aae e8b7 9f69  %.......<;*....i
        0x0020:  5010 7d51 8140 0000 0000 0000 0000       P.}Q.@........
16:01:23.848123 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 16:33, ack 99, win 32120, length 17  
        0x0000:  4500 0039 b961 0000 7206 635b 2548 c72d  E..9.a..r.c[%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2aae e8b7 9f69  %.......<;*....i
#####################################################################
#                           CENSURÉ                                 #
#####################################################################
16:01:23.854457 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 99:138, ack 33, win 14600, length 39
        0x0000:  4500 004f bd76 4000 4006 5130 25bb 19d2  E..O.v@.@.Q0%...
        0x0010:  2548 c72d 0015 9620 e8b7 9f69 3c3b 2abf  %H.-.......i<;*.
        0x0020:  5018 3908 2c44 0000 3233 3020 5574 696c  P.9.,D..230.Util
        0x0030:  6973 6174 6575 7220 7777 772d 6461 7461  isateur.www-data
        0x0040:  2061 7574 6865 6e74 6966 69c3 a90d 0a    .authentifi....
16:01:23.879322 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 138, win 32081, length 0
        0x0000:  4500 0028 b965 0000 7206 6368 2548 c72d  E..(.e..r.ch%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2abf e8b7 9f90  %.......<;*.....
        0x0020:  5010 7d51 8108 0000 0000 0000 0000       P.}Q..........
16:01:24.648343 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 33:47, ack 138, win 32120, length 14
        0x0000:  4500 0036 b9c9 0000 7206 62f6 2548 c72d  E..6....r.b.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2abf e8b7 9f90  %.......<;*.....
        0x0020:  5018 7d78 d413 0000 4f50 5453 2055 5446  P.}x....OPTS.UTF
        0x0030:  3820 4f4e 0d0a                           8.ON..
16:01:24.648487 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 138:157, ack 47, win 14600, length 19
        0x0000:  4500 003b bd77 4000 4006 5143 25bb 19d2  E..;.w@.@.QC%...
        0x0010:  2548 c72d 0015 9620 e8b7 9f90 3c3b 2acd  %H.-........<;*.
        0x0020:  5018 3908 2c30 0000 3230 3020 5554 462d  P.9.,0..200.UTF-
        0x0030:  3820 6163 7469 76c3 a90d 0a              8.activ....
16:01:24.673321 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 157, win 32101, length 0
        0x0000:  4500 0028 b9ca 0000 7206 6303 2548 c72d  E..(....r.c.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2acd e8b7 9fa3  %.......<;*.....
        0x0020:  5010 7d65 80d3 0000 0000 0000 0000       P.}e..........
16:01:25.487831 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 47:52, ack 157, win 32120, length 5
        0x0000:  4500 002d ba20 0000 7206 62a8 2548 c72d  E..-....r.b.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2acd e8b7 9fa3  %.......<;*.....
        0x0020:  5018 7d78 e24e 0000 5057 440d 0a00       P.}x.N..PWD...
16:01:25.487957 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 157:193, ack 52, win 14600, length 36
        0x0000:  4500 004c bd78 4000 4006 5131 25bb 19d2  E..L.x@.@.Q1%...
        0x0010:  2548 c72d 0015 9620 e8b7 9fa3 3c3b 2ad2  %H.-........<;*.
        0x0020:  5018 3908 2c41 0000 3235 3720 222f 2220  P.9.,A..257."/".
        0x0030:  6573 7420 6c65 2072 c3a9 7065 7274 6f69  est.le.r..pertoi
        0x0040:  7265 2063 6f75 7261 6e74 0d0a            re.courant..
16:01:25.512833 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 193, win 32084, length 0
        0x0000:  4500 0028 ba22 0000 7206 62ab 2548 c72d  E..(."..r.b.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ad2 e8b7 9fc7  %.......<;*.....
        0x0020:  5010 7d54 80bb 0000 0000 0000 0000       P.}T..........
16:01:26.287436 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 52:60, ack 193, win 32120, length 8
        0x0000:  4500 0030 ba5a 0000 7206 626b 2548 c72d  E..0.Z..r.bk%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ad2 e8b7 9fc7  %.......<;*.....
        0x0020:  5018 7d78 ae95 0000 5459 5045 2049 0d0a  P.}x....TYPE.I..
16:01:26.287588 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 193:220, ack 60, win 14600, length 27
        0x0000:  4500 0043 bd79 4000 4006 5139 25bb 19d2  E..C.y@.@.Q9%...
        0x0010:  2548 c72d 0015 9620 e8b7 9fc7 3c3b 2ada  %H.-........<;*.
        0x0020:  5018 3908 2c38 0000 3230 3020 5479 7065  P.9.,8..200.Type
        0x0030:  2070 6172 616d c3a9 7472 c3a9 20c3 a020  .param..tr......
        0x0040:  490d 0a                                  I..
16:01:26.312450 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 220, win 32093, length 0
        0x0000:  4500 0028 ba5c 0000 7206 6271 2548 c72d  E..(.\..r.bq%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ada e8b7 9fe2  %.......<;*.....
        0x0020:  5010 7d5d 808f 0000 0000 0000 0000       P.}]..........
16:01:27.087258 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 60:66, ack 220, win 32120, length 6
        0x0000:  4500 002e baaf 0000 7206 6218 2548 c72d  E.......r.b.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ada e8b7 9fe2  %.......<;*.....
        0x0020:  5018 7d78 cfc4 0000 5041 5356 0d0a       P.}x....PASV..
16:01:25.487957 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 157:193, ack 52, win 14600, length 36
        0x0000:  4500 004c bd78 4000 4006 5131 25bb 19d2  E..L.x@.@.Q1%...
        0x0010:  2548 c72d 0015 9620 e8b7 9fa3 3c3b 2ad2  %H.-........<;*.
        0x0020:  5018 3908 2c41 0000 3235 3720 222f 2220  P.9.,A..257."/".
        0x0030:  6573 7420 6c65 2072 c3a9 7065 7274 6f69  est.le.r..pertoi
        0x0040:  7265 2063 6f75 7261 6e74 0d0a            re.courant..
16:01:25.512833 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 193, win 32084, length 0
        0x0000:  4500 0028 ba22 0000 7206 62ab 2548 c72d  E..(."..r.b.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ad2 e8b7 9fc7  %.......<;*.....
        0x0020:  5010 7d54 80bb 0000 0000 0000 0000       P.}T..........
16:01:26.287436 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 52:60, ack 193, win 32120, length 8
        0x0000:  4500 0030 ba5a 0000 7206 626b 2548 c72d  E..0.Z..r.bk%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ad2 e8b7 9fc7  %.......<;*.....
        0x0020:  5018 7d78 ae95 0000 5459 5045 2049 0d0a  P.}x....TYPE.I..
16:01:26.287588 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 193:220, ack 60, win 14600, length 27
        0x0000:  4500 0043 bd79 4000 4006 5139 25bb 19d2  E..C.y@.@.Q9%...
        0x0010:  2548 c72d 0015 9620 e8b7 9fc7 3c3b 2ada  %H.-........<;*.
        0x0020:  5018 3908 2c38 0000 3230 3020 5479 7065  P.9.,8..200.Type
        0x0030:  2070 6172 616d c3a9 7472 c3a9 20c3 a020  .param..tr......
        0x0040:  490d 0a                                  I..
16:01:26.312450 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 220, win 32093, length 0
        0x0000:  4500 0028 ba5c 0000 7206 6271 2548 c72d  E..(.\..r.bq%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ada e8b7 9fe2  %.......<;*.....
        0x0020:  5010 7d5d 808f 0000 0000 0000 0000       P.}]..........
16:01:27.087258 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 60:66, ack 220, win 32120, length 6
        0x0000:  4500 002e baaf 0000 7206 6218 2548 c72d  E.......r.b.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ada e8b7 9fe2  %.......<;*.....
        0x0020:  5018 7d78 cfc4 0000 5041 5356 0d0a       P.}x....PASV..
16:01:27.087408 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [P.], seq 220:272, ack 66, win 14600, length 52
        0x0000:  4500 005c bd7a 4000 4006 511f 25bb 19d2  E..\.z@.@.Q.%...
        0x0010:  2548 c72d 0015 9620 e8b7 9fe2 3c3b 2ae0  %H.-........<;*.
        0x0020:  5018 3908 2c51 0000 3232 3720 456e 7465  P.9.,Q..227.Ente
        0x0030:  7269 6e67 2050 6173 7369 7665 204d 6f64  ring.Passive.Mod
        0x0040:  6520 2833 372c 3138 372c 3235 2c32 3130  e.(37,187,25,210
        0x0050:  2c31 3935 2c31 3239 292e 0d0a            ,195,129)...
16:01:27.112499 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [.], ack 272, win 32068, length 0
        0x0000:  4500 0028 bab2 0000 7206 621b 2548 c72d  E..(....r.b.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ae0 e8b7 a016  %.......<;*.....
        0x0020:  5010 7d44 806e 0000 0000 0000 0000       P.}D.n........
16:01:28.007094 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432 > Procyon.ftp: Flags [P.], seq 66:72, ack 272, win 32120, length 6
        0x0000:  4500 002e bb26 0000 7206 61a1 2548 c72d  E....&..r.a.%H.-
        0x0010:  25bb 19d2 9620 0015 3c3b 2ae0 e8b7 a016  %.......<;*.....
        0x0020:  5018 7d78 d291 0000 4d4c 5344 0d0a       P.}x....MLSD..
16:01:28.007132 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.55809 > Procyon.50049: Flags [S], seq 2526700299, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
        0x0000:  4500 0034 344e 4000 7206 a873 2548 c72d  E..44N@.r..s%H.-
        0x0010:  25bb 19d2 da01 c381 969a 630b 0000 0000  %.........c.....
        0x0020:  8002 2000 8bea 0000 0204 05b4 0103 0302  ................
        0x0030:  0101 0402                                ....
16:01:28.046608 IP Procyon.ftp > 45.199.72.37.dynamic.sat.abo.nordnet.fr.38432: Flags [.], ack 72, win 14600, length 0
        0x0000:  4500 0028 bd7b 4000 4006 5152 25bb 19d2  E..(.{@.@.QR%...
        0x0010:  2548 c72d 0015 9620 e8b7 a016 3c3b 2ae6  %H.-........<;*.
        0x0020:  5010 3908 2c1d 0000                      P.9.,...
16:01:31.004018 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.55809 > Procyon.50049: Flags [S], seq 2526700299, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
        0x0000:  4500 0034 0a84 4000 7206 d23d 2548 c72d  E..4..@.r..=%H.-
        0x0010:  25bb 19d2 da01 c381 969a 630b 0000 0000  %.........c.....
        0x0020:  8002 2000 8bea 0000 0204 05b4 0103 0302  ................
        0x0030:  0101 0402                                ....
16:01:34.966828 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.55809 > Procyon.50049: Flags [S], seq 3270291668, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
        0x0000:  4500 0034 1ca9 4000 7206 c018 2548 c72d  E..4..@.r...%H.-
        0x0010:  25bb 19d2 da01 c381 c2ec b0d4 0000 0000  %...............
        0x0020:  8002 2000 11cf 0000 0204 05b4 0103 0302  ................
        0x0030:  0101 0402                                ....
16:01:37.970346 IP 45.199.72.37.dynamic.sat.abo.nordnet.fr.55809 > Procyon.50049: Flags [S], seq 3270291668, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
        0x0000:  4500 0034 7acf 4000 7206 61f2 2548 c72d  E..4z.@.r.a.%H.-
        0x0010:  25bb 19d2 da01 c381 c2ec b0d4 0000 0000  %...............
        0x0020:  8002 2000 11cf 0000 0204 05b4 0103 0302  ................
        0x0030:  0101 0402                                ....
^C
30 packets captured
30 packets received by filter
0 packets dropped by kernel
3 packets dropped by interface

Comme vous pouvez le constater sur cette capture, le serveur reçoit bien
les paquets SYN du client préalables à l'ouverture de la connexion TCP
passive, mais n'y répond pas. Dans le même temps, les journaux système
me donnent la sortie suivante :

Jun 24 16:01:28 Procyon kernel: [1564757.940283] iptables rejected: IN=eth0 OUT= MAC=00:25:90:a6:23:0e:1c:e6:c7:52:07:40:08:00 SRC=37.72.199.45 DST=37.187.25.210 LEN=52 TOS=0x00 PREC=0x00 TTL=114 ID=13390 DF PROTO=TCP SPT=55809 DPT=50049 WINDOW=8192 RES=0x00 SYN URGP=0 
Jun 24 16:01:31 Procyon kernel: [1564760.929073] iptables rejected: IN=eth0 OUT= MAC=00:25:90:a6:23:0e:1c:e6:c7:52:07:40:08:00 SRC=37.72.199.45 DST=37.187.25.210 LEN=52 TOS=0x00 PREC=0x00 TTL=114 ID=2692 DF PROTO=TCP SPT=55809 DPT=50049 WINDOW=8192 RES=0x00 SYN URGP=0 
Jun 24 16:01:34 Procyon kernel: [1564764.881146] iptables rejected: IN=eth0 OUT= MAC=00:25:90:a6:23:0e:1c:e6:c7:52:07:40:08:00 SRC=37.72.199.45 DST=37.187.25.210 LEN=52 TOS=0x00 PREC=0x00 TTL=114 ID=7337 DF PROTO=TCP SPT=55809 DPT=50049 WINDOW=8192 RES=0x00 SYN URGP=0 
Jun 24 16:01:37 Procyon kernel: [1564767.876522] iptables rejected: IN=eth0 OUT= MAC=00:25:90:a6:23:0e:1c:e6:c7:52:07:40:08:00 SRC=37.72.199.45 DST=37.187.25.210 LEN=52 TOS=0x00 PREC=0x00 TTL=114 ID=31439 DF PROTO=TCP SPT=55809 DPT=50049 WINDOW=8192 RES=0x00 SYN URGP=0 

Comme je comprends cette sortie écran, elle m'indique deux choses :
    1) tcpdump lit les paquets tels qu'ils sont reçus et non pas tel que
le pare-feu les laisse passer, comportement que je suspectais mais que
je n'avais jamais observé jusqu'à présent ;
    2) les paquets de la connexion passive sont bien reçus par le
serveur mais rejetés par son pare-feu.

Le second point me paraît étrange ; en effet, vu que les paquets
correspondant à la connexion passive arrivent sur le port 50049 du
serveur, donc dans l'intervalle 50000-50500, et qu'ils sont liés à
l'établissement de la connexion passive, ils devraient correspondre à la
règle iptables INPUT « tcp dpts:50000:50500 state RELATED,ESTABLISHED » :
ces paquets étant liés à connexion FTP pré-existante sur le port 21,
ils devraient être acceptés par la règle sur l'état RELATED, or ce
n'est pas le cas. Afin de dissiper le doute, j'ai décomposé les règles
des ports 50000-50500 et ait réinitialisé les compteurs du pare-feu
puis la connexion FTP pour obtenir le résultat suivant :

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    6   715 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0            /* loopback@localhost */
    1    44 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21flags: 0x17/0x02 limit: avg 5/min burst 50 recent: SET name: FTP side: source
    0     0 LOGDROP    tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21flags: 0x17/0x02 recent: UPDATE seconds: 60 hit_count: 6 TTL-Match name: FTP side: source
   17   751 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpts:50000:50500 state RELATED
    3   120 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpts:50000:50500 state ESTABLISHED
    1    52 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpts:50000:50500
# …
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    6   715 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0            /* loopback@localhost */
   11   812 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spt:21
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spts:50000:50500 state RELATED
    4   395 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spts:50000:50500 state ESTABLISHED
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spts:50000:50500
# …
Chain LOGDROP (14 references)
 pkts bytes target     prot opt in     out     source               destination         
    5  1045 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 1/sec burst 5 LOG flags 0 level 5 prefix "iptables rejected: "
    9  1824 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Comme vous pouvez le voir, la règle OUTPUT concernant les paquets
de connexions à l'état RELATED, à savoir « tcp spts:50000:50500 state
RELATED », n'est jamais appelée alors qu'elle aurait dû l'être dans ce
cas. J'analyse donc les résultats comme suit : le paquet SYN de la
connexion passive est reçu par le serveur, n'est pas reconnu comme une
connexion RELATED et passe par la troisième règle INPUT qui l'accepte
uniquement sur la base du port de destination utilisé ; le serveur
répond à ce paquet, et la sortie de ce paquet est accepté par la règle
OUTPUT liée à l'état ESTABLISHED, puisque, comme il s'agit d'un paquet
en réponse à un autre, la machine à état d'iptables considère la
connexion ESTABLISHED. À partir de ce moment, tous les paquets à
destination du serveur sont acceptés par la règle INPUT liée à l'état
ESTABLISHED, ce qui explique qu'un seul paquet déclenche la règle INPUT
correspondant au seul port de destination.

Ma déduction est que la conntrack est défectueuse car elle a été
incapable de reconnaître la connexion FTP passive comme une connexion liée à
une autre connexion pré-existante, ce qui a fait échouer la règle
acceptant les paquets de connexions à l'état RELATED.

Me trompé-je en affirmant que le problème vient de la conntrack ? Si
oui, où est mon erreur ? Sinon, si c'est bien un bug de la conntrack,
que dois-je faire ? Ouvrir un ticket de bug ? Dans ce cas, concernant
quel paquet ? Sinon, que faire d'autre ?

Dans l'attente de vos lumières,

Cordialement.
-- 
David Guyot
Administrateur système, réseau et télécommunications / Sysadmin
Europe Camions Interactive / Stockway
Moulin Collot
F-88500 Ambacourt
Tel: +33 (0)3 29 30 47 85
Fax : +33 (0)3 29 31 31 31

Attachment: signature.asc
Description: Digital signature


Reply to: