{{indexmenu_n>40}} ====== Mise en place d'un pare-feu sur le serveur LDAP ====== Depuis que LDAPS est utilisé, le pare-feu a été retiré. ===== Motivations ===== Le serveur LDAP est un **service critique** de l'infrastructure Picasoft. En effet, un attaquant qui aurait pris contrôle du LDAP pourrait facilement se donner les accès à **tout le reste** de l'infrastructure. ===== Contre-mesure ===== Pour limiter le risque, on fait du LDAP un service **interne**. En effet, il n'a pas vocation a être utilisé depuis l'extérieur. Pour cela, on utilisera le service [[https://fr.wikipedia.org/wiki/Iptables|iptables]]. Les machines étant autorisées à utiliser le LDAP sont : * ''pica01-test'' * ''pica01'' * ''pica02'' * ''alice'' * ''bob'' On configure donc iptables sur ''monitoring'' : # iptables -I DOCKER-USER -m multiport -p tcp --dports 389,636 -j DROP # iptables -I DOCKER-USER -m multiport -p tcp -s pica01-test.picasoft.net,pica01.picasoft.net,pica02.picasoft.net,monitoring.picasoft.net,alice.picasoft.net,bob.picasoft.net --dports 389,636 -j RETURN **Explications :** * On configure la chaîne ''DOCKER-USER'' qui est une sous-chaîne de ''FORWARD'' (pour le ''NAT'' docker) * On ajoute une règle qui drop les paquets qui arrivent sur les ports ''ldap'' et ''ldaps'' * Au dessus, on insère une règle qui indique que le serveur répond si la requête vient d'un des serveurs de Picasoft Notez que les ports utilisés (`389`, `636`) sont les ports **du conteneurs** et non pas les ports de l'hôte. Par exemple, si le conteneur LDAP mappait le port `390` vers le port `389`, `iptables` verrait la requête comme si elle était toujours venue du port `389`, car la translation a lieu avant dans les règles `iptables`.