seb773 Posté(e) le 12 mars Partager Posté(e) le 12 mars Bonjour, Je suis débutant sur docker et j'ai créé un Projet Vaultwarden qui fonctionne correctement dont voici ci-dessous un extrait du compose.yaml: version: "3" services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always ports: - 3012:3012 - 3013:80 volumes: - /volume1/docker/vaultwarden:/data:rw environment: - ........ - TZ=Europe/Paris - LOG_FILE=/data/vaultwarden.log - LOG_LEVEL=warn - EXTENDED_LOGGING=true - ........ networks: default: name: vaultwarden driver: bridge Je voudrais me protéger un peu des attaques éventuelles, je pense que le mieux est donc de créer un autre projet comme "fail2ban". Voici donc le code du compose.yaml que j'ai fait pour ce nouveau container: version: '3' services: fail2ban: container_name: fail2ban restart: always image: crazymax/fail2ban:latest environment: - TZ=Europe/Paris - F2B_DB_PURGE_AGE=30d - F2B_LOG_TARGET=/data/fail2ban.log - F2B_LOG_LEVEL=INFO - F2B_IPTABLES_CHAIN=INPUT - SSMTP_HOST=smtp.domain.fr - SSMTP_PORT=587 - SSMTP_HOSTNAME=domain.fr - SSMTP_USER=mail@domain.fr - SSMTP_PASSWORD=psw - SSMTP_TLS=YES - SSMTP_STARTTLS=YES volumes: - /volume1/docker/fail2ban:/data:rw - /volume1/docker/vaultwarden:/data:ro network_mode: "host" privileged: true cap_add: - NET_ADMIN - NET_RAW J'ai bien les 3 dossiers action.d / filter.d /jail.d que j'ai pris depuis la page suivante: https://github.com/sosandroid/docker-fail2ban-synology Je n'ai rien changé dans le dossier action.d, pour les 2 autres j'ai juste conservé les fichiers conf vaultwarden. Cependant ce container ne fonctionne pas, il démarre puis il s'arrête. Il y'a donc probablement quelque chose que je n'ai pas fait correctement, savez-vous à partir de ces éléments me dire d'où peut le problème ? Me manque t'il quelque chose, ai-je besoin d'autres container, y'a t'il d'autre méthode pour se protéger ? Merci d'avance, 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MagJ Posté(e) le 13 mars Partager Posté(e) le 13 mars Bonjour, Je suis très intéressée par la question, ayant l'intention de faire à peu près la même chose. Je ne vais pour le moment pas pouvoir aider (le projet est sur la pile... un jour...). Juste, dans le second compose, le vaultwarden est en ro alors que dans le premier il est en rw. Je ne sais pas si ça peut poser problème ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
seb773 Posté(e) le 13 mars Auteur Partager Posté(e) le 13 mars Il y a 5 heures, MagJ a dit : Juste, dans le second compose, le vaultwarden est en ro alors que dans le premier il est en rw. Je ne sais pas si ça peut poser problème ? Je pense que c'est normal car c'est juste pour consulter le log et savoir quoi bloquer. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 14 mars Partager Posté(e) le 14 mars @seb773, avant d''utiliser Fail2ban il faudrait que tu renforces la sécurité de Vaultwarden. Car dans ton fichier de config je ne vois pas les variables LOGIN_RATELIMIT_MAX_BURST, LOGIN_RATELIMIT_SECONDS et autres qui permettent de limiter le nombre de tentatives de connexion infructueuses en bloquant l'attaquant. Tu as aussi la possibilité de forcer une identification à deux facteurs, ce qui là encore encore limite le risque même si ce n'est pas la panacée. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 14 mars Partager Posté(e) le 14 mars Le 12/03/2024 à 9:18 PM, seb773 a dit : /volume1/docker/vaultwarden:/data:ro Comme tu le dis, c'est juste pour lire le log, donc pourquoi monter tout le dossier Vaultwarden dans le conteneur F2B ? Déjà, tu dois trouver où se situe le fichier de log, et ensuite tu dois le monter dans le conteneur comme attendu par la jail (ou alors modifier la jail vaultwarden et vaultwarden-admin) : /volume1/docker/vaultwarden/blablabla/.../nom_du_log_vaultwarden.log:/log/vaultwarden.log:ro Pas besoin de faire tourner ton conteneur en mode privilégié si tu octroies les capacités NET_ADMIN et NET_RAW (je pense que tu as juste copié le compose de l'opened issue ?) L'utilisateur qui a ouvert cette issue précise qu'il a dû ajouter chain = FORWARD dans sa jail (sinon c'est le type DOCKER-USER qui est utilisé). Après pour le contexte, tu utilises un proxy inversé pour accéder à Vaultwarden ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
seb773 Posté(e) le 14 mars Auteur Partager Posté(e) le 14 mars il y a une heure, CyberFr a dit : Car dans ton fichier de config je ne vois pas les variables LOGIN_RATELIMIT_MAX_BURST, LOGIN_RATELIMIT_SECONDS et autres qui permettent de limiter le nombre de tentatives de connexion infructueuses en bloquant l'attaquant. C'est ajouté, merci pour l'info. il y a une heure, .Shad. a dit : Déjà, tu dois trouver où se situe le fichier de log, et ensuite tu dois le monter dans le conteneur comme attendu par la jail (ou alors modifier la jail vaultwarden et vaultwarden-admin) : /volume1/docker/vaultwarden/blablabla/.../nom_du_log_vaultwarden.log:/log/vaultwarden.log:ro Pas besoin de faire tourner ton conteneur en mode privilégié si tu octroies les capacités NET_ADMIN et NET_RAW (je pense que tu as juste copié le compose de l'opened issue ?) J'ai modifié comme ci-dessous: volumes: - /volume1/docker/fail2ban:/data:rw - /volume1/docker/vaultwarden/vaultwarden.log:/log/vaultwarden.log:ro network_mode: "host" cap_add: - NET_ADMIN - NET_RAW il y a une heure, .Shad. a dit : L'utilisateur qui a ouvert cette issue précise qu'il a dû ajouter chain = FORWARD dans sa jail (sinon c'est le type DOCKER-USER qui est utilisé). Quand vous parler du "jail" je suppose que c'est les fichiers conf présent dans le dossier "jail.d", je n'ai rien modifié ci-dessous le contenu: [DEFAULT] ignoreip = 172.16.0.0/12 192.168.0.0/16 10.0.0.0/8 # optional #Ban for 30 days bantime = 2592000 findtime = 86400 maxretry = 4 banaction = iptables-allports ignoreself = false [vaultwarden] enabled = true port = 80,443,3012 # alternative: anyport filter = vaultwarden logpath = /log/vaultwarden.log il y a une heure, .Shad. a dit : Après pour le contexte, tu utilises un proxy inversé pour accéder à Vaultwarden ? Oui effectivement, j'utilise le proxy inversé du nas. Merci pour votre aide Mon container est "up" depuis plusieurs minutes maintenant, donc j'espère qu'il fonctionne correctement. 2024-03-14 11:10:54,394 fail2ban.server [1]: INFO -------------------------------------------------- 2024-03-14 11:10:54,394 fail2ban.server [1]: INFO Starting Fail2ban v1.0.2 2024-03-14 11:10:54,395 fail2ban.observer [1]: INFO Observer start... 2024-03-14 11:10:54,431 fail2ban.database [1]: INFO Connected to fail2ban persistent database '/data/db/fail2ban.sqlite3' 2024-03-14 11:10:54,432 fail2ban.jail [1]: INFO Creating new jail 'vaultwarden-admin' 2024-03-14 11:10:54,452 fail2ban.jail [1]: INFO Jail 'vaultwarden-admin' uses pyinotify {} 2024-03-14 11:10:54,452 fail2ban.jail [1]: INFO Initiated 'pyinotify' backend 2024-03-14 11:10:54,457 fail2ban.filter [1]: INFO maxRetry: 4 2024-03-14 11:10:54,458 fail2ban.filter [1]: INFO findtime: 86400 2024-03-14 11:10:54,458 fail2ban.actions [1]: INFO banTime: 2592000 2024-03-14 11:10:54,458 fail2ban.filter [1]: INFO encoding: UTF-8 2024-03-14 11:10:54,458 fail2ban.filter [1]: INFO Added logfile: '/log/vaultwarden.log' (pos = 0, hash = a302e0746052998a8b39892655575de4b59eb37f) 2024-03-14 11:10:54,459 fail2ban.jail [1]: INFO Creating new jail 'vaultwarden' 2024-03-14 11:10:54,459 fail2ban.jail [1]: INFO Jail 'vaultwarden' uses pyinotify {} 2024-03-14 11:10:54,459 fail2ban.jail [1]: INFO Initiated 'pyinotify' backend 2024-03-14 11:10:54,460 fail2ban.filter [1]: INFO maxRetry: 4 2024-03-14 11:10:54,460 fail2ban.filter [1]: INFO findtime: 86400 2024-03-14 11:10:54,461 fail2ban.actions [1]: INFO banTime: 2592000 2024-03-14 11:10:54,461 fail2ban.filter [1]: INFO encoding: UTF-8 2024-03-14 11:10:54,461 fail2ban.filter [1]: INFO Added logfile: '/log/vaultwarden.log' (pos = 0, hash = a302e0746052998a8b39892655575de4b59eb37f) 2024-03-14 11:10:54,464 fail2ban.jail [1]: INFO Jail 'vaultwarden-admin' started 2024-03-14 11:10:54,464 fail2ban.jail [1]: INFO Jail 'vaultwarden' started @CyberFr@.Shad. Merci beaucoup 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.