Hallo liebe Community
ich bin neu hier im Forum. Seit gut einem Jahr beschäftige ich mich mit dem Linux-System, u.a. mit Proxmox und VM. Ich habe einige Erfahrungen sammeln können, möchte aber nicht behaupten, dass ich viel von der Linux-Welt verstehe. Ich komme auch nicht aus der IT-Welt, also verzeiht mir, wenn mir die Grundlagen fehlen. Mit Web-Tutorials kann man viel erreichen, stößt aber bei Problemen schnell an seine Grenzen. So, genug von mir.
Ich betreibe einen kleinen Proxmox-Server. Darauf läuft unter anderem eine VM mit Vaultwarden. Vaultwarden läuft auf Docker, bzw. mit der Erweiterung Docker-Compose. Der Traffic für Vaultwarden wird über eine separate DynDNS von der PF-Sense mit Portweiterleitung an den NGINX Proxy Manager zur VM weitergeleitet. Dies funktioniert einwandfrei. Da der Server von außen erreichbar ist, habe ich ihn mit Fail2Ban abgesichert. Fail2Ban habe ich über APT installiert. Fail2ban kann die Logs von Vaultwarden erfolgreich lesen und sperrt auch erfolgreich die IP. So steht im Status unter Action die richtige IP. Ich teste das immer von meinem Arbeitsplatzrechner aus. Der Arbeitsrechner läuft immer über das Firmennetzwerk via VPN. Die IP wird bei erfolgreicher Sperrung von Fail2Ban an Iptables weitergeleitet. In der Chain FORWARD
kommt der Eintrag f2b-bitwarden
an erster Stelle.
Der Befehl iptables -L
gibt folgendes aus:
Chain f2b-bitwarden (3 references)
target prot opt source destination
DROP all – ip.von.der.arbeit anywhere
Nach Ablauf der angegebenen Zeit oder nach einem unban Befehl via fail2ban wird der Eintrag in iptables ebenfalls gelöscht.
Soweit die Konfiguration und das Setup. Mein Problem ist nun, dass ich trotz Sperre und Eintrag in Iptables von außen auf Vaultwarden zugreifen kann. Ich verstehe nicht warum, also das Problem und bin mit meinem wenigen Latein am Ende. Ich vermute hier das Problem bei der VM oder bei Proxmox. Wahrscheinlich handelt es sich sogar um ein triviales Problem mit einer einfachen Lösung. Über sachdienliche Hinweisewäre ich super dankbar.
Vielen lieben Dank.
Mike
Hier ist die Codes und Ausgaben:
Code Docker Compose Vaultwarden
version: '3'
volumes:
mariadb:
driver: local
networks:
vaultwarden-mariaDB:
services:
mariadb:
image: mariadb:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: supergeheimespassword
MYSQL_USER: mike
MYSQL_PASSWORD: supergeheimespassword
TZ: "Europe/Berlin"
ports:
- "3306:3306"
volumes:
- /volume1/docker/mariadb:/var/lib/mysql
networks:
- vaultwarden-mariaDB
vaultwarden:
image: vaultwarden/server:latest
restart: always
environment:
ADMIN_RATELIMIT_SECONDS: 3600
ADMIN_TOKEN: supergeheimespassword
DATABASE_URL: mysql://vaultwarden:supergeheimespassword@mariadb/vaultwarden
LOG_FILE: /data/log/vaultwarde.log
#LOG_LEVEL: info
LOGIN_RATELIMIT_MAX_BURST: 10
LOGIN_RATELIMIT_SECONDS: 86400
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ROCKET_ADDRESS: 0.0.0.0
ROCKET_PORT: 80
ROCKET_PROFILE: release
USE_SYSLOG: true
TZ: Europe/Berlin
ports:
- "3012:3012"
- "8010:80"
volumes:
- /volume1/docker/vaultwarden:/data
networks:
- vaultwarden-mariaDB
phpmyadmin:
image: phpmyadmin:latest
restart: always
expose:
- "8000"
ports:
- "8000:80"
environment:
- PMA_HOST=mariadb
- PMA_PORT=3306
- TZ=Europe/Berlin
networks:
- vaultwarden-mariaDB
jail.local
[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 192.168.0.0/16 10.0.0.0/8
chain = FORWARD
[bitwarden]
enabled = true
port = http,https
logpath = /volume1/docker/vaultwarden/log/vaultwarde.log
filter = bitwarden
action = iptables-allports[name=bitwarden, chain=FORWARD, port="80,443"]
maxretry = 3
bantime = 3600
Fail2ban Status Jail Bitwarden
Status for the jail: bitwarden
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /volume1/docker/vaultwarden/log/vaultwarde.log
`- Actions
|- Currently banned: 1
|- Total banned: 2
`- Banned IP list: ip.von.der.arbeit