Pages : 1
#1 Le 27/01/2020, à 15:32
- fork
Firewall - Iptables : Samba ne focntionne pas !
Bonjour
J'ai une tour qui me sert de serveur chez moi, je voulais installer un firewall et j'ai enfin décidé d'apprendre iptables.
Je voulais faire quelque chose de propre et je trouve que ce n'est plus du tout le cas..
Avec les ports de samba je pense avoir fait n'importe quoi .. car j'essayais de trouver une solution à mon problème.
Je précise que j'ai des utilisateurs samba et qu'il faut un authentification pour se connecter.
Je vois le serveur dans les partages réseaux de nautilus mais lorsque je clique sur l'icone ma connexion est refusée.
Je ne vois pas la fenêtre pour encoder le mot de passe et je ne peux me logger.
J'ai fait le même test avec CentOS 7 et son firewall et là je n'ai eu aucun problème pour autoriser samba.
(Oui je sais, Il suffisait de cocher une case )
Existe-t'il une bonne application graphique pour gérer le firewall sur Debian/Ubuntu.
Un peu d'aide serait la bienvenue pour résoudre mon problème avec Iptables.
Serveur = Debian 10
Clients = Ubuntu 18.04
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp dpt:mdns
ACCEPT udp -- anywhere anywhere udp dpt:svrloc
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:8443
ACCEPT udp -- anywhere anywhere udp dpt:ipp
ACCEPT tcp -- anywhere anywhere tcp dpt:ipp
ACCEPT udp -- 192.168.1.0/24 anywhere udp dpt:epmap
ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:epmap
ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:netbios-ns
ACCEPT udp -- 192.168.1.0/24 anywhere udp dpt:netbios-ns
ACCEPT udp -- 192.168.1.0/24 anywhere udp dpt:netbios-dgm
ACCEPT tcp -- 192.168.1.0/24 anywhere state NEW tcp dpt:netbios-ssn
ACCEPT tcp -- 192.168.1.0/24 anywhere state NEW tcp dpt:microsoft-ds
ACCEPT udp -- 192.168.1.0/24 anywhere state NEW udp dpt:microsoft-ds
ACCEPT all -- anywhere anywhere PKTTYPE = multicast
ACCEPT tcp -- anywhere anywhere tcp dpt:xmpp-client
ACCEPT tcp -- anywhere anywhere tcp dpt:5223
ACCEPT tcp -- anywhere anywhere tcp dpt:5280
ACCEPT tcp -- anywhere anywhere tcp dpt:5582
ACCEPT tcp -- anywhere anywhere tcp dpt:xmpp-server
ACCEPT udp -- anywhere anywhere udp dpt:xmpp-client
ACCEPT udp -- anywhere anywhere udp dpt:5223
ACCEPT udp -- anywhere anywhere udp dpt:5280
ACCEPT udp -- anywhere anywhere udp dpt:5582
ACCEPT udp -- anywhere anywhere udp dpt:xmpp-server
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:ntp
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT udp -- 192.168.1.0/24 anywhere udp dpt:epmap
ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:epmap
ACCEPT udp -- 192.168.1.0/24 anywhere udp dpt:netbios-ns
ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:netbios-ns
ACCEPT udp -- 192.168.1.0/24 anywhere udp dpt:netbios-dgm
ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:netbios-ssn
ACCEPT udp -- 192.168.1.0/24 anywhere udp dpt:microsoft-ds
ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:microsoft-ds
ACCEPT tcp -- anywhere anywhere tcp dpt:ircd
ACCEPT tcp -- anywhere anywhere tcp dpt:ircs-u
ACCEPT tcp -- anywhere anywhere tcp dpt:6881 state NEW
ACCEPT udp -- anywhere anywhere udp dpt:6881 state NEW
ACCEPT udp -- anywhere anywhere udp dpt:8881 state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:8881 state NEW
ACCEPT udp -- anywhere anywhere udp dpt:7881 state NEW
Mon script :
#!/bin/bash
#########################################################
# Pour Effacer : #
# iptables -F #
# iptables -X #
# #
# Remettre la police par défaut (ACCEPT) #
# iptables -P INPUT ACCEPT #
# iptables -P FORWARD ACCEPT #
# iptables -P OUTPUT ACCEPT #
# #
# Pour voir les connexions : netstat --inet -npl #
#########################################################
echo "Mise en place du Firewall .."
# On vide les règles déjà existantes
iptables -t filter -F
iptables -t filter -X
echo " Nettoyage des règles actuelles [ OK ] "
# On refuse toutes les connexions
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
echo " Blocage de tout les ports [ OK ]"
# On autorise les connexions déjà établie
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo " Autorisation des connexions établies [ OK ]"
# ==================== Loop-back ========================
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo " Loop-back [ OK ]"
# ===================== Ping ===========================
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
echo " Ping [ OK ]"
## Al=============== Avahi-daemon =======================
iptables -A INPUT -p udp -m udp --dport 5353 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 427 -j ACCEPT
echo " Avahi-daemon [ OK ]"
# ======================= SSH ==========================
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
echo " SSH [ OK ]"
# ====================== DHCP ==========================
iptables -t filter -A INPUT -p udp -m udp --dport 67 -j ACCEPT
iptables -t filter -A OUTPUT -p udp -m udp --dport 67 -j ACCEPT
echo " DHCP [ OK ]"
# ======================= DNS ==========================
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
echo " DNS [ OK ]"
# ======= NTP (pour avoir un serveur à l'heure) =========
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
echo " NTP [ OK ]"
# ==================== HTTP ============================
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
echo " HTTP/HTTPS [ OK ]"
# ===================== CUPS ==========================
iptables -A INPUT -p udp -m udp --dport 631 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
echo " CUPS [ OK ]"
# ===================== SAMBA =========================
#135 TCP et UDP Localisateur de services RPC
#137 TCP et UDP NetBIOS Name Service (nbname)
#138 UDP NetBIOS Datagram Service (nbdatagram)
#139 TCP NetBIOS Session Service (nbsession)
#445 TCP et UDP Services de dossiers partagés Windows
iptables -t filter -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 135 -j ACCEPT
iptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 135 -j ACCEPT
iptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 137 -j ACCEPT
iptables -t filter -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
iptables -t filter -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
iptables -t filter -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 139 -j ACCEPT
iptables -t filter -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 445 -j ACCEPT
iptables -t filter -A INPUT -m state --state NEW -m udp -p udp -s 192.168.1.0/24 --dport 445 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p udp -m udp --dport 135 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 135 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 137 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 139 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p udp -m udp --dport 445 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 445 -j ACCEPT
#Si tu veux autoriser l’extérieur du réseau, supprime la directive -s des input
echo " SAMBA [ OK ]"
# =================== FTP ============================
#iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
#iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT
#iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
#iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
#iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#On accepte le Multicast. (à vérifier)
iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
echo " Multicast [ Ok ]"
# ====================== IRC ============================
iptables -t filter -A OUTPUT -p tcp --dport 6667 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 6697 -j ACCEPT
echo " IRC [ OK ]"
# ====================== JABBER =========================
iptables -A INPUT -p tcp --dport xmpp-client -j ACCEPT
iptables -A INPUT -p tcp --dport 5223 -j ACCEPT
iptables -A INPUT -p tcp --dport 5280 -j ACCEPT
iptables -A INPUT -p tcp --dport 5582 -j ACCEPT
iptables -A INPUT -p tcp --dport xmpp-server -j ACCEPT
iptables -A INPUT -p udp --dport xmpp-client -j ACCEPT
iptables -A INPUT -p udp --dport 5223 -j ACCEPT
iptables -A INPUT -p udp --dport 5280 -j ACCEPT
iptables -A INPUT -p udp --dport 5582 -j ACCEPT
iptables -A INPUT -p udp --dport xmpp-server -j ACCEPT
echo " Jabber [ OK ]"
# ===================== Torrents ========================
iptables -A OUTPUT -p tcp -m tcp --dport 6881 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 6881 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 8881 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 8881 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 7881 -m state --state NEW -j ACCEPT
echo " Torrents [ OK ]"
# ===================== MAIL ============================
## SMTP
#iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
#iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
## POP3
#iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
#iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
## IMAP
#iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
#iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
#echo "trafic IMAP sur le port 143 autorisé"
## POP3S
#iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT
#iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT
# ================== Local Network =======================
#Pour accepter tout ce qui se passe sur le réseau local 192.168.1.0 :
#iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
#iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
Hors ligne
#2 Le 28/01/2020, à 19:27
- fork
Re : Firewall - Iptables : Samba ne focntionne pas !
J'ai encore effectué des tests, mes règles de filtrages pour Samba ne fonctionnent pas !
Ça fonctionne si j'accepte tout le trafic du réseau local , ce qui est logique.
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
Donc je suppose qu'il y a un protocole qui est bloqué et qui empêche la communication avec le serveur Samba.
Je crois qu'il y a déjà une erreur avec OUTPUT -s qui devrait être OUTPUT -d.
Quelqu'un peut-il m’aider à y voir plus clair ?
Merci
PS : Sinon j'ai vu que Firewalld est disponible sous Debian aussi, ce qui est une bonne nouvelle.
Mais j'aimerais quand même pouvoir utiliser iptables et comprendre ce que je fais.
Dernière modification par fork (Le 28/01/2020, à 19:31)
Hors ligne
Pages : 1