Files
deploy_home/ansible/roles/http/tasks/modsec.yml
2022-04-12 01:43:26 -04:00

91 lines
2.1 KiB
YAML

---
- name: create nginx/conf directory
become: true
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: root
group: root
mode: 0644
loop:
- "{{ nginx_conf_path }}"
- "{{ modsec_rules_path }}"
tags: modsec
- name: create modsec_includes.conf
become: true
ansible.builtin.copy:
src: files/nginx/modsec_includes.conf
dest: "{{ nginx_path }}/modsec_includes.conf"
mode: 0644
notify: restart_nginx
tags: modsec
- name: clone coreruleset and modsecurity
become: true
ansible.builtin.git:
repo: "{{ item.src }}"
dest: "{{ item.dest }}"
update: true
force: true
version: "{{ item.ver }}"
loop: "{{ modsec_git_urls }}"
notify: restart_nginx
tags: modsec
- name: setup modsec and coreruleset configs
become: true
ansible.builtin.copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
force: true
mode: 0644
remote_src: true
loop: "{{ modsec_conf_links }}"
notify: restart_nginx
tags: modsec
- name: setup coreruleset rules
become: true
ansible.builtin.copy:
src: "{{ crs_rules_path }}/{{ item.name }}.conf"
dest: "{{ modsec_rules_path }}/{{ item.name }}.conf"
force: true
mode: 0644
remote_src: true
when: item.enabled
loop: "{{ crs_rule_links }}"
notify: restart_nginx
tags: modsec, modsec_rules
- name: setup coreruleset data
become: true
ansible.builtin.copy:
src: "{{ crs_rules_path }}/{{ item }}.data"
dest: "{{ modsec_rules_path }}/{{ item }}.data"
force: true
mode: 0644
remote_src: true
loop: "{{ crs_data_links }}"
notify: restart_nginx
tags: modsec, modsec_rules
- name: whitelist local ip addresses
become: true
ansible.builtin.lineinfile:
path: "{{ modsec_crs_before_rule_conf }}"
regexp: "{{ modsec_whitelist_local_re }}"
line: "{{ modsec_whitelist_local }}"
mode: 0644
notify: restart_nginx
tags: modsec, modsec_rules, modsec_whitelist
- name: activate mod-security
become: true
ansible.builtin.lineinfile:
path: /etc/nginx/modsecurity.conf
regexp: "^SecRuleEngine"
line: "SecRuleEngine On"
notify: restart_nginx
tags: modsec