summaryrefslogtreecommitdiffstats
path: root/roles/bacula-dir/templates/etc/stunnel/bacula-dir.conf.j2
blob: 6219aff6243f77bcdba510375f8b29e8ca1f0d67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
; **************************************************************************
; * 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 }}-dir.pem
key  = /etc/stunnel/certs/{{ inventory_hostname_short }}-dir.key
client = yes
socket = a:SO_BINDTODEVICE=lo

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)               *
; **************************************************************************

{% if 'bacula-sd' not in group_names %}
[{{ hostvars[ groups['bacula-sd'][0] ].inventory_hostname_short }}-sd]
accept  = 127.0.{{ n }}.1:9113
connect = {{ groups['bacula-sd'][0] }}:9103
delay   = yes
CAfile  = /etc/stunnel/certs/{{ hostvars[ groups['bacula-sd'][0] ].inventory_hostname_short }}-sd.pem
{% endif %}

{% set n = 0 %}
{% for fd in groups.all | sort %}
{% set n = n + 1 %}
{% if fd != inventory_hostname %}
[{{ hostvars[fd].inventory_hostname_short }}-fd]
accept  = 127.0.{{ n }}.1:9112
connect = {{ fd }}:9102
delay   = yes
CAfile  = /etc/stunnel/certs/{{ hostvars[fd].inventory_hostname_short }}-fd.pem
{% endif %}

{% endfor %}

; vim:ft=dosini