Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 27-12-2017 09:40:35

Rosalia
Membre
Inscription : 27-12-2017

Iptables et Samba

Bonjour

Je n'arrive pas à accéder à ma partition-client samba installé sur un raspberry pi lorsque j'applique mon firewall.
Sachant que je n'ai pas de firewall sur le client et que j'accéde à la partition samba lorsque je retire le firewall sur le raspberry pi.
Pourriez-vous me dire ce qui cloche dans mes tables IPTABLES et quels sont les ports que je dois ouvrir ?

Un grand merci d'avance à tout le monde:)

Caractéristique:
-----
Les infos sur le raspberry pi:
    Distributor ID:    Raspbian
    Release:    9.3
    Codename:    stretch
    4.9.59+ GNU/Linux
-----
Voici mes tables IPTABLES

Chain INPUT (policy DROP)
target     prot opt source               destination        
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     all  --  anywhere             anywhere             state ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:imap2
LOG        all  --  anywhere             anywhere             LOG level warning prefix "++ IPv4 packet rejected ++ "
LOG        all  --  anywhere             anywhere             limit: avg 2/min burst 5 LOG level warning prefix "++ IPv4 packet rejected ++ "
DROP       all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:http dpts:32768:61000 state ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere             udp spt:domain dpts:32768:61000 state ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:loc-srv
ACCEPT     udp  --  anywhere             anywhere             udp dpt:loc-srv
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     udp  --  anywhere             anywhere             udp dpt:microsoft-ds
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     udp  --  anywhere             anywhere             udp dpt:microsoft-ds
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:3020
ACCEPT     udp  --  anywhere             anywhere             udp dpt:3020

Chain FORWARD (policy DROP)
target     prot opt source               destination        

Chain OUTPUT (policy DROP)
target     prot opt source               destination        
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     all  --  anywhere             anywhere             state ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:imap2
ACCEPT     tcp  --  anywhere             anywhere             tcp spts:32768:61000 dpt:http state NEW,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere             udp spts:32768:61000 dpt:domain state NEW,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:loc-srv
ACCEPT     udp  --  anywhere             anywhere             udp dpt:loc-srv
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     udp  --  anywhere             anywhere             udp dpt:microsoft-ds
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:3020
ACCEPT     udp  --  anywhere             anywhere             udp dpt:3020

Dernière modification par Rosalia (27-12-2017 09:41:11)

Hors ligne

#2 28-12-2017 12:51:28

deuchdeb
Moderato ma non troppo
Lieu : Pays de Cocagne
Distrib. : Strtch 9 + backports
Noyau : Noyau stable
(G)UI : KDE 5.8 - Mate - Lxqt
Inscription : 13-01-2010

Re : Iptables et Samba

Bonjour Rosalia,

Des infos sur Samba ici, pourraient peut être t'intéresser: https://debian-facile.org/utilisateurs: … utos:samba

Hors ligne

#3 28-12-2017 13:59:34

raleur
Membre
Inscription : 03-10-2014

Re : Iptables et Samba

Rosalia a écrit :

Voici mes tables IPTABLES


Trop pénible à lire dans ce format. Donne plutôt le contenu du script qui crée ces règles ou la sortie de la commande iptables-save.

Hors ligne

#4 28-12-2017 17:30:45

Rosalia
Membre
Inscription : 27-12-2017

Re : Iptables et Samba

Bonjour
Merci pour les conseils et les ressources (je voulais aussi avoir accès à samba en ligne de commande)
J'y suis allé comme une brute, voici le script (que la partie qui nous interesse) qui me permet d'ouvir les ports et d'avoir accés à samba:

def main():

    ports = [135, 137, 138, 139, 445]
    protocoles = ["tcp", "udp"]
    tables = ["INPUT","OUTPUT"]

    for port in ports:
        for protocole in protocoles:
            for table in tables:
                os.system(("iptables -A {} -p {} --dport {} -j ACCEPT").format(table, protocole, port))
                os.system(("iptables -A {} -p {} --sport {} -j ACCEPT").format(table, protocole, port))
    os.system("iptables-save > /etc/iptables/rules.v4")

# ----Main programme----#
if __name__=="__main__":
    main()
 


Donc mon problème est +/- réglé.
J'ai l'impression d'avoir ouvert trop de ports, quels ports dois-je retirer du script ?

Et si quelqu'un pouvait m'expliquer la différence entre dport et sport ?

Merci d'avance

Dernière modification par Rosalia (28-12-2017 17:31:56)

Hors ligne

#5 28-12-2017 18:17:08

raleur
Membre
Inscription : 03-10-2014

Re : Iptables et Samba

Question lisibilité, j'aurais mieux fait de demander juste la sortie d'iptables-save...
Remarque : INPUT et OUTPUT sont des chaînes, pas des tables. Les tables sont filter, mangle, nat, raw...

Le protocole SMB peut fonctionner nativement avec le seul port TCP 445. Il peut aussi fonctionner sur NetBIOS (ports UDP 137 et 138, ports TCP 137 et 139). A priori le port 135 (MS-RPC) n'est pas nécessaire.
Pour se connecter à un port distant on n'a pas besoin de règle INPUT avec ce port en destination. Ce type de règle n'est utile que pour autoriser des connexions depuis l'extérieur à un port local.

--dport teste le port destination du paquet, alors que --sport teste le port source. C'est écrit dans la page de manuel d'iptables.

Dernière modification par raleur (28-12-2017 18:19:12)

Hors ligne

#6 29-12-2017 07:31:41

Rosalia
Membre
Inscription : 27-12-2017

Re : Iptables et Samba

Merci pour la réponse Raleur.
J'ai testé et j'ai besoin du port 445 et 137 pour que puisse accéder au serveur Samba.

--dport teste le port destination du paquet, alors que --sport teste le port source. C'est écrit dans la page de manuel d'iptables.


J'avais lu dans le manuel d'iptables, mais se sont les concepts et notions derrières que je ne comprends pas:
* sport => paquet sortant par ce port ?
* dport => paquet entrant par ce port ?

Merci

Hors ligne

#7 29-12-2017 12:18:56

raleur
Membre
Inscription : 03-10-2014

Re : Iptables et Samba

Rosalia a écrit :

J'ai testé et j'ai besoin du port 445 et 137 pour que puisse accéder au serveur Samba.


Normalement le port 137 ne sert que pour NBNS, le protocole de résolution de noms Netbios (voisinage réseau Microsoft). Il ne devrait pas être nécessaire si on utilise le nom DNS ou l'adresse IP du serveur. Comment accèdes-tu au partage ? Par adresse IP, nom DNS, nom Netbios ?

Rosalia a écrit :

* sport => paquet sortant par ce port ?
* dport => paquet entrant par ce port ?


En quelque sorte.

Dernière modification par raleur (29-12-2017 12:20:34)

Hors ligne

Pied de page des forums