Mise en place d'un ftp perso

Pour faire un test, fais un «telnet IP 2121», mais d’une machine derrière la box, ça ne marchera probablement pas, les seuls tests que tu peux faire doivent être fait d’une machine extérieure.

La DMZ est (pour les Boxs) une machine par défaut où sont redirigées toutes les connexions entrantes.

eh bien même en indiquant mon ip en DMZ, il n’y a pas d’amélioration ce n’est pas l’ip publique tout de même qu’il faut renseigner? Je me sens mal parti pour mon ftp… Existe-t-il autre chose que le ftp dans ce cas?

  1. Met l’IP privée de ton serveur en DMZ
  2. Enlève les règles de redirection sur le port 21
  3. Vérifies les règles iptables sur le serveur (donn e le résultat de iptables-save)
  4. Fais unj test de l’extérieur PAS de ton LAN et laissant tourner un tcpdump sur ton serveur.

Donne nous le tout.

l’ip privée, c’est bien un truc du genre 192.168.1.2 ?
Pour les tests de l’extérieur, ca ne pourra être que quelqu’un qui testera pour moi, mes 2 ordis sont connectés sur la même box.
Sinon, les règles iptables sont les suivantes :

[code]Lothlorien:/home/xavier# iptables-save

Generated by iptables-save v1.4.4 on Sun Oct 4 11:01:47 2009

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:ufw-after-forward - [0:0]
:ufw-after-input - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-before-input - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-output - [0:0]
:ufw-logging-allow - [0:0]
:ufw-logging-deny - [0:0]
:ufw-not-local - [0:0]
:ufw-reject-forward - [0:0]
:ufw-reject-input - [0:0]
:ufw-reject-output - [0:0]
:ufw-track-input - [0:0]
:ufw-track-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-user-input - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
:ufw-user-logging-forward - [0:0]
:ufw-user-logging-input - [0:0]
:ufw-user-logging-output - [0:0]
:ufw-user-output - [0:0]
-A INPUT -j ufw-before-logging-input
-A INPUT -j ufw-before-input
-A INPUT -j ufw-after-input
-A INPUT -j ufw-after-logging-input
-A INPUT -j ufw-reject-input
-A INPUT -j ufw-track-input
-A FORWARD -j ufw-before-logging-forward
-A FORWARD -j ufw-before-forward
-A FORWARD -j ufw-after-forward
-A FORWARD -j ufw-after-logging-forward
-A FORWARD -j ufw-reject-forward
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A ufw-after-input -p udp -m udp --dport 137 -j RETURN
-A ufw-after-input -p udp -m udp --dport 138 -j RETURN
-A ufw-after-input -p tcp -m tcp --dport 139 -j RETURN
-A ufw-after-input -p tcp -m tcp --dport 445 -j RETURN
-A ufw-after-input -p udp -m udp --dport 67 -j RETURN
-A ufw-after-input -p udp -m udp --dport 68 -j RETURN
-A ufw-after-input -m addrtype --dst-type BROADCAST -j RETURN
-A ufw-after-logging-forward -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-after-logging-input -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-after-logging-output -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-before-forward -j ufw-user-forward
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-input -m state --state RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-input -m state --state INVALID -j ufw-logging-deny
-A ufw-before-input -m state --state INVALID -j DROP
-A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A ufw-before-input -j ufw-not-local
-A ufw-before-input -s 224.0.0.0/4 -j ACCEPT
-A ufw-before-input -d 224.0.0.0/4 -j ACCEPT
-A ufw-before-input -j ufw-user-input
-A ufw-before-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW AUDIT] "
-A ufw-before-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW AUDIT] "
-A ufw-before-logging-output -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW AUDIT] "
-A ufw-before-output -o lo -j ACCEPT
-A ufw-before-output -m state --state RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -j ufw-user-output
-A ufw-logging-allow -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-logging-deny -m state --state INVALID -j RETURN
-A ufw-logging-deny -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP
-A ufw-track-output -p tcp -m state --state NEW -j ACCEPT
-A ufw-track-output -p udp -m state --state NEW -j ACCEPT
-A ufw-user-input -p tcp -m tcp --dport 55550 -j ACCEPT
-A ufw-user-input -p udp -m udp --dport 55550 -j ACCEPT
-A ufw-user-input -p tcp -m tcp --dport 55551 -j ACCEPT
-A ufw-user-input -p udp -m udp --dport 55551 -j ACCEPT
-A ufw-user-input -p tcp -m tcp --dport 21 -j ACCEPT
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable
-A ufw-user-limit-accept -j ACCEPT
COMMIT

Completed on Sun Oct 4 11:01:47 2009

[/code]

hey! en supprimant toutes les règles et en me mettant en DMZ, ça fonctionne! Merci beaucoup!

