Tostaki Posté(e) le 13 mars 2020 Posté(e) le 13 mars 2020 Bonjour, EDIT : solution trouvée et partagée un peu plus bas. J'essaie de configurer Fail2ban pour protéger un contener Bitwarden des attaques en brute force. Cependant, je n'arrive pas à avoir un ban des IP présentant trop d'erreur. Avez vous déjà réussi à faire fonctionner le ban d'IP ? Merci Voici les logs et la config ```` Docker version 18.09.8, build 2c0a67b ```` Here the setup : - dani-garcia/bitwarden_rs - Mounting point: - docker/bw-data:/data/ - Extended_logging true - Log_file: /data/bitwarden.log - log level: error - TZ: Europe/Paris - crazy-max/docker-fail2ban - Run as root - Mounting points - docker/fail2ban:/data/ - docker/bw-data:/bitwarden/ Read-Only - TZ: Europe/Paris - F2B_IPTABLE_CHAIN: Input Selon le ticket 36 sur Fail2Ban (https://github.com/crazy-max/docker-fail2ban/issues/36) - DROP à la place de REJECT car non disponible sur Synology The jail : ```` [DEFAULT] ignoreip = 127.0.0.1/8 192.168.0.0/22 bantime = 6400 findtime = 86400 maxretry = 4 backend = auto action = iptables-allports[name=bitwarden] [bitwarden] enabled = true port = 80,81,443 filter = bitwarden logpath = /bitwarden/bitwarden.log ```` The filter: ```` [INCLUDES] before = common.conf [Definition] failregex = ^.*Username or password is incorrect\. Try again\. IP: \. Username:.*$ ignoreregex = ```` Bitwarden log : ```` [2020-03-05 21:53:26][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:53:35][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:53:38][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:53:40][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:53:51][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:56:22][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:56:27][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:56:33][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. [2020-03-05 21:56:49][error][ERROR] Username or password is incorrect. Try again. IP: 80.XX.XX.XX. Username: a@a.net. ```` F2B Log: ```` 2020-03-09 23:43:04,736 fail2ban.CommandAction [1]: DEBUG Created 2020-03-09 23:43:04,736 fail2ban.CommandAction [1]: DEBUG Set actionstart = ' -N f2b-bitwarden\n -A f2b-bitwarden -j RETURN\n -I INPUT -p tcp -j f2b-bitwarden' 2020-03-09 23:43:04,736 fail2ban.CommandAction [1]: DEBUG Set actionstop = ' -D INPUT -p tcp -j f2b-bitwarden\n -F f2b-bitwarden\n -X f2b-bitwarden' 2020-03-09 23:43:04,736 fail2ban.CommandAction [1]: DEBUG Set actionflush = ' -F f2b-bitwarden' 2020-03-09 23:43:04,736 fail2ban.CommandAction [1]: DEBUG Set actioncheck = " -n -L INPUT | grep -q 'f2b-bitwarden[ \\t]'" 2020-03-09 23:43:04,737 fail2ban.CommandAction [1]: DEBUG Set actionban = ' -I f2b-bitwarden 1 -s -j ' 2020-03-09 23:43:04,737 fail2ban.CommandAction [1]: DEBUG Set actionunban = ' -D f2b-bitwarden -s -j ' 2020-03-09 23:43:04,737 fail2ban.CommandAction [1]: DEBUG Set name = 'bitwarden' 2020-03-09 23:43:04,737 fail2ban.CommandAction [1]: DEBUG Set actname = 'iptables-allports' 2020-03-09 23:43:04,737 fail2ban.CommandAction [1]: DEBUG Set chain = 'INPUT' 2020-03-09 23:43:04,737 fail2ban.CommandAction [1]: DEBUG Set port = 'ssh' 2020-03-09 23:43:04,738 fail2ban.CommandAction [1]: DEBUG Set protocol = 'tcp' 2020-03-09 23:43:04,738 fail2ban.CommandAction [1]: DEBUG Set blocktype = 'DROP' 2020-03-09 23:43:04,738 fail2ban.CommandAction [1]: DEBUG Set returntype = 'RETURN' 2020-03-09 23:43:04,738 fail2ban.CommandAction [1]: DEBUG Set lockingopt = '-w' 2020-03-09 23:43:04,738 fail2ban.CommandAction [1]: DEBUG Set iptables = 'iptables ' 2020-03-09 23:43:04,738 fail2ban.CommandAction [1]: DEBUG Set blocktype?family=inet6 = 'DROP' 2020-03-09 23:43:04,738 fail2ban.CommandAction [1]: DEBUG Set iptables?family=inet6 = 'ip6tables ' 2020-03-09 23:43:04,739 fail2ban.jail [1]: DEBUG Starting jail 'bitwarden' 2020-03-09 23:43:04,739 fail2ban.filterpyinotif [1]: DEBUG [bitwarden] filter started (pyinotifier) 2020-03-09 23:43:04,741 fail2ban.jail [1]: INFO Jail 'bitwarden' started 2020-03-09 23:43:04,741 fail2ban.transmitter [1]: DEBUG Status: ready 2020-03-09 23:44:37,877 fail2ban.filterpyinotif [1]: DEBUG Event queue size: 64 2020-03-09 23:44:37,878 fail2ban.filterpyinotif [1]: DEBUG <_RawEvent cookie=0 mask=0x100 name=db.sqlite3-wal wd=1 > 2020-03-09 23:44:37,878 fail2ban.filterpyinotif [1]: DEBUG <_RawEvent cookie=0 mask=0x100 name=db.sqlite3-shm wd=1 > 2020-03-09 23:44:37,878 fail2ban.filterpyinotif [1]: DEBUG Ignoring creation of /bitwarden/db.sqlite3-wal we do not monitor 2020-03-09 23:44:37,879 fail2ban.filterpyinotif [1]: DEBUG Ignoring creation of /bitwarden/db.sqlite3-shm we do not monitor 2020-03-09 23:44:38,609 fail2ban.filterpyinotif [1]: DEBUG Event queue size: 16 2020-03-09 23:44:38,609 fail2ban.filterpyinotif [1]: DEBUG <_RawEvent cookie=0 mask=0x2 name='' wd=2 > 2020-03-09 23:44:38,615 fail2ban.filter [1]: DEBUG Processing line with time:1583793878.0 and ip:80.XX.XX.XX 2020-03-09 23:44:38,623 fail2ban.filter [1]: INFO [bitwarden] Found 80.XX.XX.XX - 2020-03-09 23:44:38 2020-03-09 23:44:38,623 fail2ban.failmanager [1]: DEBUG Total # of detected failures: 1. Current failures from 1 IPs (IP:count): 80.XX.XX.XX:1 2020-03-09 23:44:41,327 fail2ban.filterpyinotif [1]: DEBUG Event queue size: 16 2020-03-09 23:44:41,328 fail2ban.filterpyinotif [1]: DEBUG <_RawEvent cookie=0 mask=0x2 name='' wd=2 > 2020-03-09 23:44:41,329 fail2ban.filter [1]: DEBUG Processing line with time:1583793881.0 and ip:80.XX.XX.XX 2020-03-09 23:44:41,329 fail2ban.filter [1]: INFO [bitwarden] Found 80.XX.XX.XX - 2020-03-09 23:44:41 2020-03-09 23:44:41,329 fail2ban.failmanager [1]: DEBUG Total # of detected failures: 2. Current failures from 1 IPs (IP:count): 80.XX.XX.XX:2 2020-03-09 23:44:44,949 fail2ban.filterpyinotif [1]: DEBUG Event queue size: 16 2020-03-09 23:44:44,949 fail2ban.filterpyinotif [1]: DEBUG <_RawEvent cookie=0 mask=0x2 name='' wd=2 > 2020-03-09 23:44:44,950 fail2ban.filter [1]: DEBUG Processing line with time:1583793884.0 and ip:80.XX.XX.XX 2020-03-09 23:44:44,950 fail2ban.filter [1]: INFO [bitwarden] Found 80.XX.XX.XX - 2020-03-09 23:44:44 2020-03-09 23:44:44,951 fail2ban.failmanager [1]: DEBUG Total # of detected failures: 3. Current failures from 1 IPs (IP:count): 80.XX.XX.XX:3 2020-03-09 23:44:47,829 fail2ban.filterpyinotif [1]: DEBUG Event queue size: 16 2020-03-09 23:44:47,830 fail2ban.filterpyinotif [1]: DEBUG <_RawEvent cookie=0 mask=0x2 name='' wd=2 > 2020-03-09 23:44:47,831 fail2ban.filter [1]: DEBUG Processing line with time:1583793887.0 and ip:80.XX.XX.XX 2020-03-09 23:44:47,831 fail2ban.filter [1]: INFO [bitwarden] Found 80.XX.XX.XX - 2020-03-09 23:44:47 2020-03-09 23:44:47,831 fail2ban.failmanager [1]: DEBUG Total # of detected failures: 4. Current failures from 1 IPs (IP:count): 80.XX.XX.XX:4 2020-03-09 23:44:48,066 fail2ban.actions [1]: NOTICE [bitwarden] Ban 80.XX.XX.XX 2020-03-09 23:44:48,066 fail2ban.observer [1]: DEBUG [bitwarden] Observer: ban found 80.XX.XX.XX, 6400 2020-03-09 23:44:48,078 fail2ban.utils [1]: DEBUG 7fb73a032240 -- returned successfully 0 2020-03-09 23:44:48,087 fail2ban.utils [1]: DEBUG 7fb739a17a40 -- returned successfully 0 2020-03-09 23:44:48,095 fail2ban.utils [1]: DEBUG 7fb739a17ab0 -- returned successfully 0 2020-03-09 23:44:48,096 fail2ban.actions [1]: DEBUG Banned 1 / 1, 1 ticket(s) in 'bitwarden' 2020-03-09 23:44:55,188 fail2ban.filterpyinotif [1]: DEBUG Event queue size: 16 2020-03-09 23:44:55,189 fail2ban.filterpyinotif [1]: DEBUG <_RawEvent cookie=0 mask=0x2 name='' wd=2 > 2020-03-09 23:44:55,190 fail2ban.filter [1]: DEBUG Processing line with time:1583793895.0 and ip:80.XX.XX.XX 2020-03-09 23:44:55,190 fail2ban.filter [1]: INFO [bitwarden] Found 80.XX.XX.XX - 2020-03-09 23:44:55 2020-03-09 23:44:55,191 fail2ban.failmanager [1]: DEBUG Total # of detected failures: 5. Current failures from 1 IPs (IP:count): 80.XX.XX.XX:1 ````
.Shad. Posté(e) le 13 mars 2020 Posté(e) le 13 mars 2020 Je n'utilise pas Bitwarden_RS, je sais que le fail2ban est prévu pour la prochaine version de BW normalement (https://github.com/bitwarden/server/issues/604) D'autres seront sûrement à même de te renseigner. 😉
Tostaki Posté(e) le 13 mars 2020 Auteur Posté(e) le 13 mars 2020 Merci Je crois que le problème ne viens pas de Bitwarden_rs mais de l'interaction Fail2Ban et iptables sur le Synology. J'en suis arrivé à ce constat car BW loggue correctement l'échec, Fail2Ban le détecte et envoie la commande de ban. Cependant, rien ne se passe ensuite.
Tostaki Posté(e) le 30 mars 2020 Auteur Posté(e) le 30 mars 2020 J'ai fini par trouver la solution (enfin les...). je me suis basé sur Docker-compose qui permet des paramétrages plus avancés que l'interface graphique. Pour fail2ban, j'ai proposé ma solution là : https://github.com/sosandroid/docker-fail2ban-synology Pour bitwarden_rs, c'est là : https://github.com/sosandroid/docker-bitwarden_rs-caddy-synology
.Shad. Posté(e) le 30 mars 2020 Posté(e) le 30 mars 2020 Est-ce que ta solution est transposable à Bitwarden officiel ?
Tostaki Posté(e) le 30 mars 2020 Auteur Posté(e) le 30 mars 2020 Fail2ban est indépendant donc oui. Il faut mettre à jour l'accès au fichier de logs et les filtres. Si vous voulez, poussez moi vos réglages, je mettrais à jour le dépôt
pikeupe Posté(e) le 31 mars 2020 Posté(e) le 31 mars 2020 slt merci pour ce travail ces quel réglage que vous avez besoin
.Shad. Posté(e) le 31 mars 2020 Posté(e) le 31 mars 2020 Je n'y connais rien à Github, je me contente de lire les issues habituellement, et le readme.md 😛 Je vais y jeter un œil à l'occasion. 😉
Tostaki Posté(e) le 31 mars 2020 Auteur Posté(e) le 31 mars 2020 il y a 3 minutes, .Shad. a dit : Je n'y connais rien à Github, je me contente de lire les issues habituellement, et le readme.md 😛 Je vais y jeter un œil à l'occasion. 😉 Il suffira de glisser les évolutions ici il y a 28 minutes, pikeupe a dit : slt merci pour ce travail ces quel réglage que vous avez besoin @.Shad. demandait si cela fonctionnait avec Bitwarden officiel. la réponse est oui. Il faut "juste" adapter l'accès au logs, le filtre, la prison.
pikeupe Posté(e) le 31 mars 2020 Posté(e) le 31 mars 2020 slt merci pour la réponse je vais regardé ça samedi car pas tout compris édit: si quelqu'un peut faire un petit tuto il serait bien venu merci
joao Posté(e) le 10 décembre 2020 Posté(e) le 10 décembre 2020 Bonjour, Je tente desesperement de faire fonctionner Fail2ban pour mon Bitwarden, mais je ne comprend vraiment pas grand chose. J'ai donc mon bitwarden qui fonctionne correctement et de ce coté la pas de soucis. Reverse Proxy, certificat ... Pas de soucis. Ensuite pour securiser mon bitwarden, je souhaite mettre en place un firewall. J'ai donc mis en place une image docker crazymax-fail2ban, sur le meme syno et je l'ai lancé. Maintenant j'en suis rendu la. J'ai mes 2 image docker de lancée mais je ne sais pas vraiment quoi faire d'autre pour verifier que ca marche. J'ai un peu de mal avec l'anglais alors les tutos et liens ne m'aident pas beaucoup. Merci
.Shad. Posté(e) le 10 décembre 2020 Posté(e) le 10 décembre 2020 C'est Bitwarden ou Bitwarden_rs que tu utilises ? Pour le second il y a un tuto complet ici : https://github.com/dani-garcia/bitwarden_rs/wiki/Fail2Ban-Setup#synology-dsm Je vois bien que c'est en anglais mais enfin ça reste très basique au niveau compréhension. Et Google translate est là pour ça.
joao Posté(e) le 10 décembre 2020 Posté(e) le 10 décembre 2020 J'ai rencontré ce tuto effectivement. Mais ca ne me dit vraiment rien du tout. Il faut que je me connecte en SSH a docker ou au syno?
.Shad. Posté(e) le 10 décembre 2020 Posté(e) le 10 décembre 2020 Si tu es déjà perdu à ce détail, je pense que tu devrais postposer la mise en place de fail2ban pour quand tu auras pris le temps de te renseigner. Il n'y a pas d'authentification deux facteurs sur Bitwarden_rs ? Si oui tu ferais mieux d'utiliser ça, c'est autrement plus sécurisé que fail2ban pour le coup, et ça se met assez facilement en place depuis l'interface d'administration (en tout cas sur l'instance officielle). Dernière chose, mais fail2ban n'a rien à voir avec un pare-feu. Il se contente de bannir des IP qui font des tentatives de connexion infructueuses un certain nombre de fois sur un temps donné et bannies pour une durée donnée.
joao Posté(e) le 10 décembre 2020 Posté(e) le 10 décembre 2020 Comme mon NAS est situé dans un datacenter je reçois de nombreuse attaques sur le DSM et le ban automatique est vraiment important pour les autres points que je veux mettre en place. Concrètement il ne me reste que la gestion des mots de passe a gerer pour enfin laisser 1password de coté et avoir le tout en autohebergé. Le 2FA je vais le mettre en place aussi pour chaque utilisateur mais le ban d'adresse IP c'est vraiment important. Le version de bitwarden que j'utilise est la rush. Merci
MilesTEG1 Posté(e) le 14 janvier 2021 Posté(e) le 14 janvier 2021 Le 10/12/2020 à 16:03, .Shad. a dit : Si tu es déjà perdu à ce détail, je pense que tu devrais postposer la mise en place de fail2ban pour quand tu auras pris le temps de te renseigner. Il n'y a pas d'authentification deux facteurs sur Bitwarden_rs ? Si oui tu ferais mieux d'utiliser ça, c'est autrement plus sécurisé que fail2ban pour le coup, et ça se met assez facilement en place depuis l'interface d'administration (en tout cas sur l'instance officielle). Dernière chose, mais fail2ban n'a rien à voir avec un pare-feu. Il se contente de bannir des IP qui font des tentatives de connexion infructueuses un certain nombre de fois sur un temps donné et bannies pour une durée donnée. Hello ici @.Shad. À propos de fail2ban, est-ce du coup utile de le mettre en place si on a activé l'authentification 2FA sur le bitwarden_rs ? (je souhaite re-tester bitwarden que je n'avais pas aimé il y a 5 mois...) Et je souhaite bien entendu sécuriser le bazar 😄 je vais utiliser un de mes noms de domaine ^^
.Shad. Posté(e) le 14 janvier 2021 Posté(e) le 14 janvier 2021 Pour le côté apprentissage oui. Pour le côté sécuritaire non. Au cas où totalement improbable où tu te fais voler ton authenticator (smartphone généralement), et qu'un mec essaie de brute force les credentials, oui 😄 Sans 2FA par contre c'est recommandé.
MilesTEG1 Posté(e) le 14 janvier 2021 Posté(e) le 14 janvier 2021 Ok, comme j'aime bien apprendre, je vais tenter la mise en place du fail2ban. j'espère juste que ça ne va pas pourrir les autres services... ni DSM
MilesTEG1 Posté(e) le 14 janvier 2021 Posté(e) le 14 janvier 2021 Avis à tous les connaisseurs et aux utilisateurs de bitwarden_rs : je voudrais savoir si vous pouviez m'expliquer ce que sont les notifications websockets ? (lien : https://github.com/dani-garcia/bitwarden_rs/wiki/Using-Docker-Compose ) Citation Docker Compose is a tool that allows the definition and configuration of multi-container applications. In our case, we want both the Bitwarden_RS server and a proxy to redirect the WebSocket requests to the correct place. En ai-je besoin ? Car ça utilise Caddy qui semble être un proxy. Bon j'ai pas toutes les notions là... Qu'est-ce que je rate ou ne pourrait pas faire si je ne prends pas l'option d'installation avec Caddy ? Et autre question, est-il possible de faire sans et avec un autre outils du NAS ? (je n'ai pas mis en place autre chose que le reverse proxy de DSM, DOcker et différents conteneurs comme AdGuard-Home, ceux pour le monitoring.... Merci pour les éclaircissements que vous pourrez me donner 😇
MilesTEG1 Posté(e) le 23 mars 2021 Posté(e) le 23 mars 2021 Le 30/03/2020 à 19:59, Tostaki a dit : J'ai fini par trouver la solution (enfin les...). je me suis basé sur Docker-compose qui permet des paramétrages plus avancés que l'interface graphique. Pour fail2ban, j'ai proposé ma solution là : https://github.com/sosandroid/docker-fail2ban-synology Pour bitwarden_rs, c'est là : https://github.com/sosandroid/docker-bitwarden_rs-caddy-synology @.Shad. Bon j'ai mis du temps à m'y mettre, et un peu de temps à comprendre les différentes docs internet (qui sont quand même assez mal faites, mal expliquées...). Mais voilà, j'ai réussi à mettre fail2ban en place pour mon installation 🙂 Petit récap. J'ai Bitwarden_RS en Docker, sur mon Syno DS920+. J'utilise le reverse-proxy de DSM (j'ai pas encore pris le temps de voir pour mettre en place autre chose... et l'interface graphique me plait bien, et comme tout fonctionne avec, j'ai pas trop besoin de creuser une autre solution). Dans les variables d'environement (voir le compose plus bas), j'ai fait en sorte de pouvoir utiliser le 2FA, donc tout passe par le HTTPS. Donc ma seule possibilité pour accéder à la page web c'est de passer par le nom de domaine, heureusement que ma box fait le loopback 😄 (puisque je n'ai pas mis en place de vrai serveur DNS chez moi, et que c'est mon AdGuard Home en macvlan gère le tout). J'ai un routeur en DMZ derrière ma Livebox4 (juste pour le contexte, aucun intérêt pour la suite). J'ai donc suivi ce qui était décrit ici : Fail2Ban Setup · dani-garcia/bitwarden_rs Wiki (github.com) Et donc également le dépôt de @Tostaki sauf que je n'ai pas mis Bitwarden_RS derrière Caddy ! (je n'y vois pas d'intéret, probablement parce que je ne comprends pas vraiment pourquoi il est là). Et en utilisant les fichiers du dépôt sosandroid/docker-fail2ban-synology: Adaptation of @crazy-max docker fail2ban for Synology (github.com) j'ai réussi à avoir fail2ban fonctionnel. Pour avoir les notifications par emails, j'ai modifié les fichiers .conf du dossier jail.d ajoutant destmail et sender, et en changeant action (sinon pas de mail) : # /volume1/docker/fail2ban/jail.d/bitwarden.conf [DEFAULT] ignoreip = 192.168.2.0/24 #Ban for 30 days bantime = 2592000 destemail = monADRESSE@gmail.com sender = monADRESSE@gmail.com action = %(action_mwl)s findtime = 86400 maxretry = 4 backend = auto #action = iptables-allports[name=bitwarden] [bitwarden] enabled = true port = 80,882,443,3012 filter = bitwarden logpath = /bitwarden/bitwarden.log # /volume1/docker/fail2ban/jail.d/bitwarden-admin.conf [DEFAULT] ignoreip = 192.168.2.0/24 #Ban for 30 days bantime = 2592000 destemail = monADRESSE@gmail.com sender = monADRESSE@gmail.com action = %(action_mwl)s findtime = 86400 maxretry = 4 backend = auto #action = iptables-allports[name=bitwarden] [bitwarden] enabled = true port = 80,882,443,3012 filter = bitwarden logpath = /bitwarden/bitwarden.log (J'utilise Gmail, donc modifier au besoin les variables d'environement et destmail et sender.) J'obtiens bien un mail au lancement de fail2ban, et un mail quand une adresse se fait bannir. Ce mail de notification est un peu crado en terme de mise en page... J'ai pas trouvé le moyen d'avoir un mail au débannissement d'une IP... Mais voilà, ça fonctionne. Ce n'est pas très utile avec le 2FA, mais j'ai appris 2-3 bricoles de plus aujourd'hui. edit : Le seul défaut avec mon installation, c'est que depuis mon réseau, du fait que je passe par le nom de domaine, c'est forcément mon IP internet qui est reconnue. Et comme elle change, je ne peux pas l'ajouter au champ ignoreip des fichiers .conf de fail2ban. Sinon, tout fonctionne 😉 PS : les docker-compose ci-dessous fonctionnent parfaitement avec Portainer (je passe par lui pour faire mes conteneurs). ________________________________ Le docker-compose.yml de fail2ban : ##======================================================================================== ## ## ## Docker-compose file for Fail2ban ## ## ## ##======================================================================================== --- version: "2" ##======================================================================================== ## ## ## https://github.com/dani-garcia/bitwarden_rs/wiki/Fail2Ban-Setup#synology-dsm ## ## https://github.com/sosandroid/docker-fail2ban-synology ## ## ## ## Cloner/télécharger le dépôt suivant qui contient les fichiers à utiliser : ## ## https://github.com/sosandroid/docker-fail2ban-synology.git ## ## Il faudra juste modifier le docker-compose.yml qui vient avec ou utiliser celui-ci. ## ## ## ##======================================================================================== ## ## ## Pour supprimer une IP bannie, lancer la commande suivante : ## ## docker exec -t fail2ban fail2ban-client set bitwarden unbanip xx.xx.xx.xx ## ## ## ## Pour Voir le log de fail2ban, lancer la commande : ## ## cat /volume1/docker/fail2ban/fail2ban.log ## ## ## ##======================================================================================== services: fail2ban: image: ghcr.io/crazy-max/fail2ban:latest container_name: fail2ban network_mode: host 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.gmail.com - SSMTP_PORT=587 - SSMTP_HOSTNAME=Docker-Fail2ban - SSMTP_USER=XXxxXX@gmail.com - SSMTP_PASSWORD=XXxxXX - SSMTP_TLS=YES - SSMTP_STARTTLS=YES labels: - "com.centurylinklabs.watchtower.enable=true" volumes: - "/volume1/docker/fail2ban:/data" - "/volume1/docker/bitwarden_rs/bitwarden-data:/bitwarden:ro" cap_add: - NET_ADMIN - NET_RAW restart: always Le docker-compose.yml de Bitwarden_RS : ##======================================================================================== ## ## ## Fichier docker-compose.yml pour Bitwarden_RS avec Bitwarden-Backup ## ## ## ##======================================================================================== ## ## ## Attention, avec ce fichier, il faut avoir créer le réseau "bitwarden_network" avant ## ## de créer les conteneurs. ## ## ## ## La mise en place de fail2ban se fera avec un docker-compose dédié. ## ## ## ##======================================================================================== --- version: "2" services: bitwardenrs: # Voir : https://github.com/dani-garcia/bitwarden_rs image: bitwardenrs/server:latest container_name: bitwardenrs networks: - bitwarden_network environment: # Utiliser la commande (en SSH) : id NOM_UTILISATEUR - PUID=XXxxXX - PGID=XXxxXX - TZ=Europe/Paris # Pour l'envoi d'emails - SMTP_HOST=XXxxXX - SMTP_FROM=XXxxXX - STMP_FROM_NAME=BlaBla - SMTP_PORT=XXxxXX - SMTP_SSL=true - SMTP_USERNAME=XXxxXX - SMTP_PASSWORD=XXxxXX # Nécessaire pour activer le 2FA pour la connexion à notre serveur bitwarden_rs # Il est possible de spécifier un port de connexion dans l'URL. Le https:// est obligatoire. # Pour cette option, il est donc OBLIGATOIRE d'avoir fait le nécessaire pour avoir du HTTPS (certificats, reverse-proxy, ...) - DOMAIN=XXxxXX # Pour enregistrer les log avec un niveau particulier - LOG_FILE=/data/bitwarden.log - LOG_LEVEL=warn - EXTENDED_LOGGING=true # je n'aime pas les indices pour les mots de passe... - SHOW_PASSWORD_HINT=false # Pour activer la console d'administation, accessible via : https://mon.domaine.tld/admin/ # Voir détails ici : https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page # /!\ # /!\ N'importe qui pourra accéder à la page de connextion, alors blinder le token d'amdin ci-dessous (64 caractères pour moi) ! # /!\ Il est de plus TRÈS important d'avoir ACTIVÉ le HTTPS avant l'activation de cette option. # /!\ # Je conseille de ne l'activer qu'en cas de nécessité, et de la désactiver après. # Pour désactiver, il suffit de commenter la ligne ci-dessous. - ADMIN_TOKEN=XXxxXX # À noter : # La première fois que vous enregistrez un paramètre dans la page d'administration, 'config.json' sera généré # dans votre 'DATA_FOLDER'. Les valeurs de ce fichier auront priorité sur les valeurs 'environnement'. volumes: - "/volume1/docker/bitwarden_rs/bitwarden-data/:/data/" ports: - 3012:3012 - XXxxXX:80 restart: unless-stopped # Sauvegarde automatique de la base de données, au-cas-où ! bitwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup image: bruceforce/bw_backup:latest container_name: bitwarden_backup networks: - bitwarden_network restart: always depends_on: - bitwardenrs volumes: - /etc/localtime:/etc/localtime:ro - /volume1/docker/bitwarden_rs/bitwarden-data/:/data/ # Chemin d'accès pour stocker le backup - /volume1/docker/bitwarden_rs/bitwarden-backup:/backup_folder/ environment: # Path to the Bitwarden sqlite3 database inside the container - DB_FILE=/data/db.sqlite3 # Path to the desired backup location inside the container # - BACKUP_FILE=/data/db_backup/backup.sqlite3 - BACKUP_FILE=/backup_folder/backup.sqlite3 # Sets the permissions of the backup file # The permissions should at least be 700 since the backup folder itself gets the same permissions # and with 600 it would not be accessible. - BACKUP_FILE_PERMISSIONS=700 # Cronjob format "Minute Hour Day_of_month Month_of_year Day_of_week Year" # https://crontab.guru/#0_9_*_*_* # minutes | heures | jour du mois | mois | jour de la semaine - CRON_TIME=0 18 * * * # Set to true to append timestamp to the BACKUP_FILE - TIMESTAMP=true # User ID to run the cron job with - UID=1038 # J'ai créé un utilisateur dédié à Bitwarden, utiliser la commande 'id nom_user' # Group ID to run the cron job with - GID=100 # Path to the logfile inside the container #- LOGFILE # Path to the cron file inside the container #- CRONFILE # Delete old backups after X many days - DELETE_AFTER=14 networks: bitwarden_network: external: name: bitwarden_network
.Shad. Posté(e) le 30 mars 2021 Posté(e) le 30 mars 2021 Pourquoi donner un accès privilégie à f2b ? Il a déjà les capacités NET_ADMIN pour ça : https://stackoverflow.com/questions/30169013/docker-modifying-iptables-for-host-from-container Eviter comme la peste les conteneurs avec l'accès privilégié ( = root sur l'hôte ).
MilesTEG1 Posté(e) le 30 mars 2021 Posté(e) le 30 mars 2021 @.Shad. Qu'est-ce que tu entends pas "accès privilégié" ??
.Shad. Posté(e) le 30 mars 2021 Posté(e) le 30 mars 2021 volumes: - "/volume1/docker/fail2ban:/data" - "/volume1/docker/bitwarden_rs/bitwarden-data:/bitwarden:ro" privileged: true <======= ça cap_add: - NET_ADMIN - NET_RAW
MilesTEG1 Posté(e) le 30 mars 2021 Posté(e) le 30 mars 2021 @.Shad. Haaa ! Et donc avec le cap_add NET_ADMIN, ça suffit ? J'ai modifié mon compose ici (et sur mon installation).
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.