Skip to content

f500/ansible-ufw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UFW

Install UWF (Uncomplicated Firewall) and create (or remove) rules.

Requirements

Debian Bullseye / Bookworm with the package python-pycurl and python-software-properties installed.

Role Variables

Set the default policy:

ufw_default_policy:
  - { direction: "incoming", policy: "deny" }

Add or remove rules:

ufw_rules_to_create: []
ufw_rules_to_delete: []

Both ufw_rules_to_create and ufw_rules_to_delete accept a list of dictionaries, like so:

ufw_rules_to_create:
  - direction: in
    from_ip: 1.2.3.4
    from_port: 5678
    interface: eth0
    proto: tcp
    rule: allow
    to_ip: 5.6.7.8
    to_port: 1234

Example Playbook

- hosts: servers
  roles:
     - role: f500.ufw
       ufw_rules_to_create:
         - { to_port: 22 }
         - { to_port: 80 }
         - { to_port: 443 }

Linting

Github actions will check this role with ansible-lint. To run this locally, you will need to follow the following steps:

brew install ansible-lint
brew install yamllint
ansible-lint

to fix the linting errors, run:

ansible-lint --fix

License

Copyright (C) 2017 Future500 B.V.

LGPL-3.0

Author Information

Jasper N. Brouwer, [email protected]

Ramon de la Fuente, [email protected]