From 5bb64c9704fa1bc4373a338e582a56d70d0866a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= <valtri@civ.zcu.cz> Date: Fri, 24 May 2024 15:48:09 +0000 Subject: [PATCH] Email settings - permit TLSv1.2 only, mail utility --- cesnet-central/playbooks/k8s.yaml | 43 +++++++++++++------ .../playbooks/templates/etc/mailutils.conf | 3 ++ .../playbooks/templates/etc/mailutils.conf | 1 + demo/playbooks/templates/etc/mailutils.conf | 1 + 4 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 cesnet-central/playbooks/templates/etc/mailutils.conf create mode 120000 cesnet-mcc/playbooks/templates/etc/mailutils.conf create mode 120000 demo/playbooks/templates/etc/mailutils.conf diff --git a/cesnet-central/playbooks/k8s.yaml b/cesnet-central/playbooks/k8s.yaml index ee87d59..9de8222 100644 --- a/cesnet-central/playbooks/k8s.yaml +++ b/cesnet-central/playbooks/k8s.yaml @@ -47,19 +47,38 @@ dest: /etc/cron-apt/action.d/9-upgrade content: -q -q dist-upgrade mode: 0644 - - name: Site setup postfix + - name: Mails settings vars: - main: - myhostname: "{{ lookup('dig', groups['fip'][0] + '/PTR') | regex_replace('\\.$', '') }}" - relayhost: relay.muni.cz - inet_protocols: ipv4 - lineinfile: - regexp: '^{{ item.key }}\s*=\s*.*' - line: "{{ item.key }} = {{ item.value }}" - path: /etc/postfix/main.cf - loop: "{{ main | dict2items }}" - notify: Reload postfix - when: site_name == "cesnet" or site_name == "cesnet-mcc" + main_global: + # disable everything except TLSv1.2 + smtpd_tls_mandatory_protocols: "!SSLv2, !SSLv3, !TLSv1, !TLSv1.1" + smtpd_tls_protocols: "!SSLv2, !SSLv3, !TLSv1, !TLSv1.1" + smtp_tls_mandatory_protocols: "!SSLv2, !SSLv3, !TLSv1, !TLSv1.1" + smtp_tls_protocols: "!SSLv2, !SSLv3, !TLSv1, !TLSv1.1" + fromdomain: "{{ lookup('dig', groups['fip'][0] + '/PTR') | regex_replace('\\.$', '') }}" + block: + - name: Site-specific postfix settings + set_fact: + main_cesnet: + myhostname: "{{ fromdomain }}" + relayhost: relay.muni.cz + inet_protocols: ipv4 + when: site_name == "cesnet" or site_name == "cesnet-mcc" + - name: Setup postfix + vars: + main: "{{ main_global | combine(main_cesnet | default({})) }}" + lineinfile: + regexp: '^{{ item.key }}\s*=\s*.*' + line: "{{ item.key }} = {{ item.value }}" + path: /etc/postfix/main.cf + loop: "{{ main | dict2items }}" + notify: Reload postfix + - name: Setup mailutils + template: + src: templates/etc/mailutils.conf + dest: /etc/mailutils.conf + mode: 0644 + when: site_name == "cesnet" or site_name == "cesnet-mcc" - name: Site touch file: path: "/EOSC-{{ site_name | upper }}" diff --git a/cesnet-central/playbooks/templates/etc/mailutils.conf b/cesnet-central/playbooks/templates/etc/mailutils.conf new file mode 100644 index 0000000..9e38faa --- /dev/null +++ b/cesnet-central/playbooks/templates/etc/mailutils.conf @@ -0,0 +1,3 @@ +address { + email-domain {{ fromdomain }}; +}; diff --git a/cesnet-mcc/playbooks/templates/etc/mailutils.conf b/cesnet-mcc/playbooks/templates/etc/mailutils.conf new file mode 120000 index 0000000..c67eb7d --- /dev/null +++ b/cesnet-mcc/playbooks/templates/etc/mailutils.conf @@ -0,0 +1 @@ +../../../../cesnet-central/playbooks/templates/etc/mailutils.conf \ No newline at end of file diff --git a/demo/playbooks/templates/etc/mailutils.conf b/demo/playbooks/templates/etc/mailutils.conf new file mode 120000 index 0000000..c67eb7d --- /dev/null +++ b/demo/playbooks/templates/etc/mailutils.conf @@ -0,0 +1 @@ +../../../../cesnet-central/playbooks/templates/etc/mailutils.conf \ No newline at end of file -- GitLab