Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 01/12/2017, à 18:01

Himeroos

isc-dhcp-server et iptables

Bonjour à tous,

Ma question ne concerne pas du tout un dysfonctionnement (car cela fonctionne), mais plutôt une interrogation "pourquoi cela fonctionne" alors que ça devrait pas?
Je sais c'est plutôt bizarre comme question.

Alors voilà j'ai un serveur qui gère mon DHCP, ce même serveur a un Firewall plutôt contraignant puisque par défaut il refuse tout. et il n'accepte juste que les connexions entrantes sur mon port ssh. Du coup pourquoi mes appareils arrivent à recevoir une adresse ip du serveur alors que le serveur est censé bloquer les ports 67 et 68.

Merci à tous bonne journée.

Dernière modification par Himeroos (Le 03/12/2017, à 12:26)


Ubuntu server 16.04 x64

Hors ligne

#2 Le 01/12/2017, à 20:13

droopy191

Re : isc-dhcp-server et iptables

Salut,

que donne un

sudo nmap IPSERVEUR -sUT -p 67

Depuis une autre machine du réseau.

Dernière modification par droopy191 (Le 01/12/2017, à 20:13)

Hors ligne

#3 Le 01/12/2017, à 20:24

Himeroos

Re : isc-dhcp-server et iptables

Voici le retour

