IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

Iptables et ouverture de ports pour transmission (torrent)


Sujet :

Réseau

  1. #1
    Candidat au Club
    Homme Profil pro
    Curieux de nature
    Inscrit en
    Août 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Curieux de nature
    Secteur : Santé

    Informations forums :
    Inscription : Août 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Iptables et ouverture de ports pour transmission (torrent)
    Bonjour,

    Je souhaite configurer mon pare-feu iptables et utiliser transmission, mais je sèche...C'est pourquoi j'apprécierai beaucoup d'avoir de l'aide !!

    J'ai créé deux fichiers :
    • l'un qui me donne ma configuration par défaut (iptables.sh)
    • et l'autre qui me permet d'ouvrir occasionnellement certains ports(ajoutePortsIptables.sh)


    Voici le listing de ces fichiers :
    iptables.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    #!/bin/bash
    #suprime tout
    iptables -F
    iptables -X
    #interdit tout
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT DROP
    # autorise loopback
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    # autorise dns
    iptables -t filter -A OUTPUT -p udp -m udp --dport 53 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT 
    iptables -t filter -A INPUT -p udp -m udp --sport 53 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    #autorise ports internets
    iptables -t filter -A OUTPUT -p tcp -m multiport --dports 80,443,8000 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT  
    iptables -t filter -A INPUT -p tcp -m multiport --sports 80,443,8000 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    #autorise mails
    iptables -A INPUT -m multiport -p tcp --sport 587,465,993,995 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -m multiport -p tcp --dport 465,587,993,995 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
    #log les indésirables
    iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 7
    iptables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 7
    #sauvegarde la configuration
    iptables-save > /etc/sysconfig/iptables
    ajoutePortsIptables.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    #!/bin/bash
    IPT=/usr/sbin/iptables
     
    echo -e "Souhaitez-vous :\n
        1/ Autoriser transmission\n
        2/ Autoriser FTP\n
        3/ Fermer les ports non strictement nécessaires\n"
    read reponse
     
        case $reponse in
            1)echo "Autoriser transmission"
                $IPT -I INPUT 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
                $IPT -t filter -A OUTPUT -p udp --dport 51413 -j ACCEPT
                $IPT -t filter -A OUTPUT -p tcp --dport 51413 -j ACCEPT
                $IPT -t filter -A OUTPUT -p udp --dport 6969 -j ACCEPT
                $IPT -t filter -A OUTPUT -p tcp --dport 6969 -j ACCEPT
                $IPT -L --line-number;;
            2)echo "Autoriser FTP"
                modprobe ip_conntrack
                modprobe ip_conntrack_ftp  
                $IPT -t filter -A INPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
                $IPT -t filter -A INPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
                $IPT -t filter -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
                $IPT -t filter -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
                $IPT -t filter -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
                $IPT -t filter -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
                $IPT -L --line-number;;
            3)echo "fermer"
                sh ./iptables.sh
                $IPT -L --line-number;;
        esac
    J'ai paramétré transmission pour qu'il écoute le port 51413 et que les trackers aient le port 6969 d'ouvert, mais je n'arrive pas à le faire fonctionner.

    La commande iptables -L --line-number donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Chain INPUT (policy DROP)
    num  target     prot opt source               destination         
    1    ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
    2    ACCEPT     all  --  anywhere             anywhere            
    3    ACCEPT     udp  --  anywhere             anywhere             udp spt:domain ctstate RELATED,ESTABLISHED
    4    ACCEPT     tcp  --  anywhere             anywhere             multiport sports http,https,irdmi ctstate RELATED,ESTABLISHED
    5    ACCEPT     tcp  --  anywhere             anywhere             multiport sports submission,urd,imaps,pop3s state RELATED,ESTABLISHED
    6    LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables_INPUT_denied: "
     
    Chain FORWARD (policy DROP)
    num  target     prot opt source               destination         
    1    LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables_FORWARD_denied: "
     
    Chain OUTPUT (policy DROP)
    num  target     prot opt source               destination         
    1    ACCEPT     all  --  anywhere             anywhere            
    2    ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain ctstate NEW,RELATED,ESTABLISHED
    3    ACCEPT     tcp  --  anywhere             anywhere             multiport dports http,https,irdmi ctstate NEW,RELATED,ESTABLISHED
    4    ACCEPT     tcp  --  anywhere             anywhere             multiport dports urd,submission,imaps,pop3s state NEW,RELATED,ESTABLISHED
    5    ACCEPT     udp  --  anywhere             anywhere             udp dpt:51413
    6    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:51413
    7    ACCEPT     udp  --  anywhere             anywhere             udp dpt:acmsoda
    8    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:acmsoda
    et la commande netstat -lapute|grep transmission donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tcp        0      0 0.0.0.0:51413           0.0.0.0:*               LISTEN      Julien     66810      3335/transmission-g 
    tcp6       0      0 [::]:51413              [::]:*                  LISTEN      Julien     66812      3335/transmission-g 
    udp        0      0 0.0.0.0:51413           0.0.0.0:*                           Julien     66813      3335/transmission-g
    Auriez-vous des conseils ?

    Merci encore pour toute aide éventuelle et bonne soirée

  2. #2
    Candidat au Club
    Homme Profil pro
    Curieux de nature
    Inscrit en
    Août 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Curieux de nature
    Secteur : Santé

    Informations forums :
    Inscription : Août 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    j'ai tenté d'améliorer l'ordre des règles d'iptables lorsque "j'autorise" transmission :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    #!/bin/bash
    IPT=/usr/sbin/iptables
    #suprime tout
    $IPT -F
    $IPT -X
    #log les packets dropés
    $IPT -N LOG_DROP
    $IPT -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
    $IPT -A LOG_DROP -j DROP
    #interdit tout
    $IPT -P INPUT DROP
    $IPT -P FORWARD DROP
    $IPT -P OUTPUT DROP
    # autorise loopback
    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A OUTPUT -o lo -j ACCEPT
    # autorise dns
    $IPT -t filter -A OUTPUT -p udp -m udp --dport 53 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT 
    $IPT -t filter -A INPUT -p udp -m udp --sport 53 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    #autorise ports internets
    $IPT -t filter -A OUTPUT -p tcp -m multiport --dports 80,443,8000 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT  
    $IPT -t filter -A INPUT -p tcp -m multiport --sports 80,443,8000 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    #autorise mails
    $IPT -A INPUT -m multiport -p tcp --sport 587,465,993,995 -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -A OUTPUT -m multiport -p tcp --dport 465,587,993,995 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
    #log les indésirables
    $IPT -A INPUT -m limit --limit 5/min -j LOG --log-prefix "$IPT_INPUT_denied: " --log-level 7
    $IPT -A FORWARD -m limit --limit 5/min -j LOG --log-prefix "$IPT_FORWARD_denied: " --log-level 7
    $IPT -A FORWARD -j LOG_DROP
    $IPT -A INPUT -j LOG_DROP
    $IPT -A OUTPUT -j LOG_DROP
    #sauvegarde la configuration
    $IPT-save > /etc/sysconfig/$IPT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #!/bin/bash
    IPT=/usr/sbin/iptables
     
    echo -e "Souhaitez-vous :\n
        1/ Autoriser transmission\n
        2/ Autoriser FTP\n
        3/ Fermer les ports non strictement nécessaires\n"
    read reponse
     
        case $reponse in
            1)echo "Autoriser transmission"
                $IPT -t filter -I INPUT 4 -p tcp -m multiport --dport 6881:6889 -m state ! --state INVALID -j ACCEPT
                $IPT -t filter -I OUTPUT 4 -p tcp -m multiport --sport 6881:6889 -m state ! --state INVALID -j ACCEPT
                $IPT -t filter -I INPUT 4 -m state --state RELATED,ESTABLISHED -p udp --dport 51413 -j ACCEPT
                $IPT -t filter -I OUTPUT 4 -p udp --sport 51413 -j ACCEPT;;
            2)echo "Autoriser FTP"
                modprobe ip_conntrack
                modprobe ip_conntrack_ftp  
                $IPT -t filter -I INPUT 4 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
                $IPT -t filter -I INPUT 4 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
                $IPT -t filter -I INPUT 4 -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
                $IPT -t filter -I OUTPUT 4 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
                $IPT -t filter -I OUTPUT 4 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
                $IPT -t filter -I OUTPUT 4 -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT;;
            3)echo "fermer"
                sh ./iptables.sh
                $IPT -L --line-number;;
        esac
    J'ai aussi loggé les fichiers droppés en créant une chaine idoine.

    netstat -lapute donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tcp        0      0 0.0.0.0:51413           0.0.0.0:*               LISTEN      Julien     169120     6377/transmission-g 
    tcp6       0      0 [::]:51413              [::]:*                  LISTEN      Julien     169122     6377/transmission-g 
    udp        0      0 0.0.0.0:51413           0.0.0.0:*                           Julien     169123     6377/transmission-g
    iptables -L -nv donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Chain INPUT (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
      178 24620 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp spt:53 ctstate RELATED,ESTABLISHED
     3857 3299K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport sports 80,443,8000 ctstate RELATED,ESTABLISHED
       94 20573 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED udp dpt:51413
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 6881:6889 ! state INVALID
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport sports 587,465,993,995 state RELATED,ESTABLISHED
        8   688 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 5/min burst 5 LOG flags 0 level 7 prefix ": "
       13  1088 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     
    Chain FORWARD (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 5/min burst 5 LOG flags 0 level 7 prefix ": "
        0     0 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     
    Chain OUTPUT (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
      178 11350 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:53 ctstate NEW,RELATED,ESTABLISHED
     3340  434K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 80,443,8000 ctstate NEW,RELATED,ESTABLISHED
     1059 81704 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp spt:51413
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport sports 6881:6889 ! state INVALID
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 465,587,993,995 state NEW,RELATED,ESTABLISHED
      503 46528 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     
    Chain LOG_DROP (3 references)
     pkts bytes target     prot opt in     out     source               destination         
      516 47616 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "[IPTABLES DROP] : "
      516 47616 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    Je vois bien que j'ai du traffic sur le port 51413 mais je n'ai aucun traqueur dans transmission...

    Auriez-vous des suggestions ?

    Merci encore à vous si vous avez des idées !!

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Salut,

    Je te conseil de loguer tout ce qui passe.
    je te montre pour le protocole icmp tu peux évidement l'adapter.
    (le paquet ulogd2 dois être installer et configurer )

    ensuite tu affiche ton log dans une console avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tail -f /var/log/ulog/syslogemu.log
    Note:
    Filtrer les ping n'est pas une bonne idée m'enfin ça donne un exemple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    IDGRP=0 #aux besoins tester avec une autre valeur.
    iptables -A INPUT -p icmp  -m limit --limit 1/h --limit-burst 10 -j NFLOG --nflog-group $IDGRP --nflog-prefix "InPutEntreeICMP"
    iptables -A OUTPUT  -p icmp -m limit --limit 1/h --limit-burst 10 -j NFLOG --nflog-group $IDGRP --nflog-prefix "OutputSortieICMP"
    iptables -A FORWARD  -p icmp -m limit --limit 1/h --limit-burst 10 -j NFLOG --nflog-group $IDGRP --nflog-prefix "ForwardTransfereICMP"
    iptables -t nat -A POSTROUTING  -p icmp -m limit --limit 1/h --limit-burst 10 -j NFLOG --nflog-group $IDGRP --nflog-prefix "PostroutingICMP"
    iptables -t nat -A PREROUTING  -p icmp -m limit --limit 1/h --limit-burst 10 -j NFLOG --nflog-group $IDGRP --nflog-prefix "PreroutingICMP"
    Une fois ton par feux charger, et tail lancer , tu lance transmission ( pas par la fenetre ) ;
    tu pourra donc voir ce qui passe pas, attention si tu place pas tes règle aux début, le résulta sera alors influencer par celle qui précède.

Discussions similaires

  1. [Linux] Ouverture de ports avec iptables
    Par d.pierre235 dans le forum Réseaux
    Réponses: 14
    Dernier message: 31/01/2017, 19h17
  2. ouverture port pour RDP
    Par Stéphane Olivier BERNARD dans le forum Windows 7
    Réponses: 6
    Dernier message: 23/03/2013, 20h05
  3. upnp (pour l'ouverture de port) en C ?
    Par contremaitre dans le forum Réseau
    Réponses: 11
    Dernier message: 19/11/2010, 09h55
  4. [SQL2K5] - Ouverture de port pour DMZ
    Par duc@ti dans le forum Administration
    Réponses: 6
    Dernier message: 13/08/2008, 16h28
  5. [Cisco] Ouverture de port specifique pour du broadcast
    Par Yannos94 dans le forum Développement
    Réponses: 2
    Dernier message: 09/01/2006, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo