Compare commits

...

167 Commits

Author SHA1 Message Date
AlfonsoRBJ
8913df6284 Bump version 3732 2019-01-04 11:53:19 +01:00
AlfonsoRBJ
b8294dba69 Update CHANGELOG.md 2019-01-04 11:52:43 +01:00
AlfonsoRBJ
5123f92551 Kibana env variables (#89) 2019-01-03 16:10:32 +01:00
Jesús Linares
81035c39db Update Filebeat configuration (#88) 2019-01-03 15:37:48 +01:00
AlfonsoRBJ
70e491fa6f Bump version 3731 2018-12-28 12:25:15 +01:00
AlfonsoRBJ
57fd4d8859 Update CHANGELOG.md 2018-12-28 12:24:41 +01:00
AlfonsoRBJ
7c9ee9b256 Bump version 3730 2018-12-28 12:24:00 +01:00
AlfonsoRBJ
f3655b1360 Update CHANGELOG.md 2018-12-28 12:23:38 +01:00
AlfonsoRBJ
0cc8be2142 Merge pull request #86 from wazuh/nginx-credentials-env
Add env credentials for nginx
2018-12-28 11:50:46 +01:00
AlfonsoRBJ
dff13dfc7a fix indent 2018-12-28 11:48:27 +01:00
AlfonsoRBJ
ab90a9a95b add env credentials for nginx 2018-12-28 11:43:31 +01:00
AlfonsoRBJ
7a9b32fbd9 Merge pull request #84 from wazuh/cluster-hostname-k8s
Temporary fix for Wazuh cluster master node in Kubernetes
2018-12-27 12:49:55 +01:00
AlfonsoRBJ
ef5fbe15a5 Temporary fix for Wazuh cluster master node in K8S 2018-12-27 12:46:57 +01:00
AlfonsoRBJ
a8e1661aa6 Bump version 3729 2018-12-21 11:46:06 +01:00
AlfonsoRBJ
c7abb4239f Update CHANGELOG.md 2018-12-21 11:45:12 +01:00
AlfonsoRBJ
68b4703f7a Update Elastic Stack to version 6.5.4 2018-12-21 11:43:39 +01:00
AlfonsoRBJ
2e66d5f3ee Merge pull request #82 from wazuh/Update-to-Elastic-6.5.4
Update Elastic Stack version to 6.5.4
2018-12-21 11:42:21 +01:00
AlfonsoRBJ
020047aa8f Update Elastic Stack version to 6.5.4 2018-12-21 11:40:19 +01:00
Jesus Linares
2a03d08a5b Update changelog 2018-12-20 11:39:23 -05:00
AlfonsoRBJ
40a74df00d Bump version 3728 2018-12-20 13:26:02 +01:00
AlfonsoRBJ
05fa996ffd Update CHANGELOG.md 2018-12-20 13:25:36 +01:00
AlfonsoRBJ
edd2e250e8 Update CHANGELOG.md 2018-12-20 13:24:48 +01:00
AlfonsoRBJ
5e3b25aa95 Merge pull request #81 from wazuh/Issue_68-AWS_error
Erasing temporary fix for AWS integration
2018-12-20 13:23:46 +01:00
AlfonsoRBJ
49663b71bb Update VERSION 2018-12-20 13:22:08 +01:00
AlfonsoRBJ
77f123460e Update CHANGELOG.md 2018-12-20 13:21:33 +01:00
AlfonsoRBJ
458bfcde09 Update CHANGELOG.md 2018-12-20 13:21:16 +01:00
AlfonsoRBJ
12bb0cba4a Merge pull request #80 from LuisGi93/3.7.2_6.5.3
entrypoint.sh updated so docker upgrade is posible
2018-12-20 13:19:09 +01:00
cadoming
608b25df4c erasing temporary fix for AWS integration 2018-12-20 12:02:14 +00:00
LuisGi93
7cce0d9c9e entrypoint.sh updated so docker upgrade is posible 2018-12-19 20:05:33 +01:00
AlfonsoRBJ
cd0d180c93 Update Wazuh version 3.7.2 2018-12-18 18:28:02 +01:00
AlfonsoRBJ
16335e1f70 Bump version 3726 2018-12-17 11:19:26 +01:00
AlfonsoRBJ
e3e81a4671 Update Wazuh-Docker to 3.7.1_6.5.3 2018-12-17 11:14:34 +01:00
Javier Castro
6fbae577dd Using etc folder as a mounting point (#73) 2018-11-26 15:56:36 +01:00
Jesus Linares
5b5c6200bb Update changelog and bump version 2018-11-23 12:23:16 -05:00
AlfonsoRBJ
63a85e84a8 Bump Version 3.7.0_6.5.0 3700 2018-11-23 18:17:55 +01:00
AlfonsoRBJ
bd162140a9 Update CHANGELOG.md 2018-11-23 17:55:16 +01:00
AlfonsoRBJ
b140600d25 Update Elastick Stack to 6.5.0 2018-11-23 11:33:12 +01:00
AlfonsoRBJ
f5037c392e Merge pull request #71 from jlruizmlg/patch-1
Update branch to apply the template
2018-11-23 10:34:14 +01:00
AlfonsoRBJ
9ef497f426 Merge pull request #72 from wazuh/3.7.0_6.4.3
Update master to 3.7.0 6.4.3
2018-11-23 10:27:14 +01:00
José Luis Ruiz
aa38747e7c Update branch to apply the template
This commit fixes the branch name where pull the template from Elastic.
2018-11-22 10:48:04 +01:00
AlfonsoRBJ
322c9520f9 New repository content (#70) 2018-11-19 09:34:59 +01:00
AlfonsoRBJ
6f355f0405 Add compatiblity with AWS-integration (#69) 2018-11-19 09:34:16 +01:00
AlfonsoRBJ
2d1f61e5b5 Merge pull request #67 from wazuh/smtp-packages
Added SMTP packages
2018-11-16 16:05:12 +01:00
AlfonsoRBJ
fb0409697f Update docker-compose.yml
When merging the code, the build section for the wazuh container will not be necessary.
2018-11-16 16:03:49 +01:00
AlfonsoRBJ
c4237ad894 ossec-init.conf must not be included
As soon as it is updated, this file will show the old version.
2018-11-16 10:13:01 +01:00
AlfonsoRBJ
002cf2fbff ossec-init.conf must not be included
As soon as it is updated, this file will show the old version.
2018-11-16 09:41:36 +01:00
AlfonsoRBJ
9f0643f456 Added SMTP packages
We have added the SMTP packages that are missing.

For its installation we have to add the universe repository.
2018-11-13 14:51:14 +01:00
Vikman Fernandez-Castro
69da45fc9d Update list of shared directories 2018-11-11 13:27:39 +01:00
Vikman Fernandez-Castro
a441251d1a Update to Wazuh 3.7.0 and Elastic 6.4.3 2018-11-11 13:26:01 +01:00
AlfonsoRBJ
1c0d2e2147 Merge pull request #65 from wazuh/3.6.1_6.4.2_upgrade
3.6.1 6.4.2 upgrade
2018-11-06 17:14:43 +01:00
AlfonsoRBJ
59831ffb07 Update data_dirs.env 2018-11-06 15:21:35 +01:00
AlfonsoRBJ
92cfd70ad0 Merge pull request #61 from forana/ossec-home-dir
Set ossec user's home path
2018-11-06 11:32:36 +01:00
AlfonsoRBJ
ee885299c7 Merge pull request #60 from forana/license
added license file to match https://github.com/wazuh/wazuh
2018-11-06 09:02:48 +01:00
AlfonsoRBJ
dd98a6d849 Merge pull request #59 from forana/nginx-note
added description for wazuh-nginx
2018-11-05 16:48:26 +01:00
AlfonsoRBJ
3668ff8842 Merge pull request #55 from forana/filebeat-harvester
updated logstash config to remove deprecation warnings
2018-11-05 16:36:47 +01:00
AlfonsoRBJ
4eb99e978c Merge pull request #51 from wazuh/fix-nginx-kibana-6.4.0
Increased proxy buffer for NGINX Kibana
2018-11-05 12:34:16 +01:00
AlfonsoRBJ
440bbbe49b Merge pull request #58 from forana/custom-hooks
Allow custom scripts or commands before service start
2018-10-30 13:00:00 +01:00
AlfonsoRBJ
8e4386b8ac Update wazuh/config/data_dirs.env
We export to the volume only the files necessary to update Wazuh's manager.
2018-10-26 15:39:51 +02:00
havidarou
89ff11e9b3 Limiting Wazuh persistent information 2018-10-25 01:21:49 +00:00
forana
e373fac732 fixed duplication 2018-10-22 09:20:52 -05:00
migruiz4
b027b32a34 add output for custom command execution
Co-Authored-By: forana <alex@alexforan.com>
2018-10-19 13:54:12 -05:00
AlfonsoRBJ
b23c195f1b Merge pull request #62 from wazuh/entrypoint_instead_run
Fixed script reference
2018-10-17 14:01:21 +02:00
alberpilot
7d777ada17 Restored configuration yml 2018-10-17 11:52:14 +00:00
alberpilot
c6165e1521 Fixed script reference 2018-10-17 11:49:00 +00:00
forana
14db93571e set ossec user's home path 2018-10-11 17:53:38 -05:00
Jose Luis Ruiz
6652736b62 Fixed docker-compose.yml 2018-10-07 09:40:46 -10:00
Jose Luis Ruiz
6389b57a50 Update to Wazuh 3.6.1 and Elastic Stack 6.4.2 2018-10-07 09:39:18 -10:00
forana
d548f4e547 added license file to match https://github.com/wazuh/wazuh 2018-10-02 08:32:55 -05:00
forana
fc93bd5230 added description for wazuh-nginx 2018-10-02 08:29:34 -05:00
forana
cc18838481 allow custom scripts or commands 2018-10-02 07:43:08 -05:00
forana
373e6ee493 updated logstash config to remove deprecation warnings 2018-10-02 06:49:19 -05:00
Jose Luis Ruiz
80184b5c49 Update to Wazuh 3.6.1 and Elastic Stack 6.4.1 2018-09-29 09:01:06 -10:00
AlfonsoRBJ
f308ddcaab Merge pull request #53 from wazuh/fix-typo-kibana-chown
Fix typo in Kibana chown command
2018-09-24 16:45:11 +02:00
Jesús Ángel
d6bbc3db77 Fix typo 2018-09-24 09:26:36 +02:00
Jesús Ángel
d1670c5fe9 Increased proxy buffer for NGINX-Kibana 2018-09-17 09:11:47 +02:00
Jose Luis Ruiz
f14642ac1a Update to Wazuh 3.6.1 and Elastic Stack 6.4.0 2018-09-12 01:04:47 -04:00
Jose Luis Ruiz
04e0d4793a Upgrade Wazuh to 3.6.0 and Wazuh APP to 3.6.0_6.4.0 2018-08-30 10:09:22 -04:00
José Luis Ruiz
d514ab7830 Update README.md 2018-08-21 16:18:20 -04:00
José Luis Ruiz Ruiz
9ef39510fc Update Wazuh to v3.5.0 2018-08-11 10:25:10 -04:00
José Luis Ruiz Ruiz
9a3a89abdc Upgrade ELastic Stack to 6.3.2 2018-08-01 17:11:53 -04:00
José Luis Ruiz
8ddcda6e84 Merge pull request #48 from wirabdillah/fix-wazuh-kibana-version
Fix wazuh/wazuh-kibana image version to 3.4.0_6.3.1
2018-07-26 09:14:35 -04:00
Wira Abdillah S
915a395557 Fix wazuh/wazuh-kibana image version to 3.4.0_6.3.1 2018-07-26 19:18:25 +07:00
José Luis Ruiz Ruiz
b927c98585 Fixed logstash template and docker-compose.yml versions 2018-07-25 17:20:43 -04:00
José Luis Ruiz Ruiz
74c2948bc8 Update Kibana app to version 3.4.0_6.3.1 2018-07-24 20:17:33 -04:00
José Luis Ruiz Ruiz
b702c67865 Upgrade Wazuh-manager to 3.4.0 2018-07-24 17:19:04 -04:00
José Luis Ruiz
4575c30a00 Merge pull request #47 from rafadvega/master
Fixed bad permissions in filebeat.yml
2018-07-21 09:58:30 -04:00
Rafael de Vega
5c39d1f0ea Fixed bad permissions in filebeat.yml 2018-07-21 12:22:49 +02:00
José Luis Ruiz Ruiz
357a17e791 Update Elastic Stack to version non -oss, this option enable x-pack 2018-07-17 18:03:18 +02:00
José Luis Ruiz
f1a2762984 Update template version. 2018-07-17 17:25:19 +02:00
Miguelangel Freitas
7200d6f9c2 Using fixed containers versions 2018-07-15 17:49:32 -05:00
Miguelangel Freitas
23d0cb7f63 Enabling extra Wazuh APP extensions 2018-07-15 17:49:29 -05:00
José Luis Ruiz Ruiz
e03b222f05 Upgrade to Wazuh 3.3.1 and Elastic Stack 6.3.1 2018-07-11 15:16:48 +02:00
Miguelangel Freitas
4050621326 Updating logstash configuration 2018-07-02 08:13:04 -05:00
José Luis Ruiz Ruiz
36cc2607a7 Kibana version fixed 2018-06-29 21:03:55 +02:00
José Luis Ruiz Ruiz
b91e9ba308 Upgrade Wazuh Manager to 3.3.1 and Elastic Stack 6.3.0 2018-06-29 20:41:11 +02:00
José Luis Ruiz Ruiz
9829b98cae Upgrade Wazuh Manager to 3.3.1 2018-06-25 16:03:38 +02:00
Miguelangel Freitas
073bf284f3 Updating README.md 2018-06-11 22:32:15 +00:00
Miguelangel Freitas
6dacfbcc40 Upgrade Wazuh to 3.3.0 2018-06-11 22:30:57 +00:00
José Luis Ruiz
2f91f5aa10 Update APP version 2018-06-08 16:37:13 +02:00
José Luis Ruiz Ruiz
2016322c0a Upgrade Wazuh version 2018-06-04 21:15:45 +02:00
José Luis Ruiz Ruiz
fec53979ea Upgrade Wazuh to 3.2.3 2018-05-28 23:07:05 +02:00
Miguelangel Freitas
ee3ff4847b Update License and copyright, thanks @jlruizmlg 2018-05-16 02:39:54 +00:00
Miguelangel Freitas
290ea29c1d Upgrade Elastic Stack and Wazuh-APP version to 3.2.2_6.2.4, thanks @jlruizmlg 2018-05-16 02:39:54 +00:00
Miguelangel Freitas
711c3c0f8e Refactoring wazuh/wazuh-logstash container 2018-05-16 02:39:54 +00:00
Miguelangel Freitas
70171d490d Refactoring wazuh/wazuh-kibana container 2018-05-16 02:39:54 +00:00
Miguelangel Freitas
0df2367e7a Refactoring wazuh/wazuh-nginx container 2018-05-16 02:39:50 +00:00
Miguelangel Freitas
efb5f9ef04 Refactoring wazuh/wazuh container 2018-04-20 17:14:43 -05:00
Miguelangel Freitas
97c7b82aec Merge pull request #44 from augustine-urolime/patch-1
Update Dockerfile
2018-04-20 17:10:25 -05:00
augustine-urolime
a9e16e79a9 Update Dockerfile
nginx copy command fix
2018-04-13 22:37:56 +05:30
José Luis Ruiz
9294617a0e Update Wazuh Cluster port 2018-04-11 19:23:26 -04:00
José Luis Ruiz
8408f401d5 Update Dockerfile
Enable port 1516/TCP in order to create a Wazuh Cluster.
2018-04-11 19:19:42 -04:00
José Luis Ruiz Ruiz
575708310b Update docker to Wazug 3.2.1 Elastic 6.2.3 2018-04-04 15:23:59 -04:00
Miguelangel Freitas
15f7ce98d9 Updating versions on README.md 2018-03-24 18:12:18 -05:00
Miguelangel Freitas
fd18a00429 Updating containers to latest versions. 2018-03-22 17:43:11 +00:00
Miguelangel Freitas
9a4c409a0a Static versions for wazuh-manager and wazuh-api 2018-03-21 14:08:31 -05:00
Miguelangel Freitas
57490a50bd Merge pull request #42 from coveord/feature-wazuh-config-mount-point
Add a mount point for custom Wazuh configuration files
2018-03-13 17:25:31 -05:00
Jean-Philippe Lachance
62741c639f ! Fix the "currently supported versions" in the README
! Fix the ossec_shutdown function (/var/ossec/data/bin is not valid)
+ Add a mount point for custom Wazuh configuration files
+ Add documentation for that mount point
2018-03-09 16:56:50 -05:00
José Luis Ruiz
043f8f18de Merge pull request #41 from wazuh/issue-40.1
Issue 40.1
2018-03-01 10:55:34 +01:00
AlfonsoRBJ
ee74f01cba fix 2
fix VOLUME ["/etc/filebeat"]
2018-02-27 16:37:03 +01:00
AlfonsoRBJ
e685128b51 fix
fix  "#   -my-path:/etc/filebeat
2018-02-27 16:27:27 +01:00
José Luis Ruiz Ruiz
8f40340dda Update docker to Wazug 3.2.1 Elastic 6.2.1 2018-02-21 00:13:47 +01:00
Miguelangel Freitas
76945a2698 Increase the default Node.js heap memory. 2018-02-09 14:46:30 -05:00
José Luis Ruiz Ruiz
98007ea2f4 Update to Elastic 6.1.3 2018-02-08 16:14:04 +01:00
José Luis Ruiz
b081ff3bc7 Merge pull request #36 from FloThinksPi/master
Improved Kibana Image to include all Dependencies
2018-02-08 13:33:04 +01:00
Florian Braun
716667be46 Adoptions and Cleanup for new Dockerfile
So i cleaned this up so that the plugin install is gone now as it is done on container image build. Also the image includes the Templates and Sample alerts so i adopted the script to deliver the files via the local files that are included in the container.
2018-02-08 11:22:38 +01:00
Florian Braun
2b3f71aa10 Buildin all dependencies into the Container
We Download and install all external dependencys in our container. So no network intreraction will be required by Kibana on launch of the container. This also saves time on launch as the plugin only has to be installed on container build. So with this dockerfile all stuff is in the image and does not need downloads on deploy.
2018-02-08 11:20:48 +01:00
Florian Braun
74dd541bd8 Cleanup Kibana
Kibana also does not need the environment for downloading the plugin as it is already installed in the image
2018-02-08 11:18:32 +01:00
Florian Braun
8a051b67b0 Removed Proxy in docker-compose.yml
The new Kibana container will be designed to run completely local. no need for proxy anymore
2018-02-08 10:57:35 +01:00
José Luis Ruiz
7da29fa6a9 Merge pull request #35 from FloThinksPi/master
docker-compose fix SELinux and NGINX
2018-02-07 19:06:07 +01:00
Florian Braun
ca1a1bd883 Added Proxy vars to kibana
Kibana needs to download a file when deployed. So there sould be a proxy variable as recommendation that this is what one need in the case of a proxy usage.
2018-02-07 18:22:14 +01:00
Florian Braun
d8fe59901a Added Persistent Volume for NGINX
Nginx should also have a persistent option, so that the .htaccess file gets saved correctly.
It also enables the file to be easily edited because the nginx container has no vi or nano.
2018-02-07 18:20:32 +01:00
Florian Braun
3cae6fe61d Automatically set SELinux
Fixes SELinux issues. Docker-Compose can do this on the fly https://github.com/docker/compose/issues/643
2018-02-07 18:18:58 +01:00
José Luis Ruiz Ruiz
a26f119c73 Upgrade containters to 3.1.0_6.1.2 2018-01-30 17:08:18 +01:00
José Luis Ruiz Ruiz
3d813cb2fe Upgrade containters to 3.1.0_6.1.1 2018-01-07 18:50:37 +01:00
José Luis Ruiz Ruiz
5c7454270e Upgrade to Wazuh 3.1.0 and Kibabna 6.1.0 2017-12-25 16:40:14 -08:00
Santiago Bassett
b8ef822f85 Added badges 2017-12-11 21:49:47 -08:00
José Luis Ruiz
e341391201 Merge pull request #29 from wazuh/2.1.1_5.6.4-remove-old-repo
Remove old Centos repo
2017-11-28 11:25:23 +01:00
Elías Méndez García
c42898e862 Remove old Centos repo 2017-11-28 11:22:15 +01:00
José Luis Ruiz
2663de28a6 Merge pull request #28 from wazuh/dev
Enhancements and fixes
2017-11-24 16:21:46 +01:00
Miguelangel Freitas
d1adafdcde Enabling ossec-authd by default. 2017-11-24 10:07:34 -05:00
Miguelangel Freitas
a866f41ecf Using phusion/baseimage for Wazuh manager, closes #19 2017-11-21 22:12:27 -05:00
Miguelangel Freitas
97a042cfcd Refactoring to new Elastic Stack versions. 2017-11-19 22:42:36 -05:00
Miguelangel Freitas
845398d7c7 Nginx start script path changed 2017-09-26 21:56:41 -04:00
Miguelangel Freitas
6e6912c380 Using Wazuh v2.1.0 2017-09-25 18:50:15 -04:00
Miguelangel Freitas
a2ba029918 Setting wazuh-nginx image 2017-09-25 18:50:02 -04:00
Miguelangel Freitas
160bf4bbe9 Adding Nginx container
* Setting Nginx with SSL and basic auth, closes #20
* Set Content-Type on Kibana API config.
2017-09-24 14:08:02 -04:00
Miguelangel Freitas
a70c127228 Set defaultIndex and API creeds for Kibana, closes #17 2017-09-12 18:28:41 -05:00
Miguelangel Freitas
c2213165f2 Quiet logging for Kibana 2017-09-12 11:14:28 -05:00
José Luis Ruiz
d0565d913a Elastic to version 5.5.2 2017-08-24 14:37:31 -04:00
José Luis Ruiz
d1cb67a822 Upgrade Wazuh version to 2.1.0 2017-08-17 18:46:27 -04:00
Jose Luis
e69d9d0efc Merge pull request #14 from peteralcock/patch-2
Fix ES hostname resolution for kibana/logstash
2017-08-17 15:03:42 -07:00
Peter Alcock
08824ad4a9 Fix ES hostname resolution for kibana/logstash
Without linking the containers with explicitly declared container name mappings, the "elasticsearch" hostname is not being resolved by the kibana or logstash containers. This fixes that.
2017-08-17 14:55:48 -04:00
Jose Luis
a4d4c40ad5 Merge pull request #13 from davidkarlsen/master
Upgrade to ELK 5.5.1
2017-08-03 11:42:07 +02:00
david
84005d8145 Upgrade to ELK 5.5.1 2017-08-03 11:30:47 +02:00
Jose Luis
aef418c75e Merge pull request #12 from davidkarlsen/master
fix docs
2017-08-02 20:18:54 +02:00
david
5cffb99d67 fix docs 2017-08-02 20:12:57 +02:00
Jose Luis Ruiz
1c935bbf07 update to wazuh-2.0.1 and Elastic 5.5.0 2017-07-25 22:30:44 +02:00
Santiago Bassett
38608d1f26 Fixed link names 2017-07-14 11:23:00 -05:00
Santiago Bassett
eae7328f16 Fixed hyperlink 2017-07-14 11:21:52 -05:00
Santiago Bassett
82ef76ed4d Updated README and docker-compose to avoid error with UDP sockets. 2017-07-14 10:34:11 -05:00
Santiago Bassett
548a738d69 Updated README 2017-07-14 09:12:29 -05:00
Jose Luis
bed3307dfc Merge pull request #10 from wazuh/2.0_5.4.2
Merge pull request #9 from wazuh/master
2017-06-21 18:04:23 +02:00
Jose Luis
835466f25b Merge pull request #9 from wazuh/master
Update logstash.conf
2017-06-21 18:04:10 +02:00
Jose Luis
df7c963eab Update logstash.conf 2017-06-21 18:02:47 +02:00
Jose Luis Ruiz
f6ad536e99 fixed wazuh-app version 2017-06-21 15:10:50 +02:00
Jose Luis Ruiz
e6e30ab3aa * Update ELK to version 5.4.2
* Update Wazuh Kibana Plugin to version 2.0_5.4.2
2017-06-21 12:15:48 +02:00
PGarcia
754915cb35 fixing wazuh brand 2017-06-07 15:02:29 -05:00
30 changed files with 1170 additions and 850 deletions

59
CHANGELOG.md Normal file
View File

@@ -0,0 +1,59 @@
# Change Log
All notable changes to this project will be documented in this file.
## Wazuh Docker v3.7.2_6.5.4
### Added
- Add Kibana environmental variables for Wazuh APP config.yml. ([#89](https://github.com/wazuh/wazuh-docker/pull/89))
### Changed
- Update Elastic Stack version to 6.5.4. ([#82](https://github.com/wazuh/wazuh-docker/pull/82))
- Add env credentials for nginx. ([#86](https://github.com/wazuh/wazuh-docker/pull/86))
- Improve filebeat configuration ([#88](https://github.com/wazuh/wazuh-docker/pull/88))
### Fixed
- Temporary fix for Wazuh cluster master node in Kubernetes. ([#84](https://github.com/wazuh/wazuh-docker/pull/84))
## Wazuh Docker v3.7.2_6.5.3
### Changed
- Erasing temporary fix for AWS integration. ([#81](https://github.com/wazuh/wazuh-docker/pull/81))
### Fixed
- Upgrading errors due to wrong files. ([#80](https://github.com/wazuh/wazuh-docker/pull/80))
## Wazuh Docker v3.7.0_6.5.0
### Changed
- Adapt to Elastic stack 6.5.0.
## Wazuh Docker v3.7.0_6.4.3
### Added
- Allow custom scripts or commands before service start ([#58](https://github.com/wazuh/wazuh-docker/pull/58))
- Added description for wazuh-nginx ([#59](https://github.com/wazuh/wazuh-docker/pull/59))
- Added license file to match https://github.com/wazuh/wazuh LICENSE ([#60](https://github.com/wazuh/wazuh-docker/pull/60))
- Added SMTP packages ([#67](https://github.com/wazuh/wazuh-docker/pull/67))
### Changed
- Increased proxy buffer for NGINX Kibana ([#51](https://github.com/wazuh/wazuh-docker/pull/51))
- Updated logstash config to remove deprecation warnings ([#55](https://github.com/wazuh/wazuh-docker/pull/55))
- Set ossec user's home path ([#61](https://github.com/wazuh/wazuh-docker/pull/61))
### Fixed
- Fixed a bug that prevents the API from starting when the Wazuh manager was updated. Change in the files that are stored in the volume. ([#65](https://github.com/wazuh/wazuh-docker/pull/65))
- Fixed script reference ([#62](https://github.com/wazuh/wazuh-docker/pull/62/files))
## Wazuh Docker v3.6.1_6.4.3
Wazuh-Docker starting point.

475
LICENSE Normal file
View File

@@ -0,0 +1,475 @@
Portions Copyright (C) 2018 Wazuh, Inc.
Based on work Copyright (C) 2003 - 2013 Trend Micro, Inc.
This program is a free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License (version 2) as
published by the FSF - Free Software Foundation.
In addition, certain source files in this program permit linking with the
OpenSSL library (http://www.openssl.org), which otherwise wouldn't be allowed
under the GPL. For purposes of identifying OpenSSL, most source files giving
this permission limit it to versions of OpenSSL having a license identical to
that listed in this file (see section "OpenSSL LICENSE" below). It is not
necessary for the copyright years to match between this file and the OpenSSL
version in question. However, note that because this file is an extension of
the license statements of these source files, this file may not be changed
except with permission from all copyright holders of source files in this
program which reference this file.
Note that this license applies to the source code, as well as
decoders, rules and any other data file included with OSSEC (unless
otherwise specified).
For the purpose of this license, we consider an application to constitute a
"derivative work" or a work based on this program if it does any of the
following (list not exclusive):
* Integrates source code/data files from OSSEC.
* Includes OSSEC copyrighted material.
* Includes/integrates OSSEC into a proprietary executable installer.
* Links to a library or executes a program that does any of the above.
This list is not exclusive, but just a clarification of our interpretation
of derived works. These restrictions only apply if you actually redistribute
OSSEC (or parts of it).
We don't consider these to be added restrictions on top of the GPL,
but just a clarification of how we interpret "derived works" as it
applies to OSSEC. This is similar to the way Linus Torvalds has
announced his interpretation of how "derived works" applies to Linux kernel
modules. Our interpretation refers only to OSSEC - we don't speak
for any other GPL products.
* As a special exception, the copyright holders give
* permission to link the code of portions of this program with the
* OpenSSL library under certain conditions as described in each
* individual source file, and distribute linked combinations
* including the two.
* You must obey the GNU General Public License in all respects
* for all of the code used other than OpenSSL. If you modify
* file(s) with this exception, you may extend this exception to your
* version of the file(s), but you are not obligated to do so. If you
* do not wish to do so, delete this exception statement from your
* version. If you delete this exception statement from all source
* files in the program, then also delete it here.
OSSEC HIDS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License Version 2 below for more details.
-----------------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
-------------------------------------------------------------------------------
OpenSSL License
---------------
LICENSE ISSUES
==============
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
the OpenSSL License and the original SSLeay license apply to the toolkit.
See below for the actual license texts. Actually both licenses are BSD-style
Open Source licenses. In case of any license issues related to OpenSSL
please contact openssl-core@openssl.org.
OpenSSL License
---------------
/* ====================================================================
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
Original SSLeay License
-----------------------
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
*
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
*
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* "This product includes cryptographic software written by
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the routines from the library
* being used are not cryptographic related :-).
* 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
*
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/

View File

@@ -1,21 +1,84 @@
# IMPORTANT NOTE # Wazuh containers for Docker
The first time than you runt this container can take a while until kibana finish the configuration, the Wazuh plugin can take a few minutes until finish the instalation, please be patient. [![Slack](https://img.shields.io/badge/slack-join-blue.svg)](https://goo.gl/forms/M2AoZC4b2R9A9Zy12)
[![Email](https://img.shields.io/badge/email-join-blue.svg)](https://groups.google.com/forum/#!forum/wazuh)
[![Documentation](https://img.shields.io/badge/docs-view-green.svg)](https://documentation.wazuh.com)
[![Documentation](https://img.shields.io/badge/web-view-green.svg)](https://wazuh.com)
# Docker container Wazuh + ELK(5.3.0) In this repository you will find the containers to run:
This Docker container source files can be found in our [Wazuh Github repository](https://github.com/wazuh/wazuh). It includes both an OSSEC manager and an Elasticsearch single-node cluster, with Logstash and Kibana. You can find more information on how these components work together in our documentation. * wazuh: It runs the Wazuh manager, Wazuh API and Filebeat (for integration with Elastic Stack)
* wazuh-logstash: It is used to receive alerts generated by the manager and feed Elasticsearch using an alerts template
* wazuh-kibana: Provides a web user interface to browse through alerts data. It includes Wazuh plugin for Kibana, that allows you to visualize agents configuration and status.
* wazuh-nginx: Proxies the Kibana container, adding HTTPS (via self-signed SSL certificate) and [Basic authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Basic_authentication_scheme).
In addition, a docker-compose file is provided to launch the containers mentioned above. It also launches an Elasticsearch container (working as a single-node cluster) using Elastic Stack Docker images.
## Documentation ## Documentation
* [Full documentation](http://documentation.wazuh.com) * [Wazuh full documentation](http://documentation.wazuh.com)
* [Wazug-docker module documentation](https://documentation.wazuh.com/current/docker/index.html) * [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html)
* [Hub docker](https://hub.docker.com/u/wazuh) * [Docker hub](https://hub.docker.com/u/wazuh)
## Credits and thank you ## Current release
These Docker containers are based on "deviantony" dockerfiles which can be found at [https://github.com/deviantony/docker-elk] (https://github.com/deviantony/docker-elk), and "xetus-oss" dockerfiles, which can be found at [https://github.com/xetus-oss/docker-ossec-server](https://github.com/xetus-oss/docker-ossec-server). We created our own fork, which we test and maintain. Thank you Anthony Lapenna for your contribution to the community. Containers are currently tested on Wazuh version 3.7.2 and Elastic Stack version 6.5.4. We will do our best to keep this repository updated to latest versions of both Wazuh and Elastic Stack.
## References ## Directory structure
* [Wazuh website](http://wazuh.com) wazuh-docker
├── docker-compose.yml
├── kibana
│   ├── config
│   │   ├── entrypoint.sh
│   │   └── kibana.yml
│   └── Dockerfile
├── LICENSE
├── logstash
│   ├── config
│   │   ├── 01-wazuh.conf
│   │   └── run.sh
│   └── Dockerfile
├── nginx
│   ├── config
│   │   └── entrypoint.sh
│   └── Dockerfile
├── README.md
├── CHANGELOG.md
├── VERSION
├── test.txt
└── wazuh
├── config
│   ├── data_dirs.env
│   ├── entrypoint.sh
│   ├── filebeat.runit.service
│   ├── filebeat.yml
│   ├── init.bash
│   ├── postfix.runit.service
│   ├── wazuh-api.runit.service
│   └── wazuh.runit.service
└── Dockerfile
## Branches
* `stable` branch on correspond to the last Wazuh-Docker stable version.
* `master` branch contains the latest code, be aware of possible bugs on this branch.
* `Wazuh.Version_ElsaticStack.Version` (for example 3.7.0_6.4.3) branch. This branch contains the current release referenced in Docker Hub. The container images are installed under the current version of this branch.
## Credits and Thank you
These Docker containers are based on:
* "deviantony" dockerfiles which can be found at [https://github.com/deviantony/docker-elk](https://github.com/deviantony/docker-elk)
* "xetus-oss" dockerfiles, which can be found at [https://github.com/xetus-oss/docker-ossec-server](https://github.com/xetus-oss/docker-ossec-server)
We thank you them and everyone else who has contributed to this project.
## License and copyright
Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
## Web references
[Wazuh website](http://wazuh.com)

2
VERSION Normal file
View File

@@ -0,0 +1,2 @@
WAZUH-DOCKER_VERSION="3.7.2_6.5.4"
REVISION="3732"

View File

@@ -1,67 +1,97 @@
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
version: '2' version: '2'
services: services:
wazuh: wazuh:
image: wazuh/wazuh image: wazuh/wazuh:3.7.2_6.5.4
hostname: wazuh-manager hostname: wazuh-manager
restart: always restart: always
ports: ports:
- "1514/udp:1514/udp" - "1514:1514/udp"
- "1515:1515" - "1515:1515"
- "514/udp:514/udp" - "514:514/udp"
- "55000:55000" - "55000:55000"
# - "1516:1516"
networks: networks:
- docker_elk - docker_elk
# volumes: # volumes:
# - my-path:/var/ossec/data # - my-path:/var/ossec/data:Z
# - my-path:/etc/postfix # - my-path:/etc/postfix:Z
# - my-path:/etc/filebeat
# - my-custom-config-path/ossec.conf:/wazuh-config-mount/etc/ossec.conf
# command: ["echo 'hello world'"]
depends_on: depends_on:
- elasticsearch - logstash
logstash: logstash:
image: wazuh/wazuh-logstash image: wazuh/wazuh-logstash:3.7.2_6.5.4
hostname: logstash hostname: logstash
restart: always restart: always
command: -f /etc/logstash/conf.d/
# volumes: # volumes:
# - my-path:/etc/logstash/conf.d # - my-path:/etc/logstash/conf.d:Z
links: links:
- kibana - elasticsearch:elasticsearch
- elasticsearch
ports: ports:
- "5000:5000" - "5000:5000"
networks: networks:
- docker_elk - docker_elk
depends_on: depends_on:
- elasticsearch - elasticsearch
environment: environment:
- LS_HEAP_SIZE=2048m - LS_HEAP_SIZE=2048m
elasticsearch: elasticsearch:
image: elasticsearch:5.3.0 image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
hostname: elasticsearch hostname: elasticsearch
restart: always restart: always
command: elasticsearch -E node.name="node-1" -E cluster.name="wazuh" -E network.host=0.0.0.0
ports: ports:
- "9200:9200" - "9200:9200"
- "9300:9300" # - "9300:9300"
environment: environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g" - node.name=node-1
- cluster.name=wazuh
- network.host=0.0.0.0
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 2g
# volumes: # volumes:
# - my-path:/usr/share/elasticsearch/data # - my-path:/usr/share/elasticsearch/data:Z
networks: networks:
- docker_elk - docker_elk
kibana: kibana:
image: wazuh/wazuh-kibana image: wazuh/wazuh-kibana:3.7.2_6.5.4
hostname: kibana hostname: kibana
restart: always restart: always
ports: # ports:
- "5601:5601" # - "5601:5601"
# environment:
# - ELASTICSEARCH_URL=http://elasticsearch:9200
networks: networks:
- docker_elk - docker_elk
depends_on: depends_on:
- elasticsearch - elasticsearch
entrypoint: sh wait-for-it.sh elasticsearch links:
# environment: - elasticsearch:elasticsearch
# - "WAZUH_KIBANA_PLUGIN_URL=http://your.repo/wazuhapp-2.0_5.3.0.zip" - wazuh:wazuh
nginx:
image: wazuh/wazuh-nginx:3.7.2_6.5.4
hostname: nginx
restart: always
environment:
- NGINX_PORT=443
ports:
- "80:80"
- "443:443"
# volumes:
# - my-path:/etc/nginx/conf.d:Z
networks:
- docker_elk
depends_on:
- kibana
links:
- kibana:kibana
networks: networks:
docker_elk: docker_elk:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

View File

@@ -1,7 +1,52 @@
FROM kibana:5.3.0 # Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
FROM docker.elastic.co/kibana/kibana:6.5.4
ARG WAZUH_APP_VERSION=3.7.2_6.5.4
USER root
RUN apt-get update && apt-get install -y curl ADD https://packages.wazuh.com/wazuhapp/wazuhapp-${WAZUH_APP_VERSION}.zip /tmp
COPY ./config/kibana.yml /opt/kibana/config/kibana.yml ADD https://raw.githubusercontent.com/wazuh/wazuh/3.7/extensions/elasticsearch/wazuh-elastic6-template-alerts.json /usr/share/kibana/config
RUN NODE_OPTIONS="--max-old-space-size=3072" /usr/share/kibana/bin/kibana-plugin install file:///tmp/wazuhapp-${WAZUH_APP_VERSION}.zip &&\
chown -R kibana:kibana /usr/share/kibana &&\
rm -rf /tmp/*
COPY config/entrypoint.sh /entrypoint.sh
RUN chmod 755 /entrypoint.sh
USER kibana
ENV PATTERN="" \
CHECKS_PATTERN="" \
CHECKS_TEMPLATE="" \
CHECKS_API="" \
CHECKS_SETUP="" \
EXTENSIONS_PCI="" \
EXTENSIONS_GDPR="" \
EXTENSIONS_AUDIT="" \
EXTENSIONS_OSCAP="" \
EXTENSIONS_CISCAT="" \
EXTENSIONS_AWS="" \
EXTENSIONS_VIRUSTOTAL="" \
EXTENSIONS_OSQUERY="" \
APP_TIMEOUT="" \
WAZUH_SHARDS="" \
WAZUH_REPLICAS="" \
WAZUH_VERSION_SHARDS="" \
WAZUH_VERSION_REPLICAS="" \
IP_SELECTOR="" \
IP_IGNORE="" \
XPACK_RBAC_ENABLED="" \
WAZUH_MONITORING_ENABLED="" \
WAZUH_MONITORING_FREQUENCY="" \
WAZUH_MONITORING_SHARDS="" \
WAZUH_MONITORING_REPLICAS="" \
ADMIN_PRIVILEGES=""
COPY --chown=kibana:kibana ./config/wazuh_app_config.sh ./
RUN chmod +x ./wazuh_app_config.sh
ENTRYPOINT /entrypoint.sh
COPY config/wait-for-it.sh /

View File

@@ -0,0 +1,59 @@
#!/bin/bash
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
set -e
if [ "x${ELASTICSEARCH_URL}" = "x" ]; then
el_url="http://elasticsearch:9200"
else
el_url="${ELASTICSEARCH_URL}"
fi
until curl -XGET $el_url; do
>&2 echo "Elastic is unavailable - sleeping"
sleep 5
done
>&2 echo "Elastic is up - executing command"
#Insert default templates
cat /usr/share/kibana/config/wazuh-elastic6-template-alerts.json | curl -XPUT "$el_url/_template/wazuh" -H 'Content-Type: application/json' -d @-
sleep 5
echo "Setting API credentials into Wazuh APP"
CONFIG_CODE=$(curl -s -o /dev/null -w "%{http_code}" -XGET $el_url/.wazuh/wazuh-configuration/1513629884013)
if [ "x$CONFIG_CODE" = "x404" ]; then
curl -s -XPOST $el_url/.wazuh/wazuh-configuration/1513629884013 -H 'Content-Type: application/json' -d'
{
"api_user": "foo",
"api_password": "YmFy",
"url": "https://wazuh",
"api_port": "55000",
"insecure": "true",
"component": "API",
"cluster_info": {
"manager": "wazuh-manager",
"cluster": "Disabled",
"status": "disabled"
},
"extensions": {
"oscap": true,
"audit": true,
"pci": true,
"aws": true,
"virustotal": true,
"gdpr": true,
"ciscat": true
}
}
' > /dev/null
else
echo "Wazuh APP already configured"
fi
sleep 5
./wazuh_app_config.sh
sleep 5
/usr/local/bin/kibana-docker

View File

@@ -81,7 +81,7 @@ elasticsearch.url: "http://elasticsearch:9200"
# logging.silent: false # logging.silent: false
# Set the value of this setting to true to suppress all logging output other than error messages. # Set the value of this setting to true to suppress all logging output other than error messages.
# logging.quiet: false logging.quiet: true
# Set the value of this setting to true to log all events, including system usage information # Set the value of this setting to true to log all events, including system usage information
# and all requests. # and all requests.

View File

@@ -1,25 +0,0 @@
#!/bin/bash
set -e
host="$1"
shift
cmd="kibana"
WAZUH_KIBANA_PLUGIN_URL=${WAZUH_KIBANA_PLUGIN_URL:-https://packages.wazuh.com/wazuhapp/wazuhapp-2.0_5.3.0.zip}
until curl -XGET $host:9200; do
>&2 echo "Elastic is unavailable - sleeping"
sleep 1
done
sleep 30
>&2 echo "Elastic is up - executing command"
if /usr/share/kibana/bin/kibana-plugin list | grep wazuh; then
echo "Wazuh APP already installed"
else
/usr/share/kibana/bin/kibana-plugin install ${WAZUH_KIBANA_PLUGIN_URL}
fi
exec $cmd

View File

@@ -0,0 +1,40 @@
#!/bin/bash
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
kibana_config_file="/usr/share/kibana/plugins/wazuh/config.yml"
declare -A CONFIG_MAP=(
[pattern]=$PATTERN
[checks.pattern]=$CHECKS_PATTERN
[checks.template]=$CHECKS_TEMPLATE
[checks.api]=$CHECKS_API
[checks.setup]=$CHECKS_SETUP
[extensions.pci]=$EXTENSIONS_PCI
[extensions.gdpr]=$EXTENSIONS_GDPR
[extensions.audit]=$EXTENSIONS_AUDIT
[extensions.oscap]=$EXTENSIONS_OSCAP
[extensions.ciscat]=$EXTENSIONS_CISCAT
[extensions.aws]=$EXTENSIONS_AWS
[extensions.virustotal]=$EXTENSIONS_VIRUSTOTAL
[extensions.osquery]=$EXTENSIONS_OSQUERY
[timeout]=$APP_TIMEOUT
[wazuh.shards]=$WAZUH_SHARDS
[wazuh.replicas]=$WAZUH_REPLICAS
[wazuh-version.shards]=$WAZUH_VERSION_SHARDS
[wazuh-version.replicas]=$WAZUH_VERSION_REPLICAS
[ip.selector]=$IP_SELECTOR
[ip.ignore]=$IP_IGNORE
[xpack.rbac.enabled]=$XPACK_RBAC_ENABLED
[wazuh.monitoring.enabled]=$WAZUH_MONITORING_ENABLED
[wazuh.monitoring.frequency]=$WAZUH_MONITORING_FREQUENCY
[wazuh.monitoring.shards]=$WAZUH_MONITORING_SHARDS
[wazuh.monitoring.replicas]=$WAZUH_MONITORING_REPLICAS
[admin]=$ADMIN_PRIVILEGES
)
for i in "${!CONFIG_MAP[@]}"
do
if [ "${CONFIG_MAP[$i]}" != "" ]; then
sed -i 's/.*#'"$i"'.*/'"$i"': '"${CONFIG_MAP[$i]}"'/' $kibana_config_file
fi
done

View File

@@ -1,12 +1,6 @@
FROM logstash:5.3.0 # Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
FROM docker.elastic.co/logstash/logstash:6.5.4
RUN apt-get update RUN rm -f /usr/share/logstash/pipeline/logstash.conf
COPY config/logstash.conf /etc/logstash/conf.d/logstash.conf COPY config/01-wazuh.conf /usr/share/logstash/pipeline/01-wazuh.conf
COPY config/wazuh-elastic5-template.json /etc/logstash/wazuh-elastic5-template.json
ADD config/run.sh /tmp/run.sh
RUN chmod 755 /tmp/run.sh
ENTRYPOINT ["/tmp/run.sh"]

View File

@@ -0,0 +1,45 @@
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
# Wazuh - Logstash configuration file
## Remote Wazuh Manager - Filebeat input
input {
beats {
port => 5000
codec => "json_lines"
# ssl => true
# ssl_certificate => "/etc/logstash/logstash.crt"
# ssl_key => "/etc/logstash/logstash.key"
}
}
filter {
if [data][srcip] {
mutate {
add_field => [ "@src_ip", "%{[data][srcip]}" ]
}
}
if [data][aws][sourceIPAddress] {
mutate {
add_field => [ "@src_ip", "%{[data][aws][sourceIPAddress]}" ]
}
}
}
filter {
geoip {
source => "@src_ip"
target => "GeoLocation"
fields => ["city_name", "country_name", "region_name", "location"]
}
date {
match => ["timestamp", "ISO8601"]
target => "@timestamp"
}
mutate {
remove_field => [ "timestamp", "beat", "input_type", "tags", "count", "@version", "log", "offset", "type", "@src_ip", "host"]
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "wazuh-alerts-3.x-%{+YYYY.MM.dd}"
document_type => "wazuh"
}
}

View File

@@ -1,42 +0,0 @@
# Wazuh - Logstash configuration file
## Remote Wazuh Manager - Filebeat input
input {
beats {
port => 5000
codec => "json_lines"
# ssl => true
# ssl_certificate => "/etc/logstash/logstash.crt"
# ssl_key => "/etc/logstash/logstash.key"
}
}
## Local Wazuh Manager - JSON file input
#input {
# file {
# type => "wazuh-alerts"
# path => "/var/ossec/data/logs/alerts/alerts.json"
# codec => "json"
# }
#}
filter {
geoip {
source => "srcip"
target => "GeoLocation"
}
date {
match => ["timestamp", "ISO8601"]
target => "@timestamp"
}
mutate {
remove_field => [ "timestamp", "beat", "fields", "input_type", "tags", "count" ]
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "wazuh-alerts-%{+YYYY.MM.dd}"
document_type => "wazuh"
template => "/etc/logstash/wazuh-elastic5-template.json"
template_name => "wazuh"
template_overwrite => true
}
}

View File

@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
# #
# OSSEC container bootstrap. See the README for information of the environment # OSSEC container bootstrap. See the README for information of the environment
# variables expected by this script. # variables expected by this script.

View File

@@ -1,620 +0,0 @@
{
"order": 0,
"template": "wazuh*",
"settings": {
"index.refresh_interval": "5s"
},
"mappings": {
"wazuh": {
"dynamic_templates": [
{
"string_as_keyword": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword",
"doc_values": "true"
}
}
}
],
"properties": {
"@timestamp": {
"type": "date",
"format": "dateOptionalTime"
},
"@version": {
"type": "text"
},
"agent": {
"properties": {
"ip": {
"type": "keyword",
"doc_values": "true"
},
"id": {
"type": "keyword",
"doc_values": "true"
},
"name": {
"type": "keyword",
"doc_values": "true"
}
}
},
"manager": {
"properties": {
"name": {
"type": "keyword",
"doc_values": "true"
}
}
},
"dstuser": {
"type": "keyword",
"doc_values": "true"
},
"AlertsFile": {
"type": "keyword",
"doc_values": "true"
},
"full_log": {
"type": "text"
},
"previous_log": {
"type": "text"
},
"GeoLocation": {
"properties": {
"area_code": {
"type": "long"
},
"city_name": {
"type": "keyword",
"doc_values": "true"
},
"continent_code": {
"type": "text"
},
"coordinates": {
"type": "double"
},
"country_code2": {
"type": "text"
},
"country_code3": {
"type": "text"
},
"country_name": {
"type": "keyword",
"doc_values": "true"
},
"dma_code": {
"type": "long"
},
"ip": {
"type": "keyword",
"doc_values": "true"
},
"latitude": {
"type": "double"
},
"location": {
"type": "geo_point"
},
"longitude": {
"type": "double"
},
"postal_code": {
"type": "keyword"
},
"real_region_name": {
"type": "keyword",
"doc_values": "true"
},
"region_name": {
"type": "keyword",
"doc_values": "true"
},
"timezone": {
"type": "text"
}
}
},
"host": {
"type": "keyword",
"doc_values": "true"
},
"syscheck": {
"properties": {
"path": {
"type": "keyword",
"doc_values": "true"
},
"sha1_before": {
"type": "keyword",
"doc_values": "true"
},
"sha1_after": {
"type": "keyword",
"doc_values": "true"
},
"uid_before": {
"type": "keyword",
"doc_values": "true"
},
"uid_after": {
"type": "keyword",
"doc_values": "true"
},
"gid_before": {
"type": "keyword",
"doc_values": "true"
},
"gid_after": {
"type": "keyword",
"doc_values": "true"
},
"perm_before": {
"type": "keyword",
"doc_values": "true"
},
"perm_after": {
"type": "keyword",
"doc_values": "true"
},
"md5_after": {
"type": "keyword",
"doc_values": "true"
},
"md5_before": {
"type": "keyword",
"doc_values": "true"
},
"gname_after": {
"type": "keyword",
"doc_values": "true"
},
"gname_before": {
"type": "keyword",
"doc_values": "true"
},
"inode_after": {
"type": "keyword",
"doc_values": "true"
},
"inode_before": {
"type": "keyword",
"doc_values": "true"
},
"mtime_after": {
"type": "date",
"format": "dateOptionalTime",
"doc_values": "true"
},
"mtime_before": {
"type": "date",
"format": "dateOptionalTime",
"doc_values": "true"
},
"uname_after": {
"type": "keyword",
"doc_values": "true"
},
"uname_before": {
"type": "keyword",
"doc_values": "true"
},
"size_before": {
"type": "long",
"doc_values": "true"
},
"size_after": {
"type": "long",
"doc_values": "true"
},
"diff": {
"type": "keyword",
"doc_values": "true"
},
"event": {
"type": "keyword",
"doc_values": "true"
}
}
},
"location": {
"type": "keyword",
"doc_values": "true"
},
"message": {
"type": "text"
},
"offset": {
"type": "keyword"
},
"rule": {
"properties": {
"description": {
"type": "keyword",
"doc_values": "true"
},
"groups": {
"type": "keyword",
"doc_values": "true"
},
"level": {
"type": "long",
"doc_values": "true"
},
"id": {
"type": "keyword",
"doc_values": "true"
},
"cve": {
"type": "keyword",
"doc_values": "true"
},
"info": {
"type": "keyword",
"doc_values": "true"
},
"frequency": {
"type": "long",
"doc_values": "true"
},
"firedtimes": {
"type": "long",
"doc_values": "true"
},
"cis": {
"type": "keyword",
"doc_values": "true"
},
"pci_dss": {
"type": "keyword",
"doc_values": "true"
}
}
},
"decoder": {
"properties": {
"parent": {
"type": "keyword",
"doc_values": "true"
},
"name": {
"type": "keyword",
"doc_values": "true"
},
"ftscomment": {
"type": "keyword",
"doc_values": "true"
},
"fts": {
"type": "long",
"doc_values": "true"
},
"accumulate": {
"type": "long",
"doc_values": "true"
}
}
},
"srcip": {
"type": "keyword",
"doc_values": "true"
},
"protocol": {
"type": "keyword",
"doc_values": "true"
},
"action": {
"type": "keyword",
"doc_values": "true"
},
"dstip": {
"type": "keyword",
"doc_values": "true"
},
"dstport": {
"type": "keyword",
"doc_values": "true"
},
"srcuser": {
"type": "keyword",
"doc_values": "true"
},
"program_name": {
"type": "keyword",
"doc_values": "true"
},
"id": {
"type": "keyword",
"doc_values": "true"
},
"status": {
"type": "keyword",
"doc_values": "true"
},
"command": {
"type": "keyword",
"doc_values": "true"
},
"url": {
"type": "keyword",
"doc_values": "true"
},
"data": {
"type": "keyword",
"doc_values": "true"
},
"system_name": {
"type": "keyword",
"doc_values": "true"
},
"type": {
"type": "text"
},
"title": {
"type": "keyword",
"doc_values": "true"
},
"oscap": {
"properties": {
"check.title": {
"type": "keyword",
"doc_values": "true"
},
"check.id": {
"type": "keyword",
"doc_values": "true"
},
"check.result": {
"type": "keyword",
"doc_values": "true"
},
"check.severity": {
"type": "keyword",
"doc_values": "true"
},
"check.description": {
"type": "text"
},
"check.rationale": {
"type": "text"
},
"check.references": {
"type": "text"
},
"check.identifiers": {
"type": "text"
},
"check.oval.id": {
"type": "keyword",
"doc_values": "true"
},
"scan.id": {
"type": "keyword",
"doc_values": "true"
},
"scan.content": {
"type": "keyword",
"doc_values": "true"
},
"scan.benchmark.id": {
"type": "keyword",
"doc_values": "true"
},
"scan.profile.title": {
"type": "keyword",
"doc_values": "true"
},
"scan.profile.id": {
"type": "keyword",
"doc_values": "true"
},
"scan.score": {
"type": "double",
"doc_values": "true"
},
"scan.return_code": {
"type": "long",
"doc_values": "true"
}
}
},
"audit": {
"properties": {
"type": {
"type": "keyword",
"doc_values": "true"
},
"id": {
"type": "keyword",
"doc_values": "true"
},
"syscall": {
"type": "keyword",
"doc_values": "true"
},
"exit": {
"type": "keyword",
"doc_values": "true"
},
"ppid": {
"type": "keyword",
"doc_values": "true"
},
"pid": {
"type": "keyword",
"doc_values": "true"
},
"auid": {
"type": "keyword",
"doc_values": "true"
},
"uid": {
"type": "keyword",
"doc_values": "true"
},
"gid": {
"type": "keyword",
"doc_values": "true"
},
"euid": {
"type": "keyword",
"doc_values": "true"
},
"suid": {
"type": "keyword",
"doc_values": "true"
},
"fsuid": {
"type": "keyword",
"doc_values": "true"
},
"egid": {
"type": "keyword",
"doc_values": "true"
},
"sgid": {
"type": "keyword",
"doc_values": "true"
},
"fsgid": {
"type": "keyword",
"doc_values": "true"
},
"tty": {
"type": "keyword",
"doc_values": "true"
},
"session": {
"type": "keyword",
"doc_values": "true"
},
"command": {
"type": "keyword",
"doc_values": "true"
},
"exe": {
"type": "keyword",
"doc_values": "true"
},
"key": {
"type": "keyword",
"doc_values": "true"
},
"cwd": {
"type": "keyword",
"doc_values": "true"
},
"directory.name": {
"type": "keyword",
"doc_values": "true"
},
"directory.inode": {
"type": "keyword",
"doc_values": "true"
},
"directory.mode": {
"type": "keyword",
"doc_values": "true"
},
"file.name": {
"type": "keyword",
"doc_values": "true"
},
"file.inode": {
"type": "keyword",
"doc_values": "true"
},
"file.mode": {
"type": "keyword",
"doc_values": "true"
},
"acct": {
"type": "keyword",
"doc_values": "true"
},
"dev": {
"type": "keyword",
"doc_values": "true"
},
"enforcing": {
"type": "keyword",
"doc_values": "true"
},
"list": {
"type": "keyword",
"doc_values": "true"
},
"old-auid": {
"type": "keyword",
"doc_values": "true"
},
"old-ses": {
"type": "keyword",
"doc_values": "true"
},
"old_enforcing": {
"type": "keyword",
"doc_values": "true"
},
"old_prom": {
"type": "keyword",
"doc_values": "true"
},
"op": {
"type": "keyword",
"doc_values": "true"
},
"prom": {
"type": "keyword",
"doc_values": "true"
},
"res": {
"type": "keyword",
"doc_values": "true"
},
"srcip": {
"type": "keyword",
"doc_values": "true"
},
"subj": {
"type": "keyword",
"doc_values": "true"
},
"success": {
"type": "keyword",
"doc_values": "true"
}
}
}
}
},
"agent": {
"properties": {
"@timestamp": {
"type": "date",
"format": "dateOptionalTime"
},
"status": {
"type": "keyword"
},
"ip": {
"type": "keyword"
},
"host": {
"type": "keyword"
},
"name": {
"type": "keyword"
},
"id": {
"type": "keyword"
}
}
}
}
}

19
nginx/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
FROM nginx:latest
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y openssl apache2-utils
COPY config/entrypoint.sh /entrypoint.sh
RUN chmod 755 /entrypoint.sh
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
VOLUME ["/etc/nginx/conf.d"]
ENV NGINX_NAME="foo" \
NGINX_PWD="bar"
ENTRYPOINT /entrypoint.sh

View File

@@ -0,0 +1,57 @@
#!/bin/sh
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
set -e
# Generating certificates.
if [ ! -d /etc/nginx/conf.d/ssl ]; then
echo "Generating SSL certificates"
mkdir -p /etc/nginx/conf.d/ssl/certs /etc/nginx/conf.d/ssl/private
openssl req -x509 -batch -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/conf.d/ssl/private/kibana-access.key -out /etc/nginx/conf.d/ssl/certs/kibana-access.pem >/dev/null
else
echo "SSL certificates already present"
fi
# Configuring default credentiales.
if [ ! -f /etc/nginx/conf.d/kibana.htpasswd ]; then
echo "Setting Nginx credentials"
echo $NGINX_PWD|htpasswd -i -c /etc/nginx/conf.d/kibana.htpasswd $NGINX_NAME >/dev/null
else
echo "Kibana credentials already configured"
fi
if [ "x${NGINX_PORT}" = "x" ]; then
NGINX_PORT=443
fi
if [ "x${KIBANA_HOST}" = "x" ]; then
KIBANA_HOST="kibana:5601"
fi
echo "Configuring NGINX"
cat > /etc/nginx/conf.d/default.conf <<EOF
server {
listen 80;
listen [::]:80;
return 301 https://\$host:${NGINX_PORT}\$request_uri;
}
server {
listen ${NGINX_PORT} default_server;
listen [::]:${NGINX_PORT};
ssl on;
ssl_certificate /etc/nginx/conf.d/ssl/certs/kibana-access.pem;
ssl_certificate_key /etc/nginx/conf.d/ssl/private/kibana-access.key;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
proxy_pass http://${KIBANA_HOST}/;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}
}
EOF
nginx -g 'daemon off;'

View File

@@ -1,35 +1,83 @@
FROM centos:latest # Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
FROM phusion/baseimage:latest
ARG FILEBEAT_VERSION=6.5.4
ARG WAZUH_VERSION=3.7.2-1
COPY config/*.repo /etc/yum.repos.d/ # Updating image
RUN apt-get update && apt-get upgrade -y -o Dpkg::Options::="--force-confold"
RUN yum -y update; yum clean all; # Set Wazuh repository.
RUN yum -y install epel-release openssl useradd; yum clean all RUN echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list
RUN yum -y install postfix mailx cyrus-sasl cyrus-sasl-plain; yum clean all RUN curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
# Set nodejs repository.
RUN curl --silent --location https://deb.nodesource.com/setup_8.x | bash -
# Creating ossec user as uid:gid 1000:1000
RUN groupadd -g 1000 ossec RUN groupadd -g 1000 ossec
RUN useradd -u 1000 -g 1000 ossec RUN useradd -u 1000 -g 1000 -d /var/ossec ossec
RUN yum install -y wazuh-manager wazuh-api
# Configure postfix
RUN echo "postfix postfix/mailname string wazuh-manager" | debconf-set-selections
RUN echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
# Add universe repository
RUN add-apt-repository universe
# Install packages
RUN apt-get update && apt-get -y install openssl postfix bsd-mailx python-boto python-pip \
apt-transport-https vim expect nodejs python-cryptography wazuh-manager=${WAZUH_VERSION} \
wazuh-api=${WAZUH_VERSION} mailutils libsasl2-modules
# Adding first run script.
ADD config/data_dirs.env /data_dirs.env ADD config/data_dirs.env /data_dirs.env
ADD config/init.bash /init.bash ADD config/init.bash /init.bash
# Sync calls are due to https://github.com/docker/docker/issues/9547 # Sync calls are due to https://github.com/docker/docker/issues/9547
RUN chmod 755 /init.bash &&\ RUN chmod 755 /init.bash &&\
sync && /init.bash &&\ sync && /init.bash &&\
sync && rm /init.bash sync && rm /init.bash
RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.2-x86_64.rpm &&\
rpm -vi filebeat-5.1.2-x86_64.rpm && rm filebeat-5.1.2-x86_64.rpm
# Installing and configuring fiebeat
RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb &&\
dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb && rm -f filebeat-${FILEBEAT_VERSION}-amd64.deb
COPY config/filebeat.yml /etc/filebeat/ COPY config/filebeat.yml /etc/filebeat/
RUN chmod go-w /etc/filebeat/filebeat.yml
ADD config/run.sh /tmp/run.sh # Adding entrypoint
RUN chmod 755 /tmp/run.sh ADD config/entrypoint.sh /entrypoint.sh
RUN chmod 755 /entrypoint.sh
# Setting volumes
VOLUME ["/var/ossec/data"] VOLUME ["/var/ossec/data"]
VOLUME ["/etc/filebeat"]
VOLUME ["/etc/postfix"]
EXPOSE 55000/tcp 1514/udp 1515/tcp 514/udp # Services ports
EXPOSE 55000/tcp 1514/udp 1515/tcp 514/udp 1516/tcp
# Run supervisord so that the container will stay alive # Clean up
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENTRYPOINT ["/tmp/run.sh"] # Adding services
RUN mkdir /etc/service/wazuh
COPY config/wazuh.runit.service /etc/service/wazuh/run
RUN chmod +x /etc/service/wazuh/run
RUN mkdir /etc/service/wazuh-api
COPY config/wazuh-api.runit.service /etc/service/wazuh-api/run
RUN chmod +x /etc/service/wazuh-api/run
RUN mkdir /etc/service/postfix
COPY config/postfix.runit.service /etc/service/postfix/run
RUN chmod +x /etc/service/postfix/run
RUN mkdir /etc/service/filebeat
COPY config/filebeat.runit.service /etc/service/filebeat/run
RUN chmod +x /etc/service/filebeat/run
# Temporary fix for Wazuh cluster master node in Kubernetes
RUN sed -i '87d;88d' /var/ossec/framework/wazuh/cluster/cluster.py
# Run all services
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -1,9 +1,15 @@
i=0 i=0
DATA_DIRS[((i++))]="api/configuration"
DATA_DIRS[((i++))]="etc" DATA_DIRS[((i++))]="etc"
DATA_DIRS[((i++))]="ruleset"
DATA_DIRS[((i++))]="logs" DATA_DIRS[((i++))]="logs"
DATA_DIRS[((i++))]="stats" DATA_DIRS[((i++))]="queue/db"
DATA_DIRS[((i++))]="queue" DATA_DIRS[((i++))]="queue/rootcheck"
DATA_DIRS[((i++))]="var/db" DATA_DIRS[((i++))]="queue/agent-groups"
DATA_DIRS[((i++))]="api" DATA_DIRS[((i++))]="queue/agent-info"
DATA_DIRS[((i++))]="queue/agents-timestamp"
DATA_DIRS[((i++))]="queue/agentless"
DATA_DIRS[((i++))]="queue/cluster"
DATA_DIRS[((i++))]="queue/rids"
DATA_DIRS[((i++))]="queue/fts"
DATA_DIRS[((i++))]="var/multigroups"
export DATA_DIRS export DATA_DIRS

135
wazuh/config/entrypoint.sh Normal file
View File

@@ -0,0 +1,135 @@
#!/bin/bash
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
#
# OSSEC container bootstrap. See the README for information of the environment
# variables expected by this script.
#
#
#
# Startup the services
#
source /data_dirs.env
FIRST_TIME_INSTALLATION=false
WAZUH_INSTALL_PATH=/var/ossec
DATA_PATH=${WAZUH_INSTALL_PATH}/data
WAZUH_CONFIG_MOUNT=/wazuh-config-mount
print() {
echo -e $1
}
error_and_exit() {
echo "Error executing command: '$1'."
echo 'Exiting.'
exit 1
}
exec_cmd() {
eval $1 > /dev/null 2>&1 || error_and_exit "$1"
}
exec_cmd_stdout() {
eval $1 2>&1 || error_and_exit "$1"
}
edit_configuration() { # $1 -> setting, $2 -> value
sed -i "s/^config.$1\s=.*/config.$1 = \"$2\";/g" "${DATA_PATH}/api/configuration/config.js" || error_and_exit "sed (editing configuration)"
}
for ossecdir in "${DATA_DIRS[@]}"; do
if [ ! -e "${DATA_PATH}/${ossecdir}" ]
then
print "Installing ${ossecdir}"
exec_cmd "mkdir -p $(dirname ${DATA_PATH}/${ossecdir})"
exec_cmd "cp -pr /var/ossec/${ossecdir}-template ${DATA_PATH}/${ossecdir}"
FIRST_TIME_INSTALLATION=true
fi
done
if [ -e ${WAZUH_INSTALL_PATH}/etc-template ]
then
cp -p /var/ossec/etc-template/internal_options.conf /var/ossec/etc/internal_options.conf
fi
rm /var/ossec/queue/db/.template.db
touch ${DATA_PATH}/process_list
chgrp ossec ${DATA_PATH}/process_list
chmod g+rw ${DATA_PATH}/process_list
AUTO_ENROLLMENT_ENABLED=${AUTO_ENROLLMENT_ENABLED:-true}
API_GENERATE_CERTS=${API_GENERATE_CERTS:-true}
if [ $FIRST_TIME_INSTALLATION == true ]
then
if [ $AUTO_ENROLLMENT_ENABLED == true ]
then
if [ ! -e ${DATA_PATH}/etc/sslmanager.key ]
then
print "Creating ossec-authd key and cert"
exec_cmd "openssl genrsa -out ${DATA_PATH}/etc/sslmanager.key 4096"
exec_cmd "openssl req -new -x509 -key ${DATA_PATH}/etc/sslmanager.key -out ${DATA_PATH}/etc/sslmanager.cert -days 3650 -subj /CN=${HOSTNAME}/"
fi
fi
if [ $API_GENERATE_CERTS == true ]
then
if [ ! -e ${DATA_PATH}/api/configuration/ssl/server.crt ]
then
print "Enabling Wazuh API HTTPS"
edit_configuration "https" "yes"
print "Create Wazuh API key and cert"
exec_cmd "openssl genrsa -out ${DATA_PATH}/api/configuration/ssl/server.key 4096"
exec_cmd "openssl req -new -x509 -key ${DATA_PATH}/api/configuration/ssl/server.key -out ${DATA_PATH}/api/configuration/ssl/server.crt -days 3650 -subj /CN=${HOSTNAME}/"
fi
fi
fi
##############################################################################
# Copy all files from $WAZUH_CONFIG_MOUNT to $DATA_PATH and respect
# destination files permissions
#
# For example, to mount the file /var/ossec/data/etc/ossec.conf, mount it at
# $WAZUH_CONFIG_MOUNT/etc/ossec.conf in your container and this code will
# replace the ossec.conf file in /var/ossec/data/etc with yours.
##############################################################################
if [ -e "$WAZUH_CONFIG_MOUNT" ]
then
print "Identified Wazuh configuration files to mount..."
exec_cmd_stdout "cp --verbose -r $WAZUH_CONFIG_MOUNT/* $DATA_PATH"
else
print "No Wazuh configuration files to mount..."
fi
# Enabling ossec-authd.
exec_cmd "/var/ossec/bin/ossec-control enable auth"
function ossec_shutdown(){
${WAZUH_INSTALL_PATH}/bin/ossec-control stop;
}
# Trap exit signals and do a proper shutdown
trap "ossec_shutdown; exit" SIGINT SIGTERM
chmod -R g+rw ${DATA_PATH}
##############################################################################
# Interpret any passed arguments (via docker command to this entrypoint) as
# paths or commands, and execute them.
#
# This can be useful for actions that need to be run before the services are
# started, such as "/var/ossec/bin/ossec-control enable agentless".
##############################################################################
for CUSTOM_COMMAND in "$@"
do
echo "Executing command \`${CUSTOM_COMMAND}\`"
exec_cmd_stdout "${CUSTOM_COMMAND}"
done
/sbin/my_init

View File

@@ -0,0 +1,3 @@
#!/bin/sh
service filebeat start
tail -f /var/log/filebeat/filebeat

View File

@@ -1,9 +1,10 @@
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
filebeat: filebeat:
prospectors: prospectors:
- input_type: log - type: log
paths: paths:
- "/var/ossec/data/logs/alerts/alerts.json" - "/var/ossec/logs/alerts/alerts.json"
document_type: wazuh-alerts document_type: json
json.message_key: log json.message_key: log
json.keys_under_root: true json.keys_under_root: true
json.overwrite_keys: true json.overwrite_keys: true

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
# Wazuh App Copyright (C) 2018 Wazuh Inc. (License GPLv2)
# #
# Initialize the custom data directory layout # Initialize the custom data directory layout

View File

@@ -0,0 +1,3 @@
#!/bin/sh
service postfix start
tail -f /var/log/mail.log

View File

@@ -1,79 +0,0 @@
#!/bin/bash
#
# OSSEC container bootstrap. See the README for information of the environment
# variables expected by this script.
#
#
#
# Startup the services
#
source /data_dirs.env
FIRST_TIME_INSTALLATION=false
DATA_PATH=/var/ossec/data
for ossecdir in "${DATA_DIRS[@]}"; do
if [ ! -e "${DATA_PATH}/${ossecdir}" ]
then
echo "Installing ${ossecdir}"
mkdir -p $(dirname ${DATA_PATH}/${ossecdir})
cp -pr /var/ossec/${ossecdir}-template ${DATA_PATH}/${ossecdir}
FIRST_TIME_INSTALLATION=true
fi
done
touch ${DATA_PATH}/process_list
chgrp ossec ${DATA_PATH}/process_list
chmod g+rw ${DATA_PATH}/process_list
AUTO_ENROLLMENT_ENABLED=${AUTO_ENROLLMENT_ENABLED:-true}
if [ $FIRST_TIME_INSTALLATION == true ]
then
if [ $AUTO_ENROLLMENT_ENABLED == true ]
then
if [ ! -e ${DATA_PATH}/etc/sslmanager.key ]
then
echo "Creating ossec-authd key and cert"
openssl genrsa -out ${DATA_PATH}/etc/sslmanager.key 4096
openssl req -new -x509 -key ${DATA_PATH}/etc/sslmanager.key\
-out ${DATA_PATH}/etc/sslmanager.cert -days 3650\
-subj /CN=${HOSTNAME}/
fi
fi
fi
function ossec_shutdown(){
/var/ossec/bin/ossec-control stop;
if [ $AUTO_ENROLLMENT_ENABLED == true ]
then
kill $AUTHD_PID
fi
}
# Trap exit signals and do a proper shutdown
trap "ossec_shutdown; exit" SIGINT SIGTERM
chmod -R g+rw ${DATA_PATH}
if [ $AUTO_ENROLLMENT_ENABLED == true ]
then
echo "Starting ossec-authd..."
/var/ossec/bin/ossec-authd -p 1515 -g ossec $AUTHD_OPTIONS >/dev/null 2>&1 &
AUTHD_PID=$!
fi
sleep 15 # give ossec a reasonable amount of time to start before checking status
LAST_OK_DATE=`date +%s`
## Start services
/usr/sbin/postfix start
/bin/node /var/ossec/api/app.js &
/usr/bin/filebeat.sh &
/var/ossec/bin/ossec-control restart
tail -f /var/ossec/logs/ossec.log

View File

@@ -0,0 +1,4 @@
#!/bin/sh
service wazuh-api start
tail -f /var/ossec/data/logs/api.log

View File

@@ -1,7 +0,0 @@
[wazuh_repo]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=CENTOS-$releasever - Wazuh
baseurl=https://packages.wazuh.com/yum/el/$releasever/$basearch
protect=1

View File

@@ -0,0 +1,4 @@
#!/bin/sh
service wazuh-manager start
tail -f /var/ossec/data/logs/ossec.log