Starting Nmap 7.01 ( https://nmap.org ) at 2017-12-01 20:22 CET
Nmap scan report for ubuntu (192.168.XXX.XXX)
Host is up (0.0024s latency).
PORT   STATE         SERVICE
67/tcp filtered      dhcps
67/udp open|filtered dhcps
MAC Address: XX:XX:XX:XX:XX:XX (Elitegroup Computer Systems)

Nmap done: 1 IP address (1 host up) scanned in 0.66 seconds

edit :

iptables -L -n -v --line-number | grep "67"

Me renvoi :

5        9  2409 ufw-skip-to-policy-input  udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
10       1   328 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp spt:67 dpt:68

J'ai l'impression que c'est cette règle iptables qui m'embete :

5        9  2409 ufw-skip-to-policy-input  udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:67

Quelqu'un peut confirmé?

Dernière modification par Himeroos (Le 01/12/2017, à 21:07)


Ubuntu server 16.04 x64

Hors ligne

#4 Le 02/12/2017, à 08:17

droopy191

Re : isc-dhcp-server et iptables

Le port 67 est ouvert en udp

67/udp open|filtered dhcps

Et sans etre très à l'aise avec iptables, votre recherche suivante semble confirmer que iptable laisse passer les connexion sur le port 67 en udp.
C'est nécessaire pour que votre serveur dhcp puisse etre joint ( dhcp fonctionne sur udp).

Dernière modification par droopy191 (Le 02/12/2017, à 08:17)

Hors ligne

#5 Le 02/12/2017, à 10:05

Himeroos

Re : isc-dhcp-server et iptables

J''ai l'impression de devenir dingue avec cette histoire.

J'ai désinstaller et purger UFW pour ne travaillé qu'avec un script IPTABLES (bien plus simple).
J'ai fait un flush IPTABLES et mis le firewall par défaut en full drop.

Pourquoi le dhcp est encore fonctionnelle


Ubuntu server 16.04 x64

Hors ligne

#6 Le 02/12/2017, à 10:34

droopy191

Re : isc-dhcp-server et iptables

Vous n'auriez pas des choses dans /etc/ufw/applications.d

Hors ligne

#7 Le 02/12/2017, à 22:31

Himeroos

Re : isc-dhcp-server et iptables

Je suis vraiment prêt à tout pour comprendre.

Je viens de réinstaller absolument tout le serveur pour vraiment avoir un firewall par défaut.
Donc le couperet tombe. il n'y a plus aucun logiciel firewall juste iptables en full drop.

Miracle le serveur dhcp fonctionne encore. Mais ce n'est pas normal?


Ubuntu server 16.04 x64

Hors ligne

#8 Le 03/12/2017, à 10:23

droopy191

Re : isc-dhcp-server et iptables

Je ne suis pas un expert de iptables, mais pour moi, non ce n'est pas normal.
Soit tout n'est pas bloqué, soit le port est ouvert d'une autre facon.

Pouvez vous partager votre script de firewall ?

Hors ligne

#9 Le 03/12/2017, à 12:28

Himeroos

Re : isc-dhcp-server et iptables

Là actuellement pour mes test, rien de bien spécial.

$IPTABLES -t filter -F
$IPTABLES -t filter -X
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t mangle -F
$IPTABLES -t mangle -X
$IPTABLES -t raw -F
$IPTABLES -t raw -X
$IPTABLES -F
$IPTABLES -X

$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -P OUTPUT DROP

Ubuntu server 16.04 x64

Hors ligne

#10 Le 03/12/2017, à 13:40

droopy191

Re : isc-dhcp-server et iptables

Et avec un

IPTABLES -P INPUT DROP

Hors ligne

#11 Le 03/12/2017, à 14:17

Himeroos

Re : isc-dhcp-server et iptables

J'ai mis ceci et rien à faire ça passe encore

$IPTABLES -t filter -F
$IPTABLES -t filter -X
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t mangle -F
$IPTABLES -t mangle -X
$IPTABLES -t raw -F
$IPTABLES -t raw -X
$IPTABLES -F
$IPTABLES -X

$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -P OUTPUT DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

$IPTABLES -A INPUT -p udp --sport 67:68 --dport 67:68 -j DROP
$IPTABLES -A INPUT -p tcp --sport 67:68 --dport 67:68 -j DROP

Au bout de pas mal de recherche j'ai trouvé ICI :

Non ce n'est pas "incroyable" c'est l'implémentation de ton serveur DHCP et de ton client qui le permet. Le fait est que le protocole DHCP est un peu spéciale. Les clients non adressé émet des requetes en broadcast avec en source une adresse 0.0.0.0, donc le seveur doit pouvoir recevoir ces messages. Y répondre. Le client, lui doit pouvoir récupérer la réponse. Pour des faciliter d'implémentation, ISC utilise des raw sockets. Le traffic passant dans ce type de socket ne sont pas impactés par netfilter. Donc, si ton serveur DHCP écoute sur une interface, TOUS les paquets à destination du port UDP 67, qui toucheront ton interface seront captés par ton serveur DHCP. Que netfilter soit la ou pas.

Dernière modification par Himeroos (Le 03/12/2017, à 14:39)


Ubuntu server 16.04 x64

Hors ligne

#12 Le 03/12/2017, à 17:41

droopy191

Re : isc-dhcp-server et iptables

J'aurai aussi appris quelque chose
J'ai googlé sur la base de votre info sans trouver de solution. Désolé mais pas mieux de mon coté, ca dépasse mon niveau de compétence.
Un schéma qui explique le concept.

eth0 ----+------- iptables ----- IP-stack
             |           filtering
        Raw socket
             |
        DHCP-Server

Hors ligne

#13 Le 03/12/2017, à 19:12

Himeroos

Re : isc-dhcp-server et iptables

C'est bien ce que j'avais compris dans le lien que j'ai donné. Je trouve cela dommage qu'un logiciel installé après coup puissent être autorisé à être prioritaire sur un firewall. Après tout c'est quand même un firewall.


Ubuntu server 16.04 x64

Hors ligne

#14 Le 05/12/2017, à 15:34

ikoula

Re : isc-dhcp-server et iptables

Bonjour,

Sans vouloir être désagréable tu dois penser autrement.

Pour commencer

Himeroos a écrit :

ce même serveur a un Firewall plutôt contraignant puisque par défaut il refuse tout.

--> NON, c'est le fonctionnement normal d'un firewall.

Ensuite si on veut rendre injoignable un dhcp on coupe le service, "oui mais si on doit le rendre accessible que pour certaines machines ?" dans ce cas on appliquera une configuration ip fixe pour les machines qui ne doivent pas joindre le dhcp (mais ce n'est pas recommandé). Et pour finir si on veut séparer des réseaux alors on utilisera des sous réseaux.

La question de départ est : pourquoi mes machines peuvent contacter mon service dhcp alors que mon équipement/serveur dispose également d'un firewall ?

Ce n'est pas très claire dans ton message mais sil il est question d'un routeur-firewall-dhcp sous forme de boitier physique cela fonctionne surement "by design".
Si je devais concevoir ce type de matériel, à partir du moment où le dhcp est activé il devrait être joignable que ce soit visible ou pas pour l'administrateur.

Si il est question d'un serveur sur lequel on a installé/configuré le routage/firewall/dhcp il est possible aussi que ton iptables ne voient pas les requêtes dhcp qui communiquent sur une couche réseau trop basse pour être filtrés comme expliqué ici : https://kb.isc.org/article/AA-00378/0/W … ckets.html.

Vous en êtes arrivés à la même conclusion, après il n'est pas question de puissance mais de conception, le protocole dhcp a une fonction particulière:
il est conçu pour que des clients puissent joindre facilement un serveur afin de recevoir une ip.
Si on a besoin de le restreindre ce n'est pas au niveau d'un firewall que cela doit se gérer (voir début de mon message).

Dernière modification par ikoula (Le 05/12/2017, à 15:40)


Thomas | Community manager | ikoula Serveurs dédiés, VPS et Cloud Public
Contactez-nous | Suivez-nous sur Twitter | Likez nous sur Facebook

Hors ligne