195 lines
4.5 KiB
Markdown
195 lines
4.5 KiB
Markdown
Role Name
|
|
=========
|
|
|
|
This role will install the Wazuh server on a host.
|
|
|
|
Requirements
|
|
------------
|
|
|
|
This role will work on:
|
|
* Red Hat
|
|
* Debian
|
|
|
|
So, you'll need one of those operating systems.. :-)
|
|
|
|
Role Variables
|
|
--------------
|
|
|
|
This role has some variables which you can or need to override.
|
|
```
|
|
ossec_server_config: []
|
|
ossec_agent_configs: []
|
|
```
|
|
|
|
|
|
|
|
---
|
|
user: "jose:$apr1$XSwG938n$tDxKvaCBx5C/kdU2xXP3K."
|
|
|
|
|
|
###Example setup
|
|
|
|
Edit the vars file for the host which runs the ossec-server:
|
|
### host_vars/ossec-server
|
|
```
|
|
ossec_server_config:
|
|
mail_to:
|
|
- me@example.com
|
|
mail_smtp_server: localhost
|
|
mail_from: ossec@example.com
|
|
frequency_check: 43200
|
|
syscheck_scan_on_start: 'yes'
|
|
ignore_files:
|
|
- /etc/mtab
|
|
- /etc/mnttab
|
|
- /etc/hosts.deny
|
|
- /etc/mail/statistics
|
|
- /etc/random-seed
|
|
- /etc/random.seed
|
|
- /etc/adjtime
|
|
- /etc/httpd/logs
|
|
- /etc/utmpx
|
|
- /etc/wtmpx
|
|
- /etc/cups/certs
|
|
- /etc/dumpdates
|
|
- /etc/svc/volatile
|
|
no_diff:
|
|
- /etc/ssl/private.key
|
|
directories:
|
|
- check_all: 'yes'
|
|
dirs: /etc,/usr/bin,/usr/sbin
|
|
- check_all: 'yes'
|
|
dirs: /bin,/sbin
|
|
localfiles:
|
|
- format: 'syslog'
|
|
location: '/var/log/messages'
|
|
- format: 'syslog'
|
|
location: '/var/log/secure'
|
|
- format: 'command'
|
|
command: 'df -P'
|
|
frequency: '360'
|
|
- format: 'full_command'
|
|
command: 'netstat -tln | grep -v 127.0.0.1 | sort'
|
|
frequency: '360'
|
|
- format: 'full_command'
|
|
command: 'last -n 20'
|
|
frequency: '360'
|
|
globals:
|
|
- '127.0.0.1'
|
|
- '192.168.2.1'
|
|
connection:
|
|
- type: 'secure'
|
|
port: '1514'
|
|
protocol: 'udp'
|
|
log_level: 1
|
|
email_level: 12
|
|
commands:
|
|
- name: 'disable-account'
|
|
executable: 'disable-account.sh'
|
|
expect: 'user'
|
|
timeout_allowed: 'yes'
|
|
- name: 'restart-ossec'
|
|
executable: 'restart-ossec.sh'
|
|
expect: ''
|
|
timeout_allowed: 'no'
|
|
- name: 'firewall-drop'
|
|
executable: 'firewall-drop.sh'
|
|
expect: 'srcip'
|
|
timeout_allowed: 'yes'
|
|
- name: 'host-deny'
|
|
executable: 'host-deny.sh'
|
|
expect: 'srcip'
|
|
timeout_allowed: 'yes'
|
|
- name: 'route-null'
|
|
executable: 'route-null.sh'
|
|
expect: 'srcip'
|
|
timeout_allowed: 'yes'
|
|
- name: 'win_route-null'
|
|
executable: 'route-null.cmd'
|
|
expect: 'srcip'
|
|
timeout_allowed: 'yes'
|
|
active_responses:
|
|
- command: 'host-deny'
|
|
location: 'local'
|
|
level: 6
|
|
timeout: 600
|
|
|
|
ossec_agent_configs:
|
|
- type: os
|
|
type_value: linux
|
|
frequency_check: 79200
|
|
ignore_files:
|
|
- /etc/mtab
|
|
- /etc/mnttab
|
|
- /etc/hosts.deny
|
|
- /etc/mail/statistics
|
|
- /etc/svc/volatile
|
|
directories:
|
|
- check_all: yes
|
|
dirs: /etc,/usr/bin,/usr/sbin
|
|
- check_all: yes
|
|
dirs: /bin,/sbin
|
|
localfiles:
|
|
- format: 'syslog'
|
|
location: '/var/log/messages'
|
|
- format: 'syslog'
|
|
location: '/var/log/secure'
|
|
- format: 'syslog'
|
|
location: '/var/log/maillog'
|
|
- format: 'apache'
|
|
location: '/var/log/httpd/error_log'
|
|
- format: 'apache'
|
|
location: '/var/log/httpd/access_log'
|
|
- format: 'apache'
|
|
location: '/var/ossec/logs/active-responses.log'
|
|
```
|
|
|
|
####ossec_server_config:
|
|
At first, there is the server configuration. Change it for your needs, as this default setup won't do any good for you. (You don't have access to use the mail.example.com mailhost. :-))
|
|
|
|
|
|
####ossec_agent_configs:
|
|
http://ossec-docs.readthedocs.org/en/latest/manual/agent/agent-configuration.html
|
|
|
|
There are 3 "types":
|
|
* os
|
|
* name
|
|
* profile
|
|
|
|
In the above setup, the type is os. And this configuration is for the "linux" os. You can have several types configured in the host_vars file, so you can create all kind of different configs.
|
|
|
|
You can find here some more information about the ossec shared agent configuration: http://ossec-docs.readthedocs.org/en/latest/manual/syscheck/
|
|
|
|
#### <_role_>/vars/main.yml
|
|
nil
|
|
|
|
Dependencies
|
|
------------
|
|
|
|
No dependencies.
|
|
|
|
Example Playbook
|
|
----------------
|
|
|
|
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
|
|
|
- hosts: ossec-server.example.com
|
|
roles:
|
|
- { role: ansible-wazuh-manager }
|
|
|
|
License
|
|
-------
|
|
|
|
GPLv3
|
|
|
|
Author Information
|
|
------------------
|
|
|
|
Please send suggestion or pull requests to make this role better.
|
|
|
|
Github: https://github.com/dj-wasabi/ansible-ossec-server
|
|
|
|
mail: ikben [ at ] werner-dijkerman . nl
|
|
|
|
Modificated by **Wazuh**
|