Sinon, quelqu’un pourrait-il m’expliquer comment je peux faire pour donner accès en écriture à un seul répertoire pour un utilisateur?

D’où elles sortent ces règles, il y a des redondances et ça me parait bien compliqué pour tout bloquer ou presque finalement.

hum… ce sont des règles faites avec ufw… Tu me conseilles de tout remettre à zéro? Pour ce, comment faire?

j’ai tenté de remettre le pare-feu à neuf. ça donne ça :

[code]Lothlorien:/home/xavier# iptables-save

Generated by iptables-save v1.4.4 on Sun Oct 4 12:42:37 2009

*raw
:PREROUTING ACCEPT [247717:211018663]
:OUTPUT ACCEPT [233516:113467123]
COMMIT

Completed on Sun Oct 4 12:42:37 2009

Generated by iptables-save v1.4.4 on Sun Oct 4 12:42:37 2009

*mangle
:PREROUTING ACCEPT [236060:201532234]
:INPUT ACCEPT [236060:201532234]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [223000:109172101]
:POSTROUTING ACCEPT [222998:109172021]
COMMIT

Completed on Sun Oct 4 12:42:37 2009

Generated by iptables-save v1.4.4 on Sun Oct 4 12:42:37 2009

*nat
:PREROUTING ACCEPT [2481:307044]
:POSTROUTING ACCEPT [1002:92527]
:OUTPUT ACCEPT [1002:92527]
COMMIT

Completed on Sun Oct 4 12:42:37 2009

Generated by iptables-save v1.4.4 on Sun Oct 4 12:42:37 2009

*filter
:INPUT DROP [9:8380]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:INBOUND - [0:0]
:LOG_FILTER - [0:0]
:LSI - [0:0]
:LSO - [0:0]
:OUTBOUND - [0:0]
-A INPUT -s 192.168.1.1/32 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -s 192.168.1.1/32 -p udp -j ACCEPT
-A INPUT -s 192.168.1.1/32 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -s 192.168.1.1/32 -p udp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m limit --limit 10/sec -j ACCEPT
-A INPUT -d 255.255.255.255/32 -i wlan0 -j DROP
-A INPUT -d 192.168.1.255/32 -j DROP
-A INPUT -s 224.0.0.0/8 -j DROP
-A INPUT -d 224.0.0.0/8 -j DROP
-A INPUT -s 255.255.255.255/32 -j DROP
-A INPUT -d 0.0.0.0/32 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -f -m limit --limit 10/min -j LSI
-A INPUT -i wlan0 -j INBOUND
-A INPUT -j LOG_FILTER
-A INPUT -j LOG --log-prefix “Unknown Input” --log-level 6
-A FORWARD -p icmp -m limit --limit 10/sec -j ACCEPT
-A FORWARD -j LOG_FILTER
-A FORWARD -j LOG --log-prefix “Unknown Forward” --log-level 6
-A OUTPUT -s 192.168.1.4/32 -d 192.168.1.1/32 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.1.4/32 -d 192.168.1.1/32 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.1.4/32 -d 192.168.1.1/32 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.1.4/32 -d 192.168.1.1/32 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -s 224.0.0.0/8 -j DROP
-A OUTPUT -d 224.0.0.0/8 -j DROP
-A OUTPUT -s 255.255.255.255/32 -j DROP
-A OUTPUT -d 0.0.0.0/32 -j DROP
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o wlan0 -j OUTBOUND
-A OUTPUT -j LOG_FILTER
-A OUTPUT -j LOG --log-prefix “Unknown Output” --log-level 6
-A INBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -p tcp -m tcp --dport 55550 -j ACCEPT
-A INBOUND -p udp -m udp --dport 55550 -j ACCEPT
-A INBOUND -p tcp -m tcp --dport 55551 -j ACCEPT
-A INBOUND -p udp -m udp --dport 55551 -j ACCEPT
-A INBOUND -p tcp -m tcp --dport 20:21 -j ACCEPT
-A INBOUND -p udp -m udp --dport 20:21 -j ACCEPT
-A INBOUND -j LSI
-A LSI -j LOG_FILTER
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A LSI -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p icmp -m icmp --icmp-type 8 -j DROP
-A LSI -m limit --limit 5/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -j DROP
-A LSO -j LOG_FILTER
-A LSO -m limit --limit 5/sec -j LOG --log-prefix "Outbound " --log-level 6
-A LSO -j REJECT --reject-with icmp-port-unreachable
-A OUTBOUND -p icmp -j ACCEPT
-A OUTBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -j ACCEPT
COMMIT

Completed on Sun Oct 4 12:42:37 2009[/code]

C’est mieux ou pas? Sinon, comment puis-je le remettre vierge? Quel outils me conseillez-vous pour le gérer?