summaryrefslogtreecommitdiffstats
path: root/roles/bacula-sd
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2016-05-22 17:21:16 +0200
committerGuilhem Moulin <guilhem@fripost.org>2016-05-22 17:53:58 +0200
commit8cf4032ecec5b9f58d829e89f231179170432539 (patch)
tree24947cc32af42e98bca3ed0b6319c69c77321262 /roles/bacula-sd
parentf7a5a19edc504980e2e8f93ab027162756710d59 (diff)
Tunnel bacula (dir → {fd,sd} and fd → sd) traffic through IPSec.
Diffstat (limited to 'roles/bacula-sd')
-rw-r--r--roles/bacula-sd/files/lib/systemd/system/bacula-sd.service2
-rw-r--r--roles/bacula-sd/handlers/main.yml3
-rw-r--r--roles/bacula-sd/tasks/main.yml58
-rw-r--r--roles/bacula-sd/templates/etc/bacula/bacula-sd.conf.j25
-rw-r--r--roles/bacula-sd/templates/etc/stunnel/bacula-sd.conf.j264
5 files changed, 3 insertions, 129 deletions
diff --git a/roles/bacula-sd/files/lib/systemd/system/bacula-sd.service b/roles/bacula-sd/files/lib/systemd/system/bacula-sd.service
index ca147a7..698ad17 100644
--- a/roles/bacula-sd/files/lib/systemd/system/bacula-sd.service
+++ b/roles/bacula-sd/files/lib/systemd/system/bacula-sd.service
@@ -4,7 +4,7 @@ After=network.target
[Service]
Type=forking
-PIDFile=/var/run/bacula/bacula-sd.9113.pid
+PIDFile=/var/run/bacula/bacula-sd.9103.pid
StandardOutput=syslog
User=bacula
Group=tape
diff --git a/roles/bacula-sd/handlers/main.yml b/roles/bacula-sd/handlers/main.yml
index c6adb80..3434333 100644
--- a/roles/bacula-sd/handlers/main.yml
+++ b/roles/bacula-sd/handlers/main.yml
@@ -2,8 +2,5 @@
- name: systemctl daemon-reload
command: /bin/systemctl daemon-reload
-- name: Restart stunnel@bacula-sd
- service: name=stunnel4@bacula-sd state=restarted
-
- name: Restart bacula-sd
service: name=bacula-sd state=restarted
diff --git a/roles/bacula-sd/tasks/main.yml b/roles/bacula-sd/tasks/main.yml
index 795804f..ad77db4 100644
--- a/roles/bacula-sd/tasks/main.yml
+++ b/roles/bacula-sd/tasks/main.yml
@@ -1,61 +1,3 @@
-- name: Create /etc/stunnel/certs
- file: path=/etc/stunnel/certs
- state=directory
- owner=root group=root
- mode=0755
-
-- name: Generate a private key and a X.509 certificate for Bacula SD
- command: genkeypair.sh x509
- --pubkey=/etc/stunnel/certs/{{ inventory_hostname_short }}-sd.pem
- --privkey=/etc/stunnel/certs/{{ inventory_hostname_short }}-sd.key
- --ou=BaculaSD --cn={{ inventory_hostname }} --dns={{ inventory_hostname }}
- -t rsa -b 4096 -h sha512
- register: r1
- changed_when: r1.rc == 0
- failed_when: r1.rc > 1
- notify:
- - Restart stunnel@bacula-sd
- tags:
- - genkey
-
-- name: Fetch Bacula SD X.509 certificate
- # Ensure we don't fetch private data
- become: False
- fetch_cmd: cmd="openssl x509"
- stdin=/etc/stunnel/certs/{{ inventory_hostname_short }}-sd.pem
- dest=certs/bacula/{{ inventory_hostname_short }}-sd.pem
- tags:
- - genkey
-
-- name: Copy Bacula Dir/FD X.509 certificates
- assemble: src=certs/bacula regexp="-(dir|fd)\.pem$" remote_src=no
- dest=/etc/stunnel/certs/bacula-dir+fds.pem
- owner=root group=root
- mode=0644
- register: r2
- notify:
- - Restart stunnel@bacula-sd
-
-- name: Configure stunnel
- template: src=etc/stunnel/bacula-sd.conf.j2
- dest=/etc/stunnel/bacula-sd.conf
- owner=root group=root
- mode=0644
- register: r3
- notify:
- - Restart stunnel@bacula-sd
-
-- name: Enable stunnel@bacula-sd
- service: name=stunnel4@bacula-sd enabled=yes
-
-- name: Start stunnel
- service: name=stunnel4@bacula-sd state=started
- when: not (r1.changed or r2.changed or r3.changed)
-
-- meta: flush_handlers
-
-
-
- name: Install bacula-sd
apt: pkg=bacula-sd
diff --git a/roles/bacula-sd/templates/etc/bacula/bacula-sd.conf.j2 b/roles/bacula-sd/templates/etc/bacula/bacula-sd.conf.j2
index fbfdca5..5ffa17c 100644
--- a/roles/bacula-sd/templates/etc/bacula/bacula-sd.conf.j2
+++ b/roles/bacula-sd/templates/etc/bacula/bacula-sd.conf.j2
@@ -15,9 +15,8 @@ Storage { # define myself
Working Directory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
- SDAddress = 127.0.0.1
- SDPort = 9113
- Heartbeat Interval = 1 min
+ SDAddress = {{ ipsec[inventory_hostname_short] }}
+ SDPort = 9103
}
#
diff --git a/roles/bacula-sd/templates/etc/stunnel/bacula-sd.conf.j2 b/roles/bacula-sd/templates/etc/stunnel/bacula-sd.conf.j2
deleted file mode 100644
index 051412c..0000000
--- a/roles/bacula-sd/templates/etc/stunnel/bacula-sd.conf.j2
+++ /dev/null
@@ -1,64 +0,0 @@
-; **************************************************************************
-; * Global options *
-; **************************************************************************
-
-; setuid()/setgid() to the specified user/group in daemon mode
-setuid = stunnel4
-setgid = stunnel4
-
-; PID is created inside the chroot jail
-pid =
-foreground = yes
-
-; Only log messages at severity warning (4) and higher
-debug = 4
-
-; **************************************************************************
-; * Service defaults may also be specified in individual service sections *
-; **************************************************************************
-
-; Certificate/key is needed in server mode and optional in client mode
-cert = /etc/stunnel/certs/{{ inventory_hostname_short }}-sd.pem
-key = /etc/stunnel/certs/{{ inventory_hostname_short }}-sd.key
-
-socket = l:TCP_NODELAY=1
-socket = l:SO_KEEPALIVE=1
-socket = l:TCP_KEEPIDLE=60
-socket = l:TCP_KEEPINTVL=15
-socket = l:TCP_KEEPCNT=116
-
-socket = r:TCP_NODELAY=1
-socket = r:SO_KEEPALIVE=1
-socket = r:TCP_KEEPIDLE=60
-socket = r:TCP_KEEPINTVL=15
-socket = r:TCP_KEEPCNT=116
-
-; Prevent MITM attacks
-verify = 4
-
-; Disable support for insecure protocols
-options = NO_SSLv2
-options = NO_SSLv3
-options = NO_TLSv1
-options = NO_TLSv1.1
-
-options = NO_COMPRESSION
-
-; These options provide additional security at some performance degradation
-options = SINGLE_ECDH_USE
-options = SINGLE_DH_USE
-
-; Select permitted SSL ciphers
-ciphers = EECDH+AESGCM:!MEDIUM:!LOW:!EXP:!aNULL:!eNULL
-
-; **************************************************************************
-; * Service definitions (remove all services for inetd mode) *
-; **************************************************************************
-
-[{{ inventory_hostname_short }}-sd]
-client = no
-accept = 9103
-connect = 127.0.0.1:9113
-CAfile = /etc/stunnel/certs/bacula-dir+fds.pem
-
-; vim:ft=dosini