- name: Install fail2ban & ufw. apt: name: - fail2ban - ufw state: present # TODO add proper fail2ban config - name: Ensure fail2ban is started & enabled. service: name: fail2ban state: started enabled: true - name: Ensure ufw is started & enabled. service: name: fail2ban state: started enabled: true - name: Allow SSH connections. community.general.ufw: rule: allow port: 2222 - name: Open necessary ports for Docker swarm communication. community.general.ufw: rule: allow port: "{{ item }}" loop: - 2377 # cluster management communications - 7946 # communication among nodes - 4789 # overlay network traffic - 9001 # Portainer communication # - name: Open up ports for proper IPv6 service communication # community.general.ufw: # rule: allow # port: "{{ item }}" # loop: # - 80 # HTTP # - 443 # HTTPS # - 8000 # Portainer edge communication - name: Block everything else by default & enable firewall. community.general.ufw: default: deny state: enabled