Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:adminsys:secu:firewall [2021/09/06 17:34] qduchemitechnique:adminsys:secu:firewall [2023/06/10 19:08] (Version actuelle) qduchemi
Ligne 1: Ligne 1:
 {{indexmenu_n>10}} {{indexmenu_n>10}}
-Pare-feu+Filtrer le trafic autorisé : pare-feu
  
 Pour filtrer les accès au strict minimum sur les machines de Picasoft, on utilise un firewall. Pour filtrer les accès au strict minimum sur les machines de Picasoft, on utilise un firewall.
Ligne 8: Ligne 8:
  
 ## Firewall basique avec ufw ## Firewall basique avec ufw
 +
 +<bootnote>
 +Sur Debian 11, `iptables` est disponibles en deux versions : une moderne (nft) et une ancienne (legacy). La version moderne n'est plus compatible avec `ufw`, qui construit des règles `iptables`.
 +
 +Beaucoup de gens critiquent `ufw`, et à raison. En revanche, pour ce qu'on en fait, et pour simplifier l'administration système et l'intégration des nouvelles personnes dans l'équipe technique, on décide de garder un système de pare-feu simple et homogène. Il faut donc utiliser l'ancienne version.
 +
 +Exécuter la commande :
 +
 +```
 +update-alternatives --set iptables /usr/sbin/iptables-legacy
 +```
 +
 +sur les machines qui font tourner Debian 11 pour utiliser l'ancienne version d'`iptables`.
 +</bootnote>
  
 ### Installation ### Installation
Ligne 26: Ligne 40:
 # Autorisation du SSH # Autorisation du SSH
 ufw allow in 22 ufw allow in 22
 +# Autorisation pour le web
 +ufw allow in 80
 +ufw allow in 443
 # On ouvre la socket Docker sur le réseau # On ouvre la socket Docker sur le réseau
 ufw allow in 2376 ufw allow in 2376
 ``` ```
  
-<bootnote warning>Remarquer que l'on n'ouvre pas les accès aux ports 80/443, parce que les services web de Picasoft sont derrière un conteneur Docker, [[technique:docker:general:traefik|Traefik]]`ufw` n'est donc pas en mesure de filtrer les paquets à destination d'un conteneur Docker.</bootnote>+<bootnote question>Heuc'est [[technique:tech_team:traefik|Traefik]] qui gère les services web, donc Docker, et tu nous as dit que ça bypassait `ufw`... Ça sert à quoi d'autoriser les ports `80` et `443` ?</bootnote> 
 + 
 +Pour un cas très spécifique : lorsque vous essayez d'accéder à un conteneur depuis un autre conteneur situé sur la même machine avec son URL publique. Si le conteneur `A` (`a.picasoft.net`) et `B` (`b.picasoft.net`) tournent sur la même machine, alors sans ces règles : 
 + 
 +```bash 
 +docker exec -it A bash 
 +$ curl b.picasoft.net 
 +``` 
 + 
 +sera bloqué. La magie de Docker et d'`iptables`...
  
-## Configuration (hyperviseurs)+### Configuration (hyperviseurs)
  
 Sur la plupart des machines, l'idée va être d'autoriser uniquement les accès aux ports SSH, DNS et Proxmox. On pourra ouvrir d'autres ports si nécessaires, mais ça ne devrait pas arriver trop souvent, les services tournant sur les machines virtuelles. Sur la plupart des machines, l'idée va être d'autoriser uniquement les accès aux ports SSH, DNS et Proxmox. On pourra ouvrir d'autres ports si nécessaires, mais ça ne devrait pas arriver trop souvent, les services tournant sur les machines virtuelles.
Ligne 101: Ligne 127:
 <bootnote warning>La plupart des règles sont en IPv4 **et** en IPv6, il faut faire deux fois l'opération, en commençant par le numéro le plus haut pour éviter les erreurs.</bootnote> <bootnote warning>La plupart des règles sont en IPv4 **et** en IPv6, il faut faire deux fois l'opération, en commençant par le numéro le plus haut pour éviter les erreurs.</bootnote>
  
-### Filtrage IP vers Docker+## Filtrage IP vers Docker
  
 [[technique:adminsys:secu:fail2ban|fail2ban]] s'occupe déjà de bannir les adresses IP qui essayent de se connecter trop de fois en SSH. Mais l'analyse de logs est compliquée, et parfois certaines IP vont consulter de manière répétée des URL inexistantes sur nos services, essayer de forcer les connexions... Difficile de déterminer l'origine de ces comportements, mais lorsqu'ils sont répétés et viennent de la même IP, il peut être pertinent de bloquer les IP. [[technique:adminsys:secu:fail2ban|fail2ban]] s'occupe déjà de bannir les adresses IP qui essayent de se connecter trop de fois en SSH. Mais l'analyse de logs est compliquée, et parfois certaines IP vont consulter de manière répétée des URL inexistantes sur nos services, essayer de forcer les connexions... Difficile de déterminer l'origine de ces comportements, mais lorsqu'ils sont répétés et viennent de la même IP, il peut être pertinent de bloquer les IP.
  • technique/adminsys/secu/firewall.1630942483.txt.gz
  • de qduchemi