diff --git a/ansible-wazuh-agent/defaults/main.yml b/ansible-wazuh-agent/defaults/main.yml
index 680864e8..b49e02ff 100644
--- a/ansible-wazuh-agent/defaults/main.yml
+++ b/ansible-wazuh-agent/defaults/main.yml
@@ -7,9 +7,12 @@ wazuh_register_client: false
wazuh_notify_time: null
wazuh_time_reconnect: null
wazuh_agent_config:
+ log_format: 'plain'
syscheck:
frequency: 43200
scan_on_start: 'yes'
+ auto_ignore: 'no'
+ alert_new_files: 'yes'
ignore:
- /etc/mtab
- /etc/mnttab
diff --git a/ansible-wazuh-agent/tasks/RMDebian.yml b/ansible-wazuh-agent/tasks/RMDebian.yml
index 81befd12..a392c44d 100644
--- a/ansible-wazuh-agent/tasks/RMDebian.yml
+++ b/ansible-wazuh-agent/tasks/RMDebian.yml
@@ -1,4 +1,5 @@
---
-- apt_repository:
+- name: Remove Wazuh repository (and clean up left-over metadata)
+ apt_repository:
repo: deb https://packages.wazuh.com/apt {{ ansible_distribution_release }} main
state: absent
diff --git a/ansible-wazuh-agent/templates/var-ossec-etc-ossec-agent.conf.j2 b/ansible-wazuh-agent/templates/var-ossec-etc-ossec-agent.conf.j2
index f79f5e42..dd07aa6b 100644
--- a/ansible-wazuh-agent/templates/var-ossec-etc-ossec-agent.conf.j2
+++ b/ansible-wazuh-agent/templates/var-ossec-etc-ossec-agent.conf.j2
@@ -25,6 +25,10 @@
{% endif %}
+
+ {{ wazuh_agent_config.log_format }}
+
+
no
yes
@@ -51,6 +55,8 @@
+ {{ wazuh_agent_config.syscheck.auto_ignore }}
+ {{ wazuh_agent_config.syscheck.alert_new_files }}
{{ wazuh_agent_config.syscheck.frequency }}
{{ wazuh_agent_config.syscheck.scan_on_start }}
diff --git a/ansible-wazuh-manager/defaults/main.yml b/ansible-wazuh-manager/defaults/main.yml
index afc155a9..37eb0e04 100644
--- a/ansible-wazuh-manager/defaults/main.yml
+++ b/ansible-wazuh-manager/defaults/main.yml
@@ -5,6 +5,7 @@ wazuh_manager_config:
json_output: 'yes'
alerts_log: 'yes'
logall: 'no'
+ log_format: 'plain'
connection:
- type: 'secure'
port: '1514'
@@ -52,6 +53,8 @@ wazuh_manager_config:
syscheck:
frequency: 43200
scan_on_start: 'yes'
+ auto_ignore: 'no'
+ alert_new_files: 'yes'
ignore:
- /etc/mtab
- /etc/mnttab
@@ -124,6 +127,9 @@ wazuh_manager_config:
expect: 'srcip'
timeout_allowed: 'yes'
active_responses:
+ - command: 'restart-ossec'
+ location: 'local'
+ rules_id: 710001
- command: 'host-deny'
location: 'local'
level: 6
@@ -135,10 +141,12 @@ wazuh_manager_config:
wazuh_agent_configs:
- type: os
- type_value: linux
+ type_value: Linux
syscheck:
frequency: 43200
scan_on_start: 'yes'
+ auto_ignore: 'no'
+ alert_new_files: 'yes'
ignore:
- /etc/mtab
- /etc/mnttab
diff --git a/ansible-wazuh-manager/tasks/main.yml b/ansible-wazuh-manager/tasks/main.yml
index f15f419e..974fdb6a 100644
--- a/ansible-wazuh-manager/tasks/main.yml
+++ b/ansible-wazuh-manager/tasks/main.yml
@@ -63,7 +63,7 @@
- name: Configure the shared-agent.conf
template: src=var-ossec-etc-shared-agent.conf.j2
dest=/var/ossec/etc/shared/agent.conf
- owner=root
+ owner=ossec
group=ossec
mode=0640
notify: restart wazuh-manager
@@ -71,65 +71,80 @@
- init
- config
-- name: Check if client-syslog is enabled
- shell: "/var/ossec/bin/ossec-control status | grep -c 'ossec-csyslogd is running' | xargs echo"
- register: csyslog_running
- changed_when: False
-
-- name: Enable client-syslog
- command: /var/ossec/bin/ossec-control enable client-syslog
- when:
- - csyslog_running.stdout == '0'
- - wazuh_manager_config.syslog_outputs.server is not none
-
-- name: Start client-syslog
- command: /var/ossec/bin/ossec-control start client-syslog
- when:
- - csyslog_running.stdout == '0'
- - wazuh_manager_config.syslog_outputs.server is not none
-
-- name: Check if ossec-agentlessd is enabled
- shell: "/var/ossec/bin/ossec-control status | grep -c 'ossec-agentlessd is running' | xargs echo"
- register: agentless_running
- changed_when: False
-
-- name: Enable ossec-agentlessd
- command: /var/ossec/bin/ossec-control enable agentless
- when: agentless_running.stdout == '0' and agentless_creeds is defined
-
-- name: Start ossec-agentlessd
- command: /var/ossec/bin/ossec-control start agentless
- when: agentless_running.stdout == '0' and agentless_creeds is defined
-
-- name: Check if ossec-authd is enabled
- shell: "/var/ossec/bin/ossec-control status | grep -c 'ossec-authd is running' | xargs echo"
- register: authd_running
- changed_when: False
-
-- name: Enable ossec-authd
- command: /var/ossec/bin/ossec-control enable auth
- when:
- - authd_running.stdout == '0'
- - wazuh_manager_config.authd.enable == true
-
-- name: Start ossec-authd
- command: /var/ossec/bin/ossec-control start auth
- when:
- - authd_running.stdout == '0'
- - wazuh_manager_config.authd.enable == true
+- name: Retrieving Agentless Credentials
+ include_vars: agentless_creeds.yml
+ tags:
+ - config
- name: Retrieving authd Credentials
include_vars: authd_pass.yml
tags:
- config
-- name: Retrieving Agentless Credentials
- include_vars: agentless_creeds.yml
+- name: Retrieving Wazuh-api User Credentials
+ include_vars: wazuh_api_creds.yml
tags:
- config
-- name: Retrieving Wazuh-api User Credentials
- include_vars: wazuh_api_creds.yml
+- name: Check if syslog output is enabled
+ set_fact: syslog_output=true
+ when: item.server is not none
+ with_items:
+ - "{{ wazuh_manager_config.syslog_outputs }}"
+ tags:
+ - config
+
+- name: Check if client-syslog is enabled
+ shell: "grep -c 'ossec-csyslogd' /var/ossec/bin/.process_list | xargs echo"
+ args:
+ removes: /var/ossec/bin/.process_list
+ changed_when: False
+ register: csyslog_enabled
+ tags:
+ - config
+
+- name: Enable client-syslog
+ command: /var/ossec/bin/ossec-control enable client-syslog
+ notify: restart wazuh-manager
+ when:
+ - csyslog_enabled.stdout == '0' or "skipped" in csyslog_enabled.stdout
+ - syslog_output is defined and syslog_output == true
+ tags:
+ - config
+
+- name: Check if ossec-agentlessd is enabled
+ shell: "grep -c 'ossec-agentlessd' /var/ossec/bin/.process_list | xargs echo"
+ args:
+ removes: /var/ossec/bin/.process_list
+ changed_when: False
+ register: agentlessd_enabled
+ tags:
+ - config
+
+- name: Enable ossec-agentlessd
+ command: /var/ossec/bin/ossec-control enable agentless
+ notify: restart wazuh-manager
+ when:
+ - agentlessd_enabled.stdout == '0' or "skipped" in agentlessd_enabled.stdout
+ - agentless_creeds is defined
+ tags:
+ - config
+
+- name: Check if ossec-authd is enabled
+ shell: "grep -c 'ossec-authd' /var/ossec/bin/.process_list | xargs echo"
+ args:
+ removes: /var/ossec/bin/.process_list
+ changed_when: False
+ register: authd_enabled
+ tags:
+ - config
+
+- name: Enable ossec-authd
+ command: /var/ossec/bin/ossec-control enable auth
+ notify: restart wazuh-manager
+ when:
+ - authd_enabled.stdout == '0' or "skipped" in authd_enabled.stdout
+ - wazuh_manager_config.authd.enable == true
tags:
- config
@@ -164,7 +179,7 @@
notify: restart wazuh-manager
when:
- wazuh_manager_config.authd.use_password is defined
- - wazuh_manager_config.authd.use_password == true
+ - wazuh_manager_config.authd.use_password == 'yes'
tags:
- config
@@ -178,6 +193,8 @@
no_log: true
notify: restart wazuh-api
when: wazuh_api_user is defined
+ tags:
+ - config
- name: Agentless Hosts & Passwd
template:
@@ -188,10 +205,14 @@
mode: 0644
no_log: true
when: agentless_creeds is defined
+ tags:
+ - config
- name: Encode the secret
shell: /usr/bin/base64 /var/ossec/agentless/.passlist_tmp > /var/ossec/agentless/.passlist && rm /var/ossec/agentless/.passlist_tmp
when: agentless_creeds is defined
+ tags:
+ - config
- name: Ensure Wazuh Manager, wazuh api service is started and enabled
service:
diff --git a/ansible-wazuh-manager/templates/var-ossec-etc-ossec-server.conf.j2 b/ansible-wazuh-manager/templates/var-ossec-etc-ossec-server.conf.j2
index 8f814164..62eaa282 100644
--- a/ansible-wazuh-manager/templates/var-ossec-etc-ossec-server.conf.j2
+++ b/ansible-wazuh-manager/templates/var-ossec-etc-ossec-server.conf.j2
@@ -1,4 +1,4 @@
-#jinja2: trim_blocks:False
+#jinja2: trim_blocks: False
{{ wazuh_manager_config.syscheck.frequency }}
{{ wazuh_manager_config.syscheck.scan_on_start }}
diff --git a/ansible-wazuh-manager/templates/var-ossec-etc-shared-agent.conf.j2 b/ansible-wazuh-manager/templates/var-ossec-etc-shared-agent.conf.j2
index 7cc02748..a45a95d8 100644
--- a/ansible-wazuh-manager/templates/var-ossec-etc-shared-agent.conf.j2
+++ b/ansible-wazuh-manager/templates/var-ossec-etc-shared-agent.conf.j2
@@ -1,7 +1,10 @@
+#jinja2: trim_blocks: False
{% if wazuh_agent_configs is defined %}
{% for agent_config in wazuh_agent_configs %}
+ {{ agent_config.syscheck.auto_ignore }}
+ {{ agent_config.syscheck.alert_new_files }}
{{ agent_config.syscheck.frequency }}
{{ agent_config.syscheck.scan_on_start }}
diff --git a/ansible-wazuh-manager/templates/var-ossec-rules-local_rules.xml.j2 b/ansible-wazuh-manager/templates/var-ossec-rules-local_rules.xml.j2
index 76001f2e..db0b000a 100644
--- a/ansible-wazuh-manager/templates/var-ossec-rules-local_rules.xml.j2
+++ b/ansible-wazuh-manager/templates/var-ossec-rules-local_rules.xml.j2
@@ -1,5 +1,17 @@
+
+
+
+ syscheck
+ /var/ossec/etc/shared/agent.conf
+ agent.conf was modified
+
+
+