Refresh Bitwarden's Fail2ban jail on a timer

This commit is contained in:
2026-09-13 20:15:16 -04:00
parent e009974f80
commit 6763c2bc29
5 changed files with 54 additions and 0 deletions
+2
View File
@@ -4,6 +4,7 @@ require {
type container_t;
type container_file_t;
type container_ro_file_t;
type fail2ban_client_t;
type oci_log_t;
type unconfined_t;
class process ptrace;
@@ -19,3 +20,4 @@ allow unconfined_t container_ro_file_t:file execmod;
allow container_t oci_log_t:dir { read getattr search open lock ioctl write add_name remove_name create rmdir setattr rename reparent };
allow container_t oci_log_t:file { read getattr open lock ioctl write append create unlink setattr rename link map };
allow container_t oci_log_t:lnk_file { read getattr create unlink rename };
allow fail2ban_client_t oci_log_t:dir read;
+6
View File
@@ -41,3 +41,9 @@
become_user: "{{ bitwarden_user }}"
environment: "{{ bitwarden_env }}"
listen: rebuild_bitwarden
- name: Restart Bitwarden's Fail2ban reload timer
ansible.builtin.systemd_service:
name: "fail2ban-reload-{{ bitwarden_name }}.timer"
state: restarted
listen: reload_bitwarden_jail
+25
View File
@@ -279,3 +279,28 @@
dest: /etc/fail2ban/jail.d/bitwarden.conf
mode: "640"
notify: restart_fail2ban
- name: Install Bitwarden's Fail2ban reload service
ansible.builtin.template:
src: fail2ban-reload.service.j2
dest: "/etc/systemd/system/fail2ban-reload-{{ bitwarden_name }}.service"
owner: root
group: root
mode: "0644"
notify: reload_bitwarden_jail
- name: Install Bitwarden's Fail2ban reload timer
ansible.builtin.template:
src: fail2ban-reload.timer.j2
dest: "/etc/systemd/system/fail2ban-reload-{{ bitwarden_name }}.timer"
owner: root
group: root
mode: "0644"
notify: reload_bitwarden_jail
- name: Enable Bitwarden's Fail2ban reload timer
ansible.builtin.systemd_service:
name: "fail2ban-reload-{{ bitwarden_name }}.timer"
enabled: true
state: started
daemon_reload: true
@@ -0,0 +1,10 @@
# {{ ansible_managed }}
[Unit]
Description=Refresh the {{ bitwarden_name }} Fail2ban jail's log file list
Documentation=man:fail2ban-client(1)
After=fail2ban.service
[Service]
Type=oneshot
ExecCondition=/usr/bin/systemctl is-active --quiet fail2ban.service
ExecStart=/usr/bin/fail2ban-client reload {{ bitwarden_name }}
@@ -0,0 +1,11 @@
# {{ ansible_managed }}
[Unit]
Description=Periodic refresh of {{ bitwarden_name }}'s Fail2ban jail's log file list
[Timer]
OnCalendar=*:0/15
AccuracySec=1m
Persistent=true
[Install]
WantedBy=timers.target