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