115 lines
3.6 KiB
YAML
115 lines
3.6 KiB
YAML
- name: Install ufw
|
|
apt: package=ufw state=present
|
|
|
|
- name: Configure ufw defaults
|
|
ufw: direction={{ item.direction }} policy={{ item.policy }}
|
|
with_items:
|
|
- { direction: 'incoming', policy: 'deny' }
|
|
- { direction: 'outgoing', policy: 'deny' }
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }}
|
|
|
|
# disable ipv6
|
|
- lineinfile:
|
|
path: /etc/default/ufw
|
|
state: present
|
|
regexp: '^IPV6'
|
|
line: 'IPV6=no'
|
|
|
|
- name: Enable ufw logging
|
|
ufw: logging=off
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }}
|
|
|
|
- name: Commenting a line.
|
|
replace:
|
|
path: /etc/ufw/before.rules
|
|
regexp: '^(?!#)(.*limit --limit*)'
|
|
replace: '#\1'
|
|
when: config_ufw
|
|
- name: Allow all access to tcp port 123
|
|
ufw:
|
|
rule: allow
|
|
port: '3142'
|
|
direction: '{{ item }}'
|
|
with_items:
|
|
- in
|
|
- out
|
|
when: config_ufw
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }}
|
|
|
|
- name: Allow SSH-Access to some servers
|
|
ufw:
|
|
rule: allow
|
|
direction: '{{ item.direction }}'
|
|
dest: '{{ item.destination }}'
|
|
port: '22'
|
|
with_items:
|
|
- { direction: 'in', destination: '10.0.0.1/32' }
|
|
- { direction: 'out', destination: '10.0.0.1/32' }
|
|
- { direction: 'in', destination: '10.0.2.254/32' }
|
|
- { direction: 'out', destination: '10.0.2.243/32' }
|
|
- { direction: 'in', destination: '10.16.109.252/32' }
|
|
- { direction: 'out', destination: '10.16.109.252/32' }
|
|
- { direction: 'in', destination: '10.16.1.1/32' }
|
|
- { direction: 'out', destination: '10.16.1.1/32' }
|
|
- { direction: 'in', destination: '162.55.5.40/32' }
|
|
- { direction: 'out', destination: '162.55.5.40/32' }
|
|
when: config_ufw
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }}
|
|
- name: Allow https-Access to some servers
|
|
ufw:
|
|
rule: allow
|
|
direction: '{{ item.direction }}'
|
|
dest: '{{ item.destination }}'
|
|
port: '443'
|
|
with_items:
|
|
- { direction: 'in', destination: '10.0.0.1/32' }
|
|
- { direction: 'out', destination: '10.0.0.1/32' }
|
|
- { direction: 'in', destination: '10.0.2.254/32' }
|
|
- { direction: 'out', destination: '10.0.2.243/32' }
|
|
- { direction: 'in', destination: '10.16.109.252/32' }
|
|
- { direction: 'out', destination: '10.16.109.252/32' }
|
|
- { direction: 'in', destination: '10.16.1.1/32' }
|
|
- { direction: 'out', destination: '10.16.1.1/32' }
|
|
- { direction: 'in', destination: '162.55.5.40/32' }
|
|
- { direction: 'out', destination: '162.55.5.40/32' }
|
|
when: config_ufw
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }}
|
|
- name: Allow apt-proxy-Access to some servers
|
|
ufw:
|
|
rule: allow
|
|
direction: '{{ item.direction }}'
|
|
dest: '{{ item.destination }}'
|
|
port: '3142'
|
|
with_items:
|
|
- { direction: 'in', destination: '10.0.2.254/32' }
|
|
- { direction: 'out', destination: '10.0.2.243/32' }
|
|
- { direction: 'in', destination: '10.16.1.3/32' }
|
|
- { direction: 'out', destination: '10.16.1.3/32' }
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }}
|
|
- name: Allow DNS-Access to some servers
|
|
ufw:
|
|
rule: allow
|
|
direction: '{{ item.direction }}'
|
|
dest: '{{ item.destination }}'
|
|
port: '53'
|
|
with_items:
|
|
- { direction: 'in', destination: '10.0.0.1/32' }
|
|
- { direction: 'out', destination: '10.0.0.1/32' }
|
|
- { direction: 'in', destination: '10.16.1.1/32' }
|
|
- { direction: 'out', destination: '10.16.1.1/32' }
|
|
when: config_ufw
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }}
|
|
- name: Allow dns
|
|
ufw: rule={{ item.rule }} port={{ item.port }}
|
|
with_items:
|
|
- { rule: 'allow', port: '53'}
|
|
when: config_ufw
|
|
environment:
|
|
PATH: /sbin:{{ ansible_env.PATH }} |