✨: add smtp global relay
Some checks failed
ansible-lint / lint-everything (push) Failing after 1m31s
Some checks failed
ansible-lint / lint-everything (push) Failing after 1m31s
This commit is contained in:
6
inventory/host_vars/ks3370405.yml
Normal file
6
inventory/host_vars/ks3370405.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
allowed_smtp_ips: ["82.66.135.228", "80.67.179.200"]
|
||||||
|
|
||||||
|
global_smtp_relay_allowed_ips: "{{ allowed_smtp_ips }}"
|
||||||
|
ufw_allowed_smtp_ips: "{{ allowed_smtp_ips }}"
|
@@ -14,6 +14,8 @@ all:
|
|||||||
ansible_host: muse-HP-EliteBook-820-G2.home.arpa
|
ansible_host: muse-HP-EliteBook-820-G2.home.arpa
|
||||||
pinkypie:
|
pinkypie:
|
||||||
ansible_host: pinkypie.home.arpa
|
ansible_host: pinkypie.home.arpa
|
||||||
|
ks3370405:
|
||||||
|
ansible_host: ks3370405.kimsufi.com
|
||||||
|
|
||||||
router:
|
router:
|
||||||
hosts:
|
hosts:
|
||||||
@@ -76,6 +78,7 @@ disabled_munin:
|
|||||||
baybay-ponay:
|
baybay-ponay:
|
||||||
muse-HP-EliteBook-820-G2:
|
muse-HP-EliteBook-820-G2:
|
||||||
pinkypie:
|
pinkypie:
|
||||||
|
ks3370405:
|
||||||
|
|
||||||
disabled_syslog:
|
disabled_syslog:
|
||||||
hosts:
|
hosts:
|
||||||
@@ -83,6 +86,7 @@ disabled_syslog:
|
|||||||
machinbox:
|
machinbox:
|
||||||
muse-HP-EliteBook-820-G2:
|
muse-HP-EliteBook-820-G2:
|
||||||
pinkypie:
|
pinkypie:
|
||||||
|
ks3370405:
|
||||||
|
|
||||||
# Those are not servers and should not be configured as such
|
# Those are not servers and should not be configured as such
|
||||||
disabled_server_conf:
|
disabled_server_conf:
|
||||||
|
7
playbooks/global_smtprelay.yml
Normal file
7
playbooks/global_smtprelay.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Install & configure the global SMTP relay
|
||||||
|
hosts: ks3370405
|
||||||
|
roles:
|
||||||
|
- ufw
|
||||||
|
- global_smtp_relay
|
@@ -18,6 +18,8 @@
|
|||||||
import_playbook: firewall.yml
|
import_playbook: firewall.yml
|
||||||
- name: Run mail playbook
|
- name: Run mail playbook
|
||||||
import_playbook: mail.yml
|
import_playbook: mail.yml
|
||||||
|
- name: Run global_smtprelay playbook
|
||||||
|
import_playbook: global_smtprelay.yml
|
||||||
- name: Run xmpp playbook
|
- name: Run xmpp playbook
|
||||||
import_playbook: xmpp.yml
|
import_playbook: xmpp.yml
|
||||||
- name: Run webservers playbook
|
- name: Run webservers playbook
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: Deploy smtp relay
|
- name: Deploy smtp relay
|
||||||
hosts: all:!disabled_server_conf:!machinbox:!mail
|
hosts: all:!disabled_server_conf:!machinbox:!mail:!ks3370405
|
||||||
diff: true
|
diff: true
|
||||||
roles:
|
roles:
|
||||||
- smtprelay
|
- smtprelay
|
||||||
|
2
roles/ufw/defaults/main.yml
Normal file
2
roles/ufw/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
ufw_allowed_smtp_ips: []
|
43
roles/ufw/tasks/main.yml
Normal file
43
roles/ufw/tasks/main.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Install ufw
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: ufw
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Permit outgoing flows
|
||||||
|
community.general.ufw:
|
||||||
|
default: allow
|
||||||
|
direction: outgoing
|
||||||
|
|
||||||
|
- name: Deny incoming flows
|
||||||
|
community.general.ufw:
|
||||||
|
default: deny
|
||||||
|
direction: incoming
|
||||||
|
|
||||||
|
- name: Allow incoming SSH
|
||||||
|
community.general.ufw:
|
||||||
|
rule: allow
|
||||||
|
port: ssh
|
||||||
|
proto: tcp
|
||||||
|
|
||||||
|
- name: Allow incoming HTTP
|
||||||
|
community.general.ufw:
|
||||||
|
rule: allow
|
||||||
|
port: http
|
||||||
|
proto: tcp
|
||||||
|
|
||||||
|
- name: Allow incoming SMTP
|
||||||
|
community.general.ufw:
|
||||||
|
rule: allow
|
||||||
|
port: smtp
|
||||||
|
src: "{{ item }}"
|
||||||
|
loop: "{{ ufw_allowed_smtp_ips }}"
|
||||||
|
|
||||||
|
- name: Set logging
|
||||||
|
community.general.ufw:
|
||||||
|
logging: "on"
|
||||||
|
|
||||||
|
- name: Enable UFW
|
||||||
|
community.general.ufw:
|
||||||
|
state: enabled
|
Reference in New Issue
Block a user