mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-11-04 05:53:16 +00:00 
			
		
		
		
	Compare commits
	
		
			816 Commits
		
	
	
		
			817-automa
			...
			enhancemen
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					e20e92e475 | ||
| 
						 | 
					61c32079fa | ||
| 
						 | 
					5be199b9df | ||
| 
						 | 
					971858cddd | ||
| 
						 | 
					b9a52df0ff | ||
| 
						 | 
					5252ce6c53 | ||
| 
						 | 
					5ef484647a | ||
| 
						 | 
					f9adac8c56 | ||
| 
						 | 
					8bb96f3d69 | ||
| 
						 | 
					574c7b05c7 | ||
| 
						 | 
					fc563acdaa | ||
| 
						 | 
					0778474353 | ||
| 
						 | 
					6038fce076 | ||
| 
						 | 
					3b7fa8d000 | ||
| 
						 | 
					4116634ddd | ||
| 
						 | 
					fbaee58767 | ||
| 
						 | 
					8b18fb613c | ||
| 
						 | 
					45366e121f | ||
| 
						 | 
					93ea37158d | ||
| 
						 | 
					1f58526256 | ||
| 
						 | 
					041cea8a9a | ||
| 
						 | 
					53db9379b8 | ||
| 
						 | 
					02074c678e | ||
| 
						 | 
					084530ef80 | ||
| 
						 | 
					69df531ca9 | ||
| 
						 | 
					f809a1ebbb | ||
| 
						 | 
					a5c313843e | ||
| 
						 | 
					ea0e679c27 | ||
| 
						 | 
					7ca14b9fc8 | ||
| 
						 | 
					42977e3131 | ||
| 
						 | 
					f4e7d1938d | ||
| 
						 | 
					691694a38d | ||
| 
						 | 
					19f4aaea4d | ||
| 
						 | 
					5bbacebe89 | ||
| 
						 | 
					f9c5215c8b | ||
| 
						 | 
					564e2b3ec4 | ||
| 
						 | 
					c5970f2922 | ||
| 
						 | 
					276c8a2e6c | ||
| 
						 | 
					b1f0a1f46a | ||
| 
						 | 
					5795fa154d | ||
| 
						 | 
					424846ae40 | ||
| 
						 | 
					db4133d7a8 | ||
| 
						 | 
					50769ef689 | ||
| 
						 | 
					dbb776690d | ||
| 
						 | 
					60746362ac | ||
| 
						 | 
					f61af29c6b | ||
| 
						 | 
					1aa149933b | ||
| 
						 | 
					06a797d793 | ||
| 
						 | 
					8695a087d5 | ||
| 
						 | 
					61b3f5f6ed | ||
| 
						 | 
					868c371c31 | ||
| 
						 | 
					bd7aedc0dd | ||
| 
						 | 
					4177d1095c | ||
| 
						 | 
					97e4dde53d | ||
| 
						 | 
					884151b322 | ||
| 
						 | 
					447c0bdaf8 | ||
| 
						 | 
					e6c5e82a32 | ||
| 
						 | 
					d237faa5ab | ||
| 
						 | 
					92d0582201 | ||
| 
						 | 
					cc206659cc | ||
| 
						 | 
					8bafe1295b | ||
| 
						 | 
					027b26047f | ||
| 
						 | 
					af023a9b44 | ||
| 
						 | 
					0ec38df1c7 | ||
| 
						 | 
					be0ac01c4a | ||
| 
						 | 
					62ae93eee9 | ||
| 
						 | 
					e292957740 | ||
| 
						 | 
					eb4efb3458 | ||
| 
						 | 
					46d6dc8fe5 | ||
| 
						 | 
					08ba82d16d | ||
| 
						 | 
					9d882fcd67 | ||
| 
						 | 
					9e1c33245d | ||
| 
						 | 
					6dfa4a2e32 | ||
| 
						 | 
					8ab3018e62 | ||
| 
						 | 
					e08a3d85db | ||
| 
						 | 
					42db717668 | ||
| 
						 | 
					7b1d2836fa | ||
| 
						 | 
					301ea9e21a | ||
| 
						 | 
					0b3e9ba8e7 | ||
| 
						 | 
					189e875939 | ||
| 
						 | 
					a335684a27 | ||
| 
						 | 
					9d851e6399 | ||
| 
						 | 
					c28d104022 | ||
| 
						 | 
					3859ca38ec | ||
| 
						 | 
					e06d5ae2e4 | ||
| 
						 | 
					4ea8fc266e | ||
| 
						 | 
					5771c49f0d | ||
| 
						 | 
					471aedae5b | ||
| 
						 | 
					82955c06ee | ||
| 
						 | 
					84280fae08 | ||
| 
						 | 
					b38b3c7e59 | ||
| 
						 | 
					9c33d34254 | ||
| 
						 | 
					205983317f | ||
| 
						 | 
					570bf081bc | ||
| 
						 | 
					cd3e8b8b30 | ||
| 
						 | 
					f0253ba984 | ||
| 
						 | 
					8e7b2cd390 | ||
| 
						 | 
					8522ec23b9 | ||
| 
						 | 
					d43f85312a | ||
| 
						 | 
					ae9d06ed35 | ||
| 
						 | 
					b84a49db92 | ||
| 
						 | 
					73fffcf52d | ||
| 
						 | 
					999d01f48a | ||
| 
						 | 
					bd758935e7 | ||
| 
						 | 
					0e284a2309 | ||
| 
						 | 
					b597e1cecc | ||
| 
						 | 
					247a6b0375 | ||
| 
						 | 
					879a10cc9f | ||
| 
						 | 
					0fef2182eb | ||
| 
						 | 
					7b00fb8f73 | ||
| 
						 | 
					cdbc5485b4 | ||
| 
						 | 
					6249cb8f30 | ||
| 
						 | 
					7fe9ba2e19 | ||
| 
						 | 
					996c593242 | ||
| 
						 | 
					4f4edab1a9 | ||
| 
						 | 
					d5a60b7264 | ||
| 
						 | 
					6eb3f60684 | ||
| 
						 | 
					bbc4529088 | ||
| 
						 | 
					60e5304cd6 | ||
| 
						 | 
					28f2320c6e | ||
| 
						 | 
					819880d1cf | ||
| 
						 | 
					f08c39ed6d | ||
| 
						 | 
					1916f4166a | ||
| 
						 | 
					36bdb5fedb | ||
| 
						 | 
					15a856dc32 | ||
| 
						 | 
					1486b5942c | ||
| 
						 | 
					25319ee004 | ||
| 
						 | 
					f47ca7fbc0 | ||
| 
						 | 
					5ef94b819c | ||
| 
						 | 
					e77ceb6ad6 | ||
| 
						 | 
					127e74296a | ||
| 
						 | 
					0aa63db271 | ||
| 
						 | 
					583f75176d | ||
| 
						 | 
					11d2c84203 | ||
| 
						 | 
					2e52ebd7b7 | ||
| 
						 | 
					4223b44f3f | ||
| 
						 | 
					3fc48bec11 | ||
| 
						 | 
					56750a07f2 | ||
| 
						 | 
					b362e0774b | ||
| 
						 | 
					d11e421cdd | ||
| 
						 | 
					99c163f4e5 | ||
| 
						 | 
					acc3c22bed | ||
| 
						 | 
					6eb435a82f | ||
| 
						 | 
					ac760dbb14 | ||
| 
						 | 
					2adb0cc46d | ||
| 
						 | 
					ca6cc555f2 | ||
| 
						 | 
					eca65a8538 | ||
| 
						 | 
					a063b27592 | ||
| 
						 | 
					bc2a446c17 | ||
| 
						 | 
					80b7c047ec | ||
| 
						 | 
					4b0818bc2c | ||
| 
						 | 
					28c051a05e | ||
| 
						 | 
					1f0f98ddaa | ||
| 
						 | 
					bc35a25b3b | ||
| 
						 | 
					0399e7b16a | ||
| 
						 | 
					e8f5fd25f2 | ||
| 
						 | 
					125053f6d5 | ||
| 
						 | 
					f38bc64415 | ||
| 
						 | 
					2ee7cfa515 | ||
| 
						 | 
					39554677bf | ||
| 
						 | 
					1a1bc2d72b | ||
| 
						 | 
					34bd04e5fc | ||
| 
						 | 
					54b2d4ce33 | ||
| 
						 | 
					096f0abb32 | ||
| 
						 | 
					701fdc33bb | ||
| 
						 | 
					719d4c2b05 | ||
| 
						 | 
					8a1e5043c6 | ||
| 
						 | 
					78cb2fc571 | ||
| 
						 | 
					6f49d17696 | ||
| 
						 | 
					f0c56d6da2 | ||
| 
						 | 
					e86fbd6791 | ||
| 
						 | 
					3e120aee77 | ||
| 
						 | 
					e10fd22fcc | ||
| 
						 | 
					eded59bc25 | ||
| 
						 | 
					0110e696d0 | ||
| 
						 | 
					6e30c077d6 | ||
| 
						 | 
					622c67d2cc | ||
| 
						 | 
					4c3a6696f6 | ||
| 
						 | 
					5ed2095854 | ||
| 
						 | 
					f3474a392e | ||
| 
						 | 
					62fc011c2c | ||
| 
						 | 
					55f209e57f | ||
| 
						 | 
					4923750ea4 | ||
| 
						 | 
					bdce114251 | ||
| 
						 | 
					0a440c0433 | ||
| 
						 | 
					311ffc72d8 | ||
| 
						 | 
					65fe95472b | ||
| 
						 | 
					21e1943cab | ||
| 
						 | 
					4a2d9b54d3 | ||
| 
						 | 
					3f320be95d | ||
| 
						 | 
					5712d37a7a | ||
| 
						 | 
					5d5cc9d30a | ||
| 
						 | 
					956d42e932 | ||
| 
						 | 
					1e70aad5f8 | ||
| 
						 | 
					09841ba9e4 | ||
| 
						 | 
					c014ea77f4 | ||
| 
						 | 
					12d8e8f122 | ||
| 
						 | 
					fe327f10a3 | ||
| 
						 | 
					5063213d39 | ||
| 
						 | 
					dca7f9382e | ||
| 
						 | 
					577e533958 | ||
| 
						 | 
					98930a6708 | ||
| 
						 | 
					f08a3cf64d | ||
| 
						 | 
					8cf7909bc0 | ||
| 
						 | 
					0c57402b94 | ||
| 
						 | 
					1e261c165e | ||
| 
						 | 
					b60e875962 | ||
| 
						 | 
					693b9d9c23 | ||
| 
						 | 
					a275a08cfe | ||
| 
						 | 
					e74db2ad83 | ||
| 
						 | 
					2709a8e457 | ||
| 
						 | 
					0682effeca | ||
| 
						 | 
					c248592d39 | ||
| 
						 | 
					6049aec381 | ||
| 
						 | 
					ad6a08c2b0 | ||
| 
						 | 
					a583069698 | ||
| 
						 | 
					a67c407bfe | ||
| 
						 | 
					6138516ad9 | ||
| 
						 | 
					665f6fd84a | ||
| 
						 | 
					9c36a8a13b | ||
| 
						 | 
					2487a5481e | ||
| 
						 | 
					8cb7da82df | ||
| 
						 | 
					91513bda93 | ||
| 
						 | 
					6b62f1c738 | ||
| 
						 | 
					7257ddc0aa | ||
| 
						 | 
					bdd919fc48 | ||
| 
						 | 
					3112eb2bd5 | ||
| 
						 | 
					e9ed0d1d31 | ||
| 
						 | 
					ed9b2f0d39 | ||
| 
						 | 
					24f12a72d7 | ||
| 
						 | 
					faddbe4af4 | ||
| 
						 | 
					f4596dc833 | ||
| 
						 | 
					78006fc5bd | ||
| 
						 | 
					956be62183 | ||
| 
						 | 
					60d6fb8b98 | ||
| 
						 | 
					2b10eff949 | ||
| 
						 | 
					94b8b655cd | ||
| 
						 | 
					8019e386bc | ||
| 
						 | 
					e1d70c35fe | ||
| 
						 | 
					3398c9f2b3 | ||
| 
						 | 
					0763499562 | ||
| 
						 | 
					88842eede8 | ||
| 
						 | 
					ef4f28a0c1 | ||
| 
						 | 
					79cdec2032 | ||
| 
						 | 
					7eb5d0843c | ||
| 
						 | 
					36e7160332 | ||
| 
						 | 
					cf3eb61081 | ||
| 
						 | 
					fda4a171f4 | ||
| 
						 | 
					1e6f93b20a | ||
| 
						 | 
					aed1004471 | ||
| 
						 | 
					450a59a7c8 | ||
| 
						 | 
					6d63befeb7 | ||
| 
						 | 
					1f32d2a358 | ||
| 
						 | 
					fc1ece705e | ||
| 
						 | 
					829e43511e | ||
| 
						 | 
					e759449ca2 | ||
| 
						 | 
					86845841c7 | ||
| 
						 | 
					b9c6d1b0dc | ||
| 
						 | 
					7974ed0e04 | ||
| 
						 | 
					d7d12521d2 | ||
| 
						 | 
					ec68bd1049 | ||
| 
						 | 
					0650c53e47 | ||
| 
						 | 
					3dfb3505a2 | ||
| 
						 | 
					f8b2399347 | ||
| 
						 | 
					4ba7cba72d | ||
| 
						 | 
					37918b47cd | ||
| 
						 | 
					9d710e182d | ||
| 
						 | 
					d59ee1bd35 | ||
| 
						 | 
					53d1ad8e3e | ||
| 
						 | 
					f63c34d73b | ||
| 
						 | 
					e60187803c | ||
| 
						 | 
					842180baa6 | ||
| 
						 | 
					f0488805a4 | ||
| 
						 | 
					ac6d9e576c | ||
| 
						 | 
					2b44780605 | ||
| 
						 | 
					c6b38e3de9 | ||
| 
						 | 
					cfa0a220d6 | ||
| 
						 | 
					2125b08544 | ||
| 
						 | 
					98c0431498 | ||
| 
						 | 
					e95dd33a89 | ||
| 
						 | 
					817e864977 | ||
| 
						 | 
					78048b6a65 | ||
| 
						 | 
					169d24af64 | ||
| 
						 | 
					042d0bf075 | ||
| 
						 | 
					bac9daa337 | ||
| 
						 | 
					2c39ce5303 | ||
| 
						 | 
					9487dd592e | ||
| 
						 | 
					a55eb7f14a | ||
| 
						 | 
					b0d14dca28 | ||
| 
						 | 
					f96b340074 | ||
| 
						 | 
					2b25f362fd | ||
| 
						 | 
					2e18b6a873 | ||
| 
						 | 
					2bd7c0d6f1 | ||
| 
						 | 
					ec69c20413 | ||
| 
						 | 
					937b5fad87 | ||
| 
						 | 
					7df0ee2a22 | ||
| 
						 | 
					db89d2154f | ||
| 
						 | 
					824265943f | ||
| 
						 | 
					de2f3995ec | ||
| 
						 | 
					52eae12790 | ||
| 
						 | 
					efa179698e | ||
| 
						 | 
					5963054220 | ||
| 
						 | 
					902b165719 | ||
| 
						 | 
					7d2d8fe1c9 | ||
| 
						 | 
					317643eabf | ||
| 
						 | 
					d57ce6b432 | ||
| 
						 | 
					ef98a5dd83 | ||
| 
						 | 
					c00960f7b4 | ||
| 
						 | 
					097af398df | ||
| 
						 | 
					3d7c673671 | ||
| 
						 | 
					b022f9f5c1 | ||
| 
						 | 
					390a71ebea | ||
| 
						 | 
					7063480f1f | ||
| 
						 | 
					4c74ebfc80 | ||
| 
						 | 
					ec76ea8d92 | ||
| 
						 | 
					ce0a855c3d | ||
| 
						 | 
					d10af3b669 | ||
| 
						 | 
					b7609311dc | ||
| 
						 | 
					81c42d02b1 | ||
| 
						 | 
					ee3159b225 | ||
| 
						 | 
					7ec98fedf9 | ||
| 
						 | 
					10f278cadb | ||
| 
						 | 
					3bed3a3a31 | ||
| 
						 | 
					9109104af2 | ||
| 
						 | 
					2efc6c56fa | ||
| 
						 | 
					daf1e837a1 | ||
| 
						 | 
					9881957f86 | ||
| 
						 | 
					8c874235bf | ||
| 
						 | 
					1e7d1c62ec | ||
| 
						 | 
					72421d608a | ||
| 
						 | 
					a9efe64d33 | ||
| 
						 | 
					650d2936c4 | ||
| 
						 | 
					c9cf940a19 | ||
| 
						 | 
					353ea5976a | ||
| 
						 | 
					d2181f78cd | ||
| 
						 | 
					d904595787 | ||
| 
						 | 
					b62a1d5c94 | ||
| 
						 | 
					92d6f87091 | ||
| 
						 | 
					fa025c602e | ||
| 
						 | 
					f4ccd4b0a6 | ||
| 
						 | 
					74e30e89f8 | ||
| 
						 | 
					cbeb18c13f | ||
| 
						 | 
					c95eb42902 | ||
| 
						 | 
					f685bfaa9d | ||
| 
						 | 
					dc13ef3f72 | ||
| 
						 | 
					6afcc00ba7 | ||
| 
						 | 
					b13aef91d1 | ||
| 
						 | 
					b61953cc35 | ||
| 
						 | 
					4b98b24999 | ||
| 
						 | 
					1fea52d4d0 | ||
| 
						 | 
					97ba114f8e | ||
| 
						 | 
					fc1bc7796a | ||
| 
						 | 
					cbdc152dda | ||
| 
						 | 
					12653111bd | ||
| 
						 | 
					e866a8d013 | ||
| 
						 | 
					e03cfde3bc | ||
| 
						 | 
					866ee48871 | ||
| 
						 | 
					9918f95f3f | ||
| 
						 | 
					654d1dbf36 | ||
| 
						 | 
					935aee6d2a | ||
| 
						 | 
					219843dbb8 | ||
| 
						 | 
					b1fec6690b | ||
| 
						 | 
					a8754c54bc | ||
| 
						 | 
					b0c5fb3559 | ||
| 
						 | 
					02ee94f312 | ||
| 
						 | 
					69f9ab8de2 | ||
| 
						 | 
					89f3b0d600 | ||
| 
						 | 
					51e17d2dac | ||
| 
						 | 
					031db43568 | ||
| 
						 | 
					387727d496 | ||
| 
						 | 
					781fa76384 | ||
| 
						 | 
					73650d79b3 | ||
| 
						 | 
					b4af946000 | ||
| 
						 | 
					a733046471 | ||
| 
						 | 
					e8d2463d99 | ||
| 
						 | 
					4f0da7a58e | ||
| 
						 | 
					92eef99c13 | ||
| 
						 | 
					f5b237458a | ||
| 
						 | 
					04c64e78bc | ||
| 
						 | 
					8d9d04adc5 | ||
| 
						 | 
					1e8db5cfbd | ||
| 
						 | 
					59e0ec54bd | ||
| 
						 | 
					a826212051 | ||
| 
						 | 
					6e7e8525bb | ||
| 
						 | 
					799dadc1cf | ||
| 
						 | 
					8f3478361d | ||
| 
						 | 
					6a242a36ce | ||
| 
						 | 
					1564b2d4cd | ||
| 
						 | 
					96048c7bf3 | ||
| 
						 | 
					401673e743 | ||
| 
						 | 
					d8780f0e37 | ||
| 
						 | 
					520291162f | ||
| 
						 | 
					63217770f7 | ||
| 
						 | 
					8c44d566df | ||
| 
						 | 
					d0b02cf15c | ||
| 
						 | 
					b274806f60 | ||
| 
						 | 
					2e8c7f99b5 | ||
| 
						 | 
					992fa82f6d | ||
| 
						 | 
					c88172dc56 | ||
| 
						 | 
					3f8444a71e | ||
| 
						 | 
					0de952d1b3 | ||
| 
						 | 
					8a574da9ec | ||
| 
						 | 
					6b35c9d4bc | ||
| 
						 | 
					f7e7a5a5fb | ||
| 
						 | 
					7835e6a678 | ||
| 
						 | 
					23900dbcc1 | ||
| 
						 | 
					0bb7a00125 | ||
| 
						 | 
					467a405754 | ||
| 
						 | 
					1046a3a13e | ||
| 
						 | 
					6fef542ee2 | ||
| 
						 | 
					55f9fe3ded | ||
| 
						 | 
					d538e47eef | ||
| 
						 | 
					0d628f20cc | ||
| 
						 | 
					53b9d71c23 | ||
| 
						 | 
					1b3251852c | ||
| 
						 | 
					4ba6e124b1 | ||
| 
						 | 
					33a55344d3 | ||
| 
						 | 
					a4a9207dec | ||
| 
						 | 
					98037bf25c | ||
| 
						 | 
					7f09331a95 | ||
| 
						 | 
					ec9076261f | ||
| 
						 | 
					5a5fbdd62c | ||
| 
						 | 
					d6cefe7288 | ||
| 
						 | 
					0296f59f8c | ||
| 
						 | 
					057752d7bc | ||
| 
						 | 
					b47361e4c9 | ||
| 
						 | 
					d3d2ae7b86 | ||
| 
						 | 
					91a56eb429 | ||
| 
						 | 
					c99985f479 | ||
| 
						 | 
					a6d0a1ffeb | ||
| 
						 | 
					f746e96b74 | ||
| 
						 | 
					db7596ca03 | ||
| 
						 | 
					174ae3d14c | ||
| 
						 | 
					52a9479e48 | ||
| 
						 | 
					ec63264545 | ||
| 
						 | 
					114d6edff2 | ||
| 
						 | 
					eb894d868d | ||
| 
						 | 
					adba797c54 | ||
| 
						 | 
					43ecb7f623 | ||
| 
						 | 
					0567dd1632 | ||
| 
						 | 
					6ef6883b8a | ||
| 
						 | 
					41b25fe60f | ||
| 
						 | 
					a89eddb135 | ||
| 
						 | 
					284b945cd8 | ||
| 
						 | 
					d820c63982 | ||
| 
						 | 
					b2ef887f66 | ||
| 
						 | 
					d98ef7a8be | ||
| 
						 | 
					f1978f4b88 | ||
| 
						 | 
					b6ebf179db | ||
| 
						 | 
					086b24c490 | ||
| 
						 | 
					4e8569009e | ||
| 
						 | 
					daa122f14b | ||
| 
						 | 
					297cf50c27 | ||
| 
						 | 
					caddf2893a | ||
| 
						 | 
					892822fe29 | ||
| 
						 | 
					99e708c1a9 | ||
| 
						 | 
					32809c9c52 | ||
| 
						 | 
					64ab19be1a | ||
| 
						 | 
					8814200fb2 | ||
| 
						 | 
					69d61278cf | ||
| 
						 | 
					27888e0b83 | ||
| 
						 | 
					d744287776 | ||
| 
						 | 
					5791218f83 | ||
| 
						 | 
					cc05d1a251 | ||
| 
						 | 
					81b0172b37 | ||
| 
						 | 
					b2e30894da | ||
| 
						 | 
					4c82d16144 | ||
| 
						 | 
					eba8b9172f | ||
| 
						 | 
					ca8cf4f717 | ||
| 
						 | 
					2c92c87b02 | ||
| 
						 | 
					9b1ba35383 | ||
| 
						 | 
					2258605ec2 | ||
| 
						 | 
					74546d0cab | ||
| 
						 | 
					09aeb68b14 | ||
| 
						 | 
					10008a792b | ||
| 
						 | 
					402c5d6fea | ||
| 
						 | 
					81738baf88 | ||
| 
						 | 
					4210c23a4c | ||
| 
						 | 
					ddf1d781eb | ||
| 
						 | 
					3d58ff0049 | ||
| 
						 | 
					d44b87800a | ||
| 
						 | 
					e756c20053 | ||
| 
						 | 
					0ef3428788 | ||
| 
						 | 
					52ddc7607f | ||
| 
						 | 
					957de01c8f | ||
| 
						 | 
					86dd284368 | ||
| 
						 | 
					94c6a1b446 | ||
| 
						 | 
					375d94d22f | ||
| 
						 | 
					eb6eae692c | ||
| 
						 | 
					16681104b4 | ||
| 
						 | 
					794e9a27f4 | ||
| 
						 | 
					dcf48426c1 | ||
| 
						 | 
					f8eb0b5f1d | ||
| 
						 | 
					139f7a52f6 | ||
| 
						 | 
					2df37520a7 | ||
| 
						 | 
					45ca9a1b37 | ||
| 
						 | 
					8002f2d402 | ||
| 
						 | 
					423fc248ef | ||
| 
						 | 
					12d45d83ad | ||
| 
						 | 
					f7f90941ed | ||
| 
						 | 
					717a897c11 | ||
| 
						 | 
					37d38ecf92 | ||
| 
						 | 
					573090edcb | ||
| 
						 | 
					c38a25224c | ||
| 
						 | 
					351c6b319c | ||
| 
						 | 
					9f58e6f21f | ||
| 
						 | 
					6c50089d53 | ||
| 
						 | 
					56ccf81185 | ||
| 
						 | 
					20a3f170d8 | ||
| 
						 | 
					dc167c2316 | ||
| 
						 | 
					6b910bc636 | ||
| 
						 | 
					95bd43c7e5 | ||
| 
						 | 
					ff5e59982b | ||
| 
						 | 
					ed136c994e | ||
| 
						 | 
					b55cfaa9a0 | ||
| 
						 | 
					6591e7e4a1 | ||
| 
						 | 
					a97c14e807 | ||
| 
						 | 
					25e4c24c87 | ||
| 
						 | 
					2ccd5dc431 | ||
| 
						 | 
					a68da465d3 | ||
| 
						 | 
					486c41e3f9 | ||
| 
						 | 
					504e1f2017 | ||
| 
						 | 
					15413250e8 | ||
| 
						 | 
					fa956c53e7 | ||
| 
						 | 
					49bc23682f | ||
| 
						 | 
					4863d54c99 | ||
| 
						 | 
					d352019385 | ||
| 
						 | 
					27962e38f1 | ||
| 
						 | 
					f1140fc088 | ||
| 
						 | 
					0ecf533cdc | ||
| 
						 | 
					cda712949a | ||
| 
						 | 
					4a95d18b9a | ||
| 
						 | 
					122acb404d | ||
| 
						 | 
					efac96b011 | ||
| 
						 | 
					7c814de638 | ||
| 
						 | 
					1ee77e40ce | ||
| 
						 | 
					bfae09af52 | ||
| 
						 | 
					1c0b12deaa | ||
| 
						 | 
					92b3395abc | ||
| 
						 | 
					b1d10f879c | ||
| 
						 | 
					98e96a5260 | ||
| 
						 | 
					84e57b9c9a | ||
| 
						 | 
					ee9fdc383a | ||
| 
						 | 
					2cd1ca79e6 | ||
| 
						 | 
					4c2582952f | ||
| 
						 | 
					e13cfcf454 | ||
| 
						 | 
					e48255641f | ||
| 
						 | 
					103c7e66df | ||
| 
						 | 
					40618586a9 | ||
| 
						 | 
					274c0bc692 | ||
| 
						 | 
					c4d6a254cc | ||
| 
						 | 
					d45e2d984e | ||
| 
						 | 
					781e6a4082 | ||
| 
						 | 
					0c7d298eea | ||
| 
						 | 
					05ef9b899b | ||
| 
						 | 
					c46b1c0d82 | ||
| 
						 | 
					3a3218f0d4 | ||
| 
						 | 
					dd86d1b707 | ||
| 
						 | 
					60563720f3 | ||
| 
						 | 
					0cd98767c8 | ||
| 
						 | 
					8aad8651d7 | ||
| 
						 | 
					3c073ab5ea | ||
| 
						 | 
					b8ff013b36 | ||
| 
						 | 
					5106715b0c | ||
| 
						 | 
					523a28b20d | ||
| 
						 | 
					8aef2921d9 | ||
| 
						 | 
					0d66cfbd5a | ||
| 
						 | 
					0f1cc4b955 | ||
| 
						 | 
					aee83a1a2d | ||
| 
						 | 
					7474e836b6 | ||
| 
						 | 
					acb3688346 | ||
| 
						 | 
					4d153f6705 | ||
| 
						 | 
					85ba8cb9b0 | ||
| 
						 | 
					5aaeb0d944 | ||
| 
						 | 
					aa88dad36a | ||
| 
						 | 
					a424c683ae | ||
| 
						 | 
					0555e4956b | ||
| 
						 | 
					dee2c3c8dc | ||
| 
						 | 
					6b89644918 | ||
| 
						 | 
					1e29e8fcfc | ||
| 
						 | 
					25be906860 | ||
| 
						 | 
					c18a1eca56 | ||
| 
						 | 
					14dcc8b6a6 | ||
| 
						 | 
					89e0fc9604 | ||
| 
						 | 
					64f083631d | ||
| 
						 | 
					fa2f2b2a31 | ||
| 
						 | 
					8d1c239a3c | ||
| 
						 | 
					ded91b2f0a | ||
| 
						 | 
					d7e051af19 | ||
| 
						 | 
					b4db7f16cc | ||
| 
						 | 
					61bfe58491 | ||
| 
						 | 
					9d3701fa60 | ||
| 
						 | 
					c550c1a852 | ||
| 
						 | 
					1b41068618 | ||
| 
						 | 
					8ac3ea1e8a | ||
| 
						 | 
					893796c4a2 | ||
| 
						 | 
					d6a72c6fb1 | ||
| 
						 | 
					7172c818c7 | ||
| 
						 | 
					a2ee29bfd3 | ||
| 
						 | 
					e205c87d37 | ||
| 
						 | 
					545ef6851b | ||
| 
						 | 
					36c06dc4c8 | ||
| 
						 | 
					3fd3f42389 | ||
| 
						 | 
					b22fa235c7 | ||
| 
						 | 
					c3c8ea3d02 | ||
| 
						 | 
					905b4de859 | ||
| 
						 | 
					23d34f6a89 | ||
| 
						 | 
					8fa20abbbd | ||
| 
						 | 
					d9b053caf4 | ||
| 
						 | 
					d5dc67e9c3 | ||
| 
						 | 
					93c53a712d | ||
| 
						 | 
					5f3a0481ba | ||
| 
						 | 
					958e466682 | ||
| 
						 | 
					7d5b1c4f85 | ||
| 
						 | 
					69868c0c70 | ||
| 
						 | 
					d8f7fd6767 | ||
| 
						 | 
					a98e57bb6c | ||
| 
						 | 
					b3441a6b07 | ||
| 
						 | 
					a3e2a2d88b | ||
| 
						 | 
					6407325761 | ||
| 
						 | 
					7312f86235 | ||
| 
						 | 
					d6b73cb3dc | ||
| 
						 | 
					62627e32fd | ||
| 
						 | 
					149df5e492 | ||
| 
						 | 
					8fbda5afd3 | ||
| 
						 | 
					b40e90d19c | ||
| 
						 | 
					a6c22d9618 | ||
| 
						 | 
					d449ae7f76 | ||
| 
						 | 
					8cc5c8b0bb | ||
| 
						 | 
					536dd51aa7 | ||
| 
						 | 
					088b855f73 | ||
| 
						 | 
					5769159cf9 | ||
| 
						 | 
					41515e9c49 | ||
| 
						 | 
					0fbbf5aee2 | ||
| 
						 | 
					37f565bb8a | ||
| 
						 | 
					2ac53b9b3d | ||
| 
						 | 
					d1c252c6c0 | ||
| 
						 | 
					e9f689dbfc | ||
| 
						 | 
					be19c70082 | ||
| 
						 | 
					0c6077c3e0 | ||
| 
						 | 
					de7754364d | ||
| 
						 | 
					73ada94ed6 | ||
| 
						 | 
					63817dfd55 | ||
| 
						 | 
					dcef9834b4 | ||
| 
						 | 
					9253127ce8 | ||
| 
						 | 
					17029c5510 | ||
| 
						 | 
					2234517218 | ||
| 
						 | 
					637110c278 | ||
| 
						 | 
					b18c068650 | ||
| 
						 | 
					9a871dbbcb | ||
| 
						 | 
					1fae0d3452 | ||
| 
						 | 
					0a4c057492 | ||
| 
						 | 
					2902a0ce0b | ||
| 
						 | 
					c0fb4172f3 | ||
| 
						 | 
					77c18adce5 | ||
| 
						 | 
					8886e2347e | ||
| 
						 | 
					f1d8565989 | ||
| 
						 | 
					e5abd5d24e | ||
| 
						 | 
					902b0d8e52 | ||
| 
						 | 
					b377a0f6eb | ||
| 
						 | 
					44e9bebed0 | ||
| 
						 | 
					3434070c06 | ||
| 
						 | 
					8169e95107 | ||
| 
						 | 
					2de4a28098 | ||
| 
						 | 
					760fc8ccbf | ||
| 
						 | 
					44303d3701 | ||
| 
						 | 
					c0d97893a4 | ||
| 
						 | 
					0826f2c176 | ||
| 
						 | 
					d531b8dd72 | ||
| 
						 | 
					1d8332725f | ||
| 
						 | 
					a2f50192b6 | ||
| 
						 | 
					bd513e80cc | ||
| 
						 | 
					6a4dc3c3eb | ||
| 
						 | 
					41267d4ddf | ||
| 
						 | 
					67f34fb8fe | ||
| 
						 | 
					865f7625f4 | ||
| 
						 | 
					c56952eaa0 | ||
| 
						 | 
					8b8a28167e | ||
| 
						 | 
					cb7d8785c6 | ||
| 
						 | 
					f1001c2f25 | ||
| 
						 | 
					d0eaae482c | ||
| 
						 | 
					e67b7eae70 | ||
| 
						 | 
					17ed766228 | ||
| 
						 | 
					6c91bac96d | ||
| 
						 | 
					216b5a6818 | ||
| 
						 | 
					e19fa14013 | ||
| 
						 | 
					57c7eaa5af | ||
| 
						 | 
					fbe073612c | ||
| 
						 | 
					1dec665a97 | ||
| 
						 | 
					757e5dbf05 | ||
| 
						 | 
					32b1d88e36 | ||
| 
						 | 
					94be842afc | ||
| 
						 | 
					d20bbe247c | ||
| 
						 | 
					e01d39e138 | ||
| 
						 | 
					1eeca6267b | ||
| 
						 | 
					d755ffbac8 | ||
| 
						 | 
					221c3ccd24 | ||
| 
						 | 
					1ff589ccaf | ||
| 
						 | 
					d4c98491fc | ||
| 
						 | 
					673c28b637 | ||
| 
						 | 
					2cd9262bab | ||
| 
						 | 
					7db3d0d278 | ||
| 
						 | 
					fc4cef1072 | ||
| 
						 | 
					7d3bea67f7 | ||
| 
						 | 
					3953986652 | ||
| 
						 | 
					f2dab81387 | ||
| 
						 | 
					da82008a75 | ||
| 
						 | 
					54975ab099 | ||
| 
						 | 
					5b23d48e46 | ||
| 
						 | 
					919500bd74 | ||
| 
						 | 
					a9d505b316 | ||
| 
						 | 
					a0899a8358 | ||
| 
						 | 
					b27d991f0c | ||
| 
						 | 
					4d0aa57ed2 | ||
| 
						 | 
					1a75d4eb77 | ||
| 
						 | 
					247555b1b6 | ||
| 
						 | 
					442d457933 | ||
| 
						 | 
					0f65448718 | ||
| 
						 | 
					a9533264d6 | ||
| 
						 | 
					ce8dd29425 | ||
| 
						 | 
					a433989865 | ||
| 
						 | 
					ff1e5f991a | ||
| 
						 | 
					55ee49aff5 | ||
| 
						 | 
					75f92308a1 | ||
| 
						 | 
					61c37a78de | ||
| 
						 | 
					39208c513c | ||
| 
						 | 
					3650feeb0e | ||
| 
						 | 
					f4f99f17b7 | ||
| 
						 | 
					3c9b5ac717 | ||
| 
						 | 
					8e3b8aada8 | ||
| 
						 | 
					6a98b87b8e | ||
| 
						 | 
					56dbf052c9 | ||
| 
						 | 
					7abaea9b4c | ||
| 
						 | 
					303b64c7ae | ||
| 
						 | 
					2340db4079 | ||
| 
						 | 
					9159eda943 | ||
| 
						 | 
					d278782134 | ||
| 
						 | 
					77725b7eb2 | ||
| 
						 | 
					4e7c2cf72a | ||
| 
						 | 
					41196a5529 | ||
| 
						 | 
					8ce1f36f10 | ||
| 
						 | 
					e2e95a5c57 | ||
| 
						 | 
					1238820b6c | ||
| 
						 | 
					f168bd62fe | ||
| 
						 | 
					2058734154 | ||
| 
						 | 
					4e34f1f7b7 | ||
| 
						 | 
					b259665fc6 | ||
| 
						 | 
					820079f1d0 | ||
| 
						 | 
					efc8ab88df | ||
| 
						 | 
					f71616939e | ||
| 
						 | 
					9a9fac6243 | ||
| 
						 | 
					11d15670f4 | ||
| 
						 | 
					7427eff847 | ||
| 
						 | 
					5abe95a0f1 | ||
| 
						 | 
					fed4302744 | ||
| 
						 | 
					750aa90b91 | ||
| 
						 | 
					aec90c2f3d | ||
| 
						 | 
					84a40b9eea | ||
| 
						 | 
					57c63bc60e | ||
| 
						 | 
					dd46f8a2c1 | ||
| 
						 | 
					76a38f68b5 | ||
| 
						 | 
					4caf18f12c | ||
| 
						 | 
					ea11d66f42 | ||
| 
						 | 
					02a75a7678 | ||
| 
						 | 
					7e0311e99a | ||
| 
						 | 
					e939010507 | ||
| 
						 | 
					b7bce45e82 | ||
| 
						 | 
					697b7538cc | ||
| 
						 | 
					2cbf64dafa | ||
| 
						 | 
					638d548d74 | ||
| 
						 | 
					d6f19cebf5 | ||
| 
						 | 
					944c6aa4c8 | ||
| 
						 | 
					5e3676e125 | ||
| 
						 | 
					fd9c09a7e5 | ||
| 
						 | 
					395b769b6a | ||
| 
						 | 
					ee46520701 | ||
| 
						 | 
					b838023509 | ||
| 
						 | 
					be9019a065 | ||
| 
						 | 
					42193f4cfa | ||
| 
						 | 
					6e7b1c2899 | ||
| 
						 | 
					06a1efc094 | ||
| 
						 | 
					e9764b0a6a | ||
| 
						 | 
					6398b66e10 | ||
| 
						 | 
					70938d52d2 | ||
| 
						 | 
					d5932ac4a1 | ||
| 
						 | 
					4b621466a0 | ||
| 
						 | 
					e24d17f730 | ||
| 
						 | 
					b33aea9ef8 | ||
| 
						 | 
					3525003ef7 | ||
| 
						 | 
					00a94ce5b0 | ||
| 
						 | 
					e826236a28 | ||
| 
						 | 
					137989ddd1 | ||
| 
						 | 
					0d76a85ded | ||
| 
						 | 
					e95455a12b | ||
| 
						 | 
					887293d474 | ||
| 
						 | 
					ae20f302c0 | ||
| 
						 | 
					08314f9e2e | ||
| 
						 | 
					c6f1f31d57 | ||
| 
						 | 
					312466704d | ||
| 
						 | 
					d00fc0ccf6 | ||
| 
						 | 
					42ea26b3bd | ||
| 
						 | 
					fe75f8fb4e | ||
| 
						 | 
					8b1ed497ab | ||
| 
						 | 
					195b34c259 | ||
| 
						 | 
					08c9b95455 | ||
| 
						 | 
					028b5f6034 | ||
| 
						 | 
					cd7dc4c7cf | ||
| 
						 | 
					40faad148d | ||
| 
						 | 
					02aaf45e9d | ||
| 
						 | 
					cd9f211eb3 | ||
| 
						 | 
					20c8000fec | ||
| 
						 | 
					095d878b04 | ||
| 
						 | 
					53903126cf | ||
| 
						 | 
					63ceab20b0 | ||
| 
						 | 
					5fb369f9e8 | ||
| 
						 | 
					6ddaecd7b5 | 
							
								
								
									
										7
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								.env
									
									
									
									
									
								
							@@ -1,3 +1,6 @@
 | 
				
			|||||||
WAZUH_VERSION=4.4.1
 | 
					WAZUH_VERSION=5.0.0
 | 
				
			||||||
WAZUH_IMAGE_VERSION=4.4.1
 | 
					WAZUH_IMAGE_VERSION=5.0.0
 | 
				
			||||||
WAZUH_TAG_REVISION=1
 | 
					WAZUH_TAG_REVISION=1
 | 
				
			||||||
 | 
					FILEBEAT_TEMPLATE_BRANCH=5.0.0
 | 
				
			||||||
 | 
					WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.4.tar.gz
 | 
				
			||||||
 | 
					WAZUH_UI_REVISION=1
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							@@ -56,7 +56,7 @@ package:
 | 
				
			|||||||
  wazuh-manager:
 | 
					  wazuh-manager:
 | 
				
			||||||
    installed: true
 | 
					    installed: true
 | 
				
			||||||
    versions:
 | 
					    versions:
 | 
				
			||||||
    - 4.4.1-1
 | 
					    - 5.0.0-1
 | 
				
			||||||
port:
 | 
					port:
 | 
				
			||||||
  tcp:1514:
 | 
					  tcp:1514:
 | 
				
			||||||
    listening: true
 | 
					    listening: true
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										161
									
								
								.github/workflows/Procedure_push_docker_images.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								.github/workflows/Procedure_push_docker_images.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,161 @@
 | 
				
			|||||||
 | 
					run-name: Launch Push Docker Images - ${{ inputs.id }}
 | 
				
			||||||
 | 
					name: Push Docker Images
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					    inputs:
 | 
				
			||||||
 | 
					      image_tag:
 | 
				
			||||||
 | 
					        description: 'Docker image tag'
 | 
				
			||||||
 | 
					        default: '5.0.0'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					      docker_reference:
 | 
				
			||||||
 | 
					        description: 'wazuh-docker reference'
 | 
				
			||||||
 | 
					        default: 'v5.0.0'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					      PRODUCTS:
 | 
				
			||||||
 | 
					        description: 'Comma-separated list of the image names to build and push'
 | 
				
			||||||
 | 
					        default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					      filebeat_module_version:
 | 
				
			||||||
 | 
					        description: 'Filebeat module version'
 | 
				
			||||||
 | 
					        default: '0.4'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					      revision:
 | 
				
			||||||
 | 
					        description: 'Package revision'
 | 
				
			||||||
 | 
					        default: '1'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					      push_images:
 | 
				
			||||||
 | 
					        description: 'Push images'
 | 
				
			||||||
 | 
					        type: boolean
 | 
				
			||||||
 | 
					        default: true
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					      id:
 | 
				
			||||||
 | 
					        description: "ID used to identify the workflow uniquely."
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					        required: false
 | 
				
			||||||
 | 
					      dev:
 | 
				
			||||||
 | 
					        description: "Add tag suffix '-dev' to the image tag ?"
 | 
				
			||||||
 | 
					        type: boolean
 | 
				
			||||||
 | 
					        default: true
 | 
				
			||||||
 | 
					        required: false
 | 
				
			||||||
 | 
					  workflow_call:
 | 
				
			||||||
 | 
					    inputs:
 | 
				
			||||||
 | 
					      image_tag:
 | 
				
			||||||
 | 
					        description: 'Docker image tag'
 | 
				
			||||||
 | 
					        default: '5.0.0'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      docker_reference:
 | 
				
			||||||
 | 
					        description: 'wazuh-docker reference'
 | 
				
			||||||
 | 
					        default: 'v5.0.0'
 | 
				
			||||||
 | 
					        required: false
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      products:
 | 
				
			||||||
 | 
					        description: 'Comma-separated list of the image names to build and push'
 | 
				
			||||||
 | 
					        default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      filebeat_module_version:
 | 
				
			||||||
 | 
					        description: 'Filebeat module version'
 | 
				
			||||||
 | 
					        default: '0.4'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      revision:
 | 
				
			||||||
 | 
					        description: 'Package revision'
 | 
				
			||||||
 | 
					        default: '1'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      push_images:
 | 
				
			||||||
 | 
					        description: 'Push images'
 | 
				
			||||||
 | 
					        type: boolean
 | 
				
			||||||
 | 
					        default: true
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					      id:
 | 
				
			||||||
 | 
					        description: "ID used to identify the workflow uniquely."
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					        required: false
 | 
				
			||||||
 | 
					      dev:
 | 
				
			||||||
 | 
					        description: "Add tag suffix '-dev' to the image tag ?"
 | 
				
			||||||
 | 
					        type: boolean
 | 
				
			||||||
 | 
					        default: false
 | 
				
			||||||
 | 
					        required: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build-and-push:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Print inputs
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "Running Procedure_push_docker_images workflow"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "* BRANCH: ${{ github.ref }}"
 | 
				
			||||||
 | 
					        echo "* COMMIT: ${{ github.sha }}"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "Inputs provided:"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "* id: ${{ inputs.id }}"
 | 
				
			||||||
 | 
					        echo "* image_tag: ${{ inputs.image_tag }}"
 | 
				
			||||||
 | 
					        echo "* docker_reference: ${{ inputs.docker_reference }}"
 | 
				
			||||||
 | 
					        echo "* products: ${{ inputs.products }}"
 | 
				
			||||||
 | 
					        echo "* filebeat_module_version: ${{ inputs.filebeat_module_version }}"
 | 
				
			||||||
 | 
					        echo "* revision: ${{ inputs.revision }}"
 | 
				
			||||||
 | 
					        echo "* push_images: ${{ inputs.push_images }}"
 | 
				
			||||||
 | 
					        echo "* dev: ${{ inputs.dev }}"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Checkout repository
 | 
				
			||||||
 | 
					      uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        ref: ${{ inputs.docker_reference }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Log in to Docker Hub
 | 
				
			||||||
 | 
					      uses: docker/login-action@v3
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
				
			||||||
 | 
					        password: ${{ secrets.DOCKERHUB_PASSWORD }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Build Wazuh images
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        IMAGE_TAG=${{ inputs.image_tag }}
 | 
				
			||||||
 | 
					        FILEBEAT_MODULE_VERSION=${{ inputs.filebeat_module_version }}
 | 
				
			||||||
 | 
					        REVISION=${{ inputs.revision }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if [[ "$IMAGE_TAG" == *"-"* ]]; then
 | 
				
			||||||
 | 
					          IFS='-' read -r -a tokens <<< "$IMAGE_TAG"
 | 
				
			||||||
 | 
					          if [ -z "${tokens[1]}" ]; then
 | 
				
			||||||
 | 
					            echo "Invalid image tag: $IMAGE_TAG"
 | 
				
			||||||
 | 
					            exit 1
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          DEV_STAGE=${tokens[1]}
 | 
				
			||||||
 | 
					          WAZUH_VER=${tokens[0]}
 | 
				
			||||||
 | 
					          ./build-docker-images/build-images.sh -v $WAZUH_VER -r $REVISION -d $DEV_STAGE -f $FILEBEAT_MODULE_VERSION
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					          ./build-docker-images/build-images.sh -v $IMAGE_TAG -r $REVISION -f $FILEBEAT_MODULE_VERSION
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Save .env file (generated by build-images.sh) contents to $GITHUB_ENV
 | 
				
			||||||
 | 
					        ENV_FILE_PATH=".env"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if [ -f $ENV_FILE_PATH ]; then
 | 
				
			||||||
 | 
					          while IFS= read -r line || [ -n "$line" ]; do
 | 
				
			||||||
 | 
					            echo "$line" >> $GITHUB_ENV
 | 
				
			||||||
 | 
					          done < $ENV_FILE_PATH
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					          echo "The environment file $ENV_FILE_PATH does not exist!"
 | 
				
			||||||
 | 
					          exit 1
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Tag and Push Wazuh images
 | 
				
			||||||
 | 
					      if: ${{ inputs.push_images }}
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        IMAGE_TAG="${{ inputs.image_tag }}$( [ "${{ inputs.dev }}" == "true" ] && echo '-dev' || true )"
 | 
				
			||||||
 | 
					        IMAGE_NAMES=${{ inputs.products }}
 | 
				
			||||||
 | 
					        IFS=',' read -r -a images <<< "$IMAGE_NAMES"
 | 
				
			||||||
 | 
					        for image in "${images[@]}"; do
 | 
				
			||||||
 | 
					          echo "Tagging and pushing wazuh/$image:${WAZUH_VERSION} to wazuh/$image:$IMAGE_TAG"
 | 
				
			||||||
 | 
					          docker tag wazuh/$image:${WAZUH_VERSION} wazuh/$image:$IMAGE_TAG
 | 
				
			||||||
 | 
					          echo "Pushing wazuh/$image:$IMAGE_TAG ..."
 | 
				
			||||||
 | 
					          docker push wazuh/$image:$IMAGE_TAG
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
							
								
								
									
										77
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										77
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							@@ -22,6 +22,7 @@ jobs:
 | 
				
			|||||||
        docker save wazuh/wazuh-manager:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-manager.tar
 | 
					        docker save wazuh/wazuh-manager:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-manager.tar
 | 
				
			||||||
        docker save wazuh/wazuh-indexer:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar
 | 
					        docker save wazuh/wazuh-indexer:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar
 | 
				
			||||||
        docker save wazuh/wazuh-dashboard:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
 | 
					        docker save wazuh/wazuh-dashboard:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
 | 
				
			||||||
 | 
					        docker save wazuh/wazuh-cert-tool:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-cert-tool.tar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Temporarily save Wazuh manager Docker image
 | 
					    - name: Temporarily save Wazuh manager Docker image
 | 
				
			||||||
      uses: actions/upload-artifact@v3
 | 
					      uses: actions/upload-artifact@v3
 | 
				
			||||||
@@ -44,6 +45,13 @@ jobs:
 | 
				
			|||||||
        path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
 | 
					        path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
 | 
				
			||||||
        retention-days: 1
 | 
					        retention-days: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Temporarily save Wazuh Cert Tool Docker image
 | 
				
			||||||
 | 
					      uses: actions/upload-artifact@v3
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        name: docker-artifact-cert-tool
 | 
				
			||||||
 | 
					        path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-cert-tool.tar
 | 
				
			||||||
 | 
					        retention-days: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Install Goss
 | 
					    - name: Install Goss
 | 
				
			||||||
      uses: e1himself/goss-installation-action@v1.0.3
 | 
					      uses: e1himself/goss-installation-action@v1.0.3
 | 
				
			||||||
      with:
 | 
					      with:
 | 
				
			||||||
@@ -81,18 +89,25 @@ jobs:
 | 
				
			|||||||
      with:
 | 
					      with:
 | 
				
			||||||
        name: docker-artifact-dashboard
 | 
					        name: docker-artifact-dashboard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Retrieve saved Wazuh Cert Tool Docker image
 | 
				
			||||||
 | 
					      uses: actions/download-artifact@v3
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        name: docker-artifact-cert-tool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Docker load
 | 
					    - name: Docker load
 | 
				
			||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
        docker load --input ./wazuh-indexer.tar
 | 
					        docker load --input ./wazuh-indexer.tar
 | 
				
			||||||
        docker load --input ./wazuh-dashboard.tar
 | 
					        docker load --input ./wazuh-dashboard.tar
 | 
				
			||||||
        docker load --input ./wazuh-manager.tar
 | 
					        docker load --input ./wazuh-manager.tar
 | 
				
			||||||
 | 
					        docker load --input ./wazuh-cert-tool.tar
 | 
				
			||||||
 | 
					        rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-cert-tool.tar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Create single node certficates
 | 
					    - name: Create single node certficates
 | 
				
			||||||
      run: docker-compose -f single-node/generate-indexer-certs.yml run --rm generator
 | 
					      run: docker compose -f single-node/generate-certs.yml run --rm generator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Start single node stack
 | 
					    - name: Start single node stack
 | 
				
			||||||
      run: docker-compose -f single-node/docker-compose.yml up -d
 | 
					      run: docker compose -f single-node/docker-compose.yml up -d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Check Wazuh indexer start
 | 
					    - name: Check Wazuh indexer start
 | 
				
			||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
@@ -126,8 +141,9 @@ jobs:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    - name: Check documents into wazuh-alerts index
 | 
					    - name: Check documents into wazuh-alerts index
 | 
				
			||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
 | 
					       sleep 120
 | 
				
			||||||
       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
 | 
					       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
 | 
				
			||||||
       if [[ $docs -gt 100 ]]; then
 | 
					       if [[ $docs -gt 0 ]]; then
 | 
				
			||||||
        echo "wazuh-alerts index documents: ${docs}"
 | 
					        echo "wazuh-alerts index documents: ${docs}"
 | 
				
			||||||
       else
 | 
					       else
 | 
				
			||||||
        echo "wazuh-alerts index documents: ${docs}"
 | 
					        echo "wazuh-alerts index documents: ${docs}"
 | 
				
			||||||
@@ -138,7 +154,7 @@ jobs:
 | 
				
			|||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
       qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -P "wazuh|wazuh-agent|wazuh-statistics" | wc -l`"
 | 
					       qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -P "wazuh|wazuh-agent|wazuh-statistics" | wc -l`"
 | 
				
			||||||
       templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -P "wazuh|wazuh-agent|wazuh-statistics"`"
 | 
					       templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -P "wazuh|wazuh-agent|wazuh-statistics"`"
 | 
				
			||||||
       if [[ $qty_templates -eq 3 ]]; then
 | 
					       if [[ $qty_templates -gt 3 ]]; then
 | 
				
			||||||
        echo "wazuh templates:"
 | 
					        echo "wazuh templates:"
 | 
				
			||||||
        echo "${templates}"
 | 
					        echo "${templates}"
 | 
				
			||||||
       else
 | 
					       else
 | 
				
			||||||
@@ -161,10 +177,6 @@ jobs:
 | 
				
			|||||||
      env:
 | 
					      env:
 | 
				
			||||||
        TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
 | 
					        TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Check errors in ossec.log
 | 
					 | 
				
			||||||
      run: ./.github/single-node-log-check.sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Check filebeat output
 | 
					    - name: Check filebeat output
 | 
				
			||||||
      run: ./.github/single-node-filebeat-check.sh
 | 
					      run: ./.github/single-node-filebeat-check.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -178,8 +190,8 @@ jobs:
 | 
				
			|||||||
        exit 1
 | 
					        exit 1
 | 
				
			||||||
       fi
 | 
					       fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Stop single node stack
 | 
					    - name: Check errors in ossec.log
 | 
				
			||||||
      run: docker-compose -f single-node/docker-compose.yml down
 | 
					      run: ./.github/single-node-log-check.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  check-multi-node:
 | 
					  check-multi-node:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
@@ -192,6 +204,14 @@ jobs:
 | 
				
			|||||||
    - name: Create enviroment variables
 | 
					    - name: Create enviroment variables
 | 
				
			||||||
      run: cat .env > $GITHUB_ENV
 | 
					      run: cat .env > $GITHUB_ENV
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: free disk space
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        sudo swapoff -a
 | 
				
			||||||
 | 
					        sudo rm -f /swapfile
 | 
				
			||||||
 | 
					        sudo apt clean
 | 
				
			||||||
 | 
					        docker rmi $(docker image ls -aq)
 | 
				
			||||||
 | 
					        df -h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Retrieve saved Wazuh dashboard Docker image
 | 
					    - name: Retrieve saved Wazuh dashboard Docker image
 | 
				
			||||||
      uses: actions/download-artifact@v3
 | 
					      uses: actions/download-artifact@v3
 | 
				
			||||||
      with:
 | 
					      with:
 | 
				
			||||||
@@ -207,21 +227,34 @@ jobs:
 | 
				
			|||||||
      with:
 | 
					      with:
 | 
				
			||||||
        name: docker-artifact-indexer
 | 
					        name: docker-artifact-indexer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Retrieve saved Wazuh Cert Tool Docker image
 | 
				
			||||||
 | 
					      uses: actions/download-artifact@v3
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        name: docker-artifact-cert-tool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Docker load
 | 
					    - name: Docker load
 | 
				
			||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
        docker load --input ./wazuh-manager.tar
 | 
					 | 
				
			||||||
        docker load --input ./wazuh-indexer.tar
 | 
					        docker load --input ./wazuh-indexer.tar
 | 
				
			||||||
        docker load --input ./wazuh-dashboard.tar
 | 
					        docker load --input ./wazuh-dashboard.tar
 | 
				
			||||||
 | 
					        docker load --input ./wazuh-manager.tar
 | 
				
			||||||
 | 
					        docker load --input ./wazuh-cert-tool.tar
 | 
				
			||||||
 | 
					        rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-cert-tool.tar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Create multi node certficates
 | 
					    - name: Create multi node certficates
 | 
				
			||||||
      run: docker-compose -f multi-node/generate-indexer-certs.yml run --rm generator
 | 
					      run: docker compose -f multi-node/generate-certs.yml run --rm generator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Start multi node stack
 | 
					    - name: Start multi node stack
 | 
				
			||||||
      run: docker-compose -f multi-node/docker-compose.yml up -d
 | 
					      run: docker compose -f multi-node/docker-compose.yml up -d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Check Wazuh indexer start
 | 
					    - name: Check Wazuh indexer start
 | 
				
			||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
 | 
					       until [[ `curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s | grep green | wc -l`  -eq 1 ]]
 | 
				
			||||||
 | 
					       do
 | 
				
			||||||
 | 
					         echo 'Waiting for Wazuh indexer start'
 | 
				
			||||||
 | 
					         free -m
 | 
				
			||||||
 | 
					         df -h
 | 
				
			||||||
         sleep 120
 | 
					         sleep 120
 | 
				
			||||||
 | 
					       done
 | 
				
			||||||
       status_green="`curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s | grep green | wc -l`"
 | 
					       status_green="`curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s | grep green | wc -l`"
 | 
				
			||||||
       if [[ $status_green -eq 1 ]]; then
 | 
					       if [[ $status_green -eq 1 ]]; then
 | 
				
			||||||
        curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
 | 
					        curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
 | 
				
			||||||
@@ -250,8 +283,15 @@ jobs:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    - name: Check documents into wazuh-alerts index
 | 
					    - name: Check documents into wazuh-alerts index
 | 
				
			||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
 | 
					       until [[ $(``curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"``)  -gt 0 ]]
 | 
				
			||||||
 | 
					       do
 | 
				
			||||||
 | 
					         echo 'Waiting for Wazuh indexer events'
 | 
				
			||||||
 | 
					         free -m
 | 
				
			||||||
 | 
					         df -h
 | 
				
			||||||
 | 
					         sleep 10
 | 
				
			||||||
 | 
					       done
 | 
				
			||||||
       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
 | 
					       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
 | 
				
			||||||
       if [[ $docs -gt 100 ]]; then
 | 
					       if [[ $docs -gt 0 ]]; then
 | 
				
			||||||
        echo "wazuh-alerts index documents: ${docs}"
 | 
					        echo "wazuh-alerts index documents: ${docs}"
 | 
				
			||||||
       else
 | 
					       else
 | 
				
			||||||
        echo "wazuh-alerts index documents: ${docs}"
 | 
					        echo "wazuh-alerts index documents: ${docs}"
 | 
				
			||||||
@@ -262,7 +302,7 @@ jobs:
 | 
				
			|||||||
      run: |
 | 
					      run: |
 | 
				
			||||||
       qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh" | wc -l`"
 | 
					       qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh" | wc -l`"
 | 
				
			||||||
       templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh"`"
 | 
					       templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh"`"
 | 
				
			||||||
       if [[ $qty_templates -eq 3 ]]; then
 | 
					       if [[ $qty_templates -gt 3 ]]; then
 | 
				
			||||||
        echo "wazuh templates:"
 | 
					        echo "wazuh templates:"
 | 
				
			||||||
        echo "${templates}"
 | 
					        echo "${templates}"
 | 
				
			||||||
       else
 | 
					       else
 | 
				
			||||||
@@ -292,10 +332,6 @@ jobs:
 | 
				
			|||||||
      env:
 | 
					      env:
 | 
				
			||||||
        TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
 | 
					        TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Check errors in ossec.log
 | 
					 | 
				
			||||||
      run: ./.github/multi-node-log-check.sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Check filebeat output
 | 
					    - name: Check filebeat output
 | 
				
			||||||
      run: ./.github/multi-node-filebeat-check.sh
 | 
					      run: ./.github/multi-node-filebeat-check.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -308,3 +344,6 @@ jobs:
 | 
				
			|||||||
        echo "Wazuh dashboard status: ${status}"
 | 
					        echo "Wazuh dashboard status: ${status}"
 | 
				
			||||||
        exit 1
 | 
					        exit 1
 | 
				
			||||||
       fi
 | 
					       fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Check errors in ossec.log
 | 
				
			||||||
 | 
					      run: ./.github/multi-node-log-check.sh
 | 
				
			||||||
							
								
								
									
										77
									
								
								.github/workflows/trivy-dashboard.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								.github/workflows/trivy-dashboard.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					# This workflow uses actions that are not certified by GitHub.
 | 
				
			||||||
 | 
					# They are provided by a third-party and are governed by
 | 
				
			||||||
 | 
					# separate terms of service, privacy policy, and support
 | 
				
			||||||
 | 
					# documentation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					name: Trivy scan Wazuh dashboard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  release:
 | 
				
			||||||
 | 
					    types:
 | 
				
			||||||
 | 
					    - published
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - master
 | 
				
			||||||
 | 
					      - stable
 | 
				
			||||||
 | 
					  schedule:
 | 
				
			||||||
 | 
					    - cron: '34 2 * * 1'
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: read
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					    permissions:
 | 
				
			||||||
 | 
					      contents: read # for actions/checkout to fetch code
 | 
				
			||||||
 | 
					      security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    name: Build images and upload Trivy results
 | 
				
			||||||
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout code
 | 
				
			||||||
 | 
					        uses: actions/checkout@v3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Installing dependencies
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          sudo apt-get update
 | 
				
			||||||
 | 
					          sudo apt-get install -y jq
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Checkout latest tag
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          latest=$(curl -s "https://api.github.com/repos/wazuh/wazuh-docker/releases/latest" | jq -r '.tag_name')
 | 
				
			||||||
 | 
					          git fetch origin
 | 
				
			||||||
 | 
					          git checkout $latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Build Wazuh images
 | 
				
			||||||
 | 
					        run: build-docker-images/build-images.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Create enviroment variables
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          cat .env > $GITHUB_ENV
 | 
				
			||||||
 | 
					          echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Run Trivy vulnerability scanner for Wazuh dashboard
 | 
				
			||||||
 | 
					        uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          image-ref: 'wazuh/wazuh-dashboard:${{env.WAZUH_IMAGE_VERSION}}'
 | 
				
			||||||
 | 
					          format: 'template'
 | 
				
			||||||
 | 
					          template: '@/contrib/sarif.tpl'
 | 
				
			||||||
 | 
					          output: 'trivy-results-dashboard.sarif'
 | 
				
			||||||
 | 
					          severity: 'LOW,MEDIUM,CRITICAL,HIGH'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Upload Trivy scan results to GitHub Security tab
 | 
				
			||||||
 | 
					        uses: github/codeql-action/upload-sarif@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          sarif_file: 'trivy-results-dashboard.sarif'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Slack notification
 | 
				
			||||||
 | 
					        uses: rtCamp/action-slack-notify@v2
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          SLACK_CHANNEL: cicd-monitoring
 | 
				
			||||||
 | 
					          SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
 | 
				
			||||||
 | 
					          #SLACK_ICON: https://github.com/rtCamp.png?size=48
 | 
				
			||||||
 | 
					          SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}"
 | 
				
			||||||
 | 
					          SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished.
 | 
				
			||||||
 | 
					          SLACK_USERNAME: github_actions
 | 
				
			||||||
 | 
					          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
 | 
				
			||||||
							
								
								
									
										77
									
								
								.github/workflows/trivy-indexer.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								.github/workflows/trivy-indexer.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					# This workflow uses actions that are not certified by GitHub.
 | 
				
			||||||
 | 
					# They are provided by a third-party and are governed by
 | 
				
			||||||
 | 
					# separate terms of service, privacy policy, and support
 | 
				
			||||||
 | 
					# documentation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					name: Trivy scan Wazuh indexer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  release:
 | 
				
			||||||
 | 
					    types:
 | 
				
			||||||
 | 
					    - published
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - master
 | 
				
			||||||
 | 
					      - stable
 | 
				
			||||||
 | 
					  schedule:
 | 
				
			||||||
 | 
					    - cron: '34 2 * * 1'
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: read
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					    permissions:
 | 
				
			||||||
 | 
					      contents: read # for actions/checkout to fetch code
 | 
				
			||||||
 | 
					      security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    name: Build images and upload Trivy results
 | 
				
			||||||
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout code
 | 
				
			||||||
 | 
					        uses: actions/checkout@v3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Installing dependencies
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          sudo apt-get update
 | 
				
			||||||
 | 
					          sudo apt-get install -y jq
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Checkout latest tag
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          latest=$(curl -s "https://api.github.com/repos/wazuh/wazuh-docker/releases/latest" | jq -r '.tag_name')
 | 
				
			||||||
 | 
					          git fetch origin
 | 
				
			||||||
 | 
					          git checkout $latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Build Wazuh images
 | 
				
			||||||
 | 
					        run: build-docker-images/build-images.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Create enviroment variables
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          cat .env > $GITHUB_ENV
 | 
				
			||||||
 | 
					          echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Run Trivy vulnerability scanner for Wazuh indexer
 | 
				
			||||||
 | 
					        uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          image-ref: 'wazuh/wazuh-indexer:${{env.WAZUH_IMAGE_VERSION}}'
 | 
				
			||||||
 | 
					          format: 'template'
 | 
				
			||||||
 | 
					          template: '@/contrib/sarif.tpl'
 | 
				
			||||||
 | 
					          output: 'trivy-results-indexer.sarif'
 | 
				
			||||||
 | 
					          severity: 'LOW,MEDIUM,CRITICAL,HIGH'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Upload Trivy scan results to GitHub Security tab
 | 
				
			||||||
 | 
					        uses: github/codeql-action/upload-sarif@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          sarif_file: 'trivy-results-indexer.sarif'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Slack notification
 | 
				
			||||||
 | 
					        uses: rtCamp/action-slack-notify@v2
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          SLACK_CHANNEL: cicd-monitoring
 | 
				
			||||||
 | 
					          SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
 | 
				
			||||||
 | 
					          #SLACK_ICON: https://github.com/rtCamp.png?size=48
 | 
				
			||||||
 | 
					          SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}"
 | 
				
			||||||
 | 
					          SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished.
 | 
				
			||||||
 | 
					          SLACK_USERNAME: github_actions
 | 
				
			||||||
 | 
					          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
 | 
				
			||||||
							
								
								
									
										77
									
								
								.github/workflows/trivy-manager.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								.github/workflows/trivy-manager.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					# This workflow uses actions that are not certified by GitHub.
 | 
				
			||||||
 | 
					# They are provided by a third-party and are governed by
 | 
				
			||||||
 | 
					# separate terms of service, privacy policy, and support
 | 
				
			||||||
 | 
					# documentation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					name: Trivy scan Wazuh manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  release:
 | 
				
			||||||
 | 
					    types:
 | 
				
			||||||
 | 
					    - published
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - master
 | 
				
			||||||
 | 
					      - stable
 | 
				
			||||||
 | 
					  schedule:
 | 
				
			||||||
 | 
					    - cron: '34 2 * * 1'
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: read
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					    permissions:
 | 
				
			||||||
 | 
					      contents: read # for actions/checkout to fetch code
 | 
				
			||||||
 | 
					      security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    name: Build images and upload Trivy results
 | 
				
			||||||
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout code
 | 
				
			||||||
 | 
					        uses: actions/checkout@v3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Installing dependencies
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          sudo apt-get update
 | 
				
			||||||
 | 
					          sudo apt-get install -y jq
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Checkout latest tag
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          latest=$(curl -s "https://api.github.com/repos/wazuh/wazuh-docker/releases/latest" | jq -r '.tag_name')
 | 
				
			||||||
 | 
					          git fetch origin
 | 
				
			||||||
 | 
					          git checkout $latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Build Wazuh images
 | 
				
			||||||
 | 
					        run: build-docker-images/build-images.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Create enviroment variables
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          cat .env > $GITHUB_ENV
 | 
				
			||||||
 | 
					          echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Run Trivy vulnerability scanner for Wazuh manager
 | 
				
			||||||
 | 
					        uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          image-ref: 'wazuh/wazuh-manager:${{env.WAZUH_IMAGE_VERSION}}'
 | 
				
			||||||
 | 
					          format: 'template'
 | 
				
			||||||
 | 
					          template: '@/contrib/sarif.tpl'
 | 
				
			||||||
 | 
					          output: 'trivy-results-manager.sarif'
 | 
				
			||||||
 | 
					          severity: 'LOW,MEDIUM,CRITICAL,HIGH'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Upload Trivy scan results to GitHub Security tab
 | 
				
			||||||
 | 
					        uses: github/codeql-action/upload-sarif@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          sarif_file: 'trivy-results-manager.sarif'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Slack notification
 | 
				
			||||||
 | 
					        uses: rtCamp/action-slack-notify@v2
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          SLACK_CHANNEL: cicd-monitoring
 | 
				
			||||||
 | 
					          SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
 | 
				
			||||||
 | 
					          #SLACK_ICON: https://github.com/rtCamp.png?size=48
 | 
				
			||||||
 | 
					          SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}"
 | 
				
			||||||
 | 
					          SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished.
 | 
				
			||||||
 | 
					          SLACK_USERNAME: github_actions
 | 
				
			||||||
 | 
					          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
 | 
				
			||||||
							
								
								
									
										204
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										204
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -1,6 +1,205 @@
 | 
				
			|||||||
# Change Log
 | 
					# Change Log
 | 
				
			||||||
All notable changes to this project will be documented in this file.
 | 
					All notable changes to this project will be documented in this file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [5.0.0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Delete service tag and modifiy docker-compose execution for a new version ([#1632](https://github.com/wazuh/wazuh-docker/pull/1632))
 | 
				
			||||||
 | 
					- Remove deprecated attribute version in docker-compose.yml ([#1595](https://github.com/wazuh/wazuh-docker/pull/1595)) by https://github.com/h3ssan
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Fixed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Deleted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [4.10.2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Fixed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Deleted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [4.10.1]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Fixed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Deleted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [4.10.0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Migrate the push docker images procedure to GitHub Actions ([#5651](https://github.com/wazuh/wazuh-qa/issues/5651))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Fixed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Deleted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [4.9.2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.9.2](https://github.com/wazuh/wazuh/blob/v4.9.2/CHANGELOG.md#v492)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [4.9.1]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Fixed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix typos into Wazuh manager entrypoint ([#1569](https://github.com/wazuh/wazuh-docker/pull/1569))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Deleted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.9.0
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.9.0](https://github.com/wazuh/wazuh/blob/v4.9.0/CHANGELOG.md#v490)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.8.2
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.8.2](https://github.com/wazuh/wazuh/blob/v4.8.2/CHANGELOG.md#v482)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.8.1
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.8.1](https://github.com/wazuh/wazuh/blob/v4.8.1/CHANGELOG.md#v481)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.8.0
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.8.0](https://github.com/wazuh/wazuh/blob/v4.8.0/CHANGELOG.md#v480)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.7.5
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.7.5](https://github.com/wazuh/wazuh/blob/v4.7.5/CHANGELOG.md#v475)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.7.4
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.7.4](https://github.com/wazuh/wazuh/blob/v4.7.4/CHANGELOG.md#v474)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.7.3
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.7.3](https://github.com/wazuh/wazuh/blob/v4.7.3/CHANGELOG.md#v473)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.7.2
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.7.2](https://github.com/wazuh/wazuh/blob/v4.7.2/CHANGELOG.md#v472)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.7.1
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.7.1](https://github.com/wazuh/wazuh/blob/v4.7.1/CHANGELOG.md#v471)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.7.0
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.7.0](https://github.com/wazuh/wazuh/blob/v4.7.0/CHANGELOG.md#v470)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.6.0
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.6.0](https://github.com/wazuh/wazuh/blob/v4.6.0/CHANGELOG.md#v460)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.5.4
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.5.4](https://github.com/wazuh/wazuh/blob/v4.5.4/CHANGELOG.md#v454)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.5.3
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.5.3](https://github.com/wazuh/wazuh/blob/v4.5.3/CHANGELOG.md#v453)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.5.2
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.5.2](https://github.com/wazuh/wazuh/blob/v4.5.2/CHANGELOG.md#v452)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.5.1
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.5.1](https://github.com/wazuh/wazuh/blob/v4.5.1/CHANGELOG.md#v451)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.5.0
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.5.0](https://github.com/wazuh/wazuh/blob/v4.5.0/CHANGELOG.md#v450)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.4.5
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.4.5](https://github.com/wazuh/wazuh/blob/v4.4.5/CHANGELOG.md#v445)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.4.4
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.4.4](https://github.com/wazuh/wazuh/blob/v4.4.4/CHANGELOG.md#v444)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.4.3
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.4.3](https://github.com/wazuh/wazuh/blob/v4.4.3/CHANGELOG.md#v443)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.4.2
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.4.2](https://github.com/wazuh/wazuh/blob/v4.4.2/CHANGELOG.md#v442)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Wazuh Docker v4.4.1
 | 
					## Wazuh Docker v4.4.1
 | 
				
			||||||
### Added
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -11,6 +210,11 @@ All notable changes to this project will be documented in this file.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- Update Wazuh to version [4.4.0](https://github.com/wazuh/wazuh/blob/v4.4.0/CHANGELOG.md#v440)
 | 
					- Update Wazuh to version [4.4.0](https://github.com/wazuh/wazuh/blob/v4.4.0/CHANGELOG.md#v440)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wazuh Docker v4.3.11
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Wazuh to version [4.3.11](https://github.com/wazuh/wazuh/blob/v4.3.11/CHANGELOG.md#v4311)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Wazuh Docker v4.3.10
 | 
					## Wazuh Docker v4.3.10
 | 
				
			||||||
### Added
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										109
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								README.md
									
									
									
									
									
								
							@@ -8,19 +8,19 @@
 | 
				
			|||||||
In this repository you will find the containers to run:
 | 
					In this repository you will find the containers to run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Wazuh manager: it runs the Wazuh manager, Wazuh API and Filebeat OSS
 | 
					* Wazuh manager: it runs the Wazuh manager, Wazuh API and Filebeat OSS
 | 
				
			||||||
* Wazuh dashboard: provides a web user interface to browse through alerts data and allows you to visualize agents configuration and status.
 | 
					* Wazuh dashboard: provides a web user interface to browse through alert data and allows you to visualize the agents configuration and status.
 | 
				
			||||||
* Wazuh indexer: Wazuh indexer container (working as a single-node cluster or as a multi-node cluster). **Be aware to increase the `vm.max_map_count` setting, as it's detailed in the [Wazuh documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#increase-max-map-count-on-your-host-linux).**
 | 
					* Wazuh indexer: Wazuh indexer container (working as a single-node cluster or as a multi-node cluster). **Be aware to increase the `vm.max_map_count` setting, as it's detailed in the [Wazuh documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#increase-max-map-count-on-your-host-linux).**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The folder `build-docker-images` contains a README explaining how to build the Wazuh images and the necessary assets.
 | 
					The folder `build-docker-images` contains a README explaining how to build the Wazuh images and the necessary assets.
 | 
				
			||||||
The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets.
 | 
					The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets.
 | 
				
			||||||
The folder `single-node` contains a README explaining how to run a Wazuh environment with one Wazuh manager, one Wazuh indexer, and one Wazuh dashboard.
 | 
					The folder `single-node` contains a README explaining how to run a Wazuh environment with one Wazuh manager, one Wazuh indexer, and one Wazuh dashboard.
 | 
				
			||||||
The folder `multi-node` contains a README explaining how to run a Wazuh environment with two Wazuh managers, three Wazuh indexer, and one Wazuh dashboard.
 | 
					The folder `multi-node` contains a README explaining how to run a Wazuh environment with two Wazuh managers, three Wazuh indexers, and one Wazuh dashboard.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Documentation
 | 
					## Documentation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* [Wazuh full documentation](http://documentation.wazuh.com)
 | 
					* [Wazuh full documentation](http://documentation.wazuh.com)
 | 
				
			||||||
* [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html)
 | 
					* [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html)
 | 
				
			||||||
* [Docker hub](https://hub.docker.com/u/wazuh)
 | 
					* [Docker Hub](https://hub.docker.com/u/wazuh)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Setup SSL certificate
 | 
					### Setup SSL certificate
 | 
				
			||||||
@@ -38,7 +38,7 @@ Default values are included when available.
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
API_USERNAME="wazuh-wui"                            # Wazuh API username
 | 
					API_USERNAME="wazuh-wui"                            # Wazuh API username
 | 
				
			||||||
API_PASSWORD="MyS3cr37P450r.*-"                     # Wazuh API password - Must comply with requirements
 | 
					API_PASSWORD="MyS3cr37P450r.*-"                     # Wazuh API password - Must comply with requirements
 | 
				
			||||||
                                                    # (8+ length, uppercase, lowercase, specials chars)
 | 
					                                                    # (8+ length, uppercase, lowercase, special chars)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
INDEXER_URL=https://wazuh.indexer:9200              # Wazuh indexer URL
 | 
					INDEXER_URL=https://wazuh.indexer:9200              # Wazuh indexer URL
 | 
				
			||||||
INDEXER_USERNAME=admin                              # Wazuh indexer Username
 | 
					INDEXER_USERNAME=admin                              # Wazuh indexer Username
 | 
				
			||||||
@@ -53,25 +53,11 @@ SSL_KEY=""                                          # Path of Filebeat SSL Key
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
PATTERN="wazuh-alerts-*"        # Default index pattern to use
 | 
					PATTERN="wazuh-alerts-*"        # Default index pattern to use
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CHECKS_PATTERN=true             # Defines which checks must to be consider by the healthcheck
 | 
					CHECKS_PATTERN=true             # Defines which checks must be considered by the healthcheck
 | 
				
			||||||
CHECKS_TEMPLATE=true            # step once the Wazuh app starts. Values must to be true or false
 | 
					CHECKS_TEMPLATE=true            # step once the Wazuh app starts. Values must be true or false
 | 
				
			||||||
CHECKS_API=true
 | 
					CHECKS_API=true
 | 
				
			||||||
CHECKS_SETUP=true
 | 
					CHECKS_SETUP=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXTENSIONS_PCI=true             # Enable PCI Extension
 | 
					 | 
				
			||||||
EXTENSIONS_GDPR=true            # Enable GDPR Extension
 | 
					 | 
				
			||||||
EXTENSIONS_HIPAA=true           # Enable HIPAA Extension
 | 
					 | 
				
			||||||
EXTENSIONS_NIST=true            # Enable NIST Extension
 | 
					 | 
				
			||||||
EXTENSIONS_TSC=true             # Enable TSC Extension
 | 
					 | 
				
			||||||
EXTENSIONS_AUDIT=true           # Enable Audit Extension
 | 
					 | 
				
			||||||
EXTENSIONS_OSCAP=false          # Enable OpenSCAP Extension
 | 
					 | 
				
			||||||
EXTENSIONS_CISCAT=false         # Enable CISCAT Extension
 | 
					 | 
				
			||||||
EXTENSIONS_AWS=false            # Enable AWS Extension
 | 
					 | 
				
			||||||
EXTENSIONS_GCP=false            # Enable GCP Extension
 | 
					 | 
				
			||||||
EXTENSIONS_VIRUSTOTAL=false     # Enable Virustotal Extension
 | 
					 | 
				
			||||||
EXTENSIONS_OSQUERY=false        # Enable OSQuery Extension
 | 
					 | 
				
			||||||
EXTENSIONS_DOCKER=false         # Enable Docker Extension
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
APP_TIMEOUT=20000               # Defines maximum timeout to be used on the Wazuh app requests
 | 
					APP_TIMEOUT=20000               # Defines maximum timeout to be used on the Wazuh app requests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
API_SELECTOR=true               Defines if the user is allowed to change the selected API directly from the Wazuh app top menu
 | 
					API_SELECTOR=true               Defines if the user is allowed to change the selected API directly from the Wazuh app top menu
 | 
				
			||||||
@@ -89,18 +75,23 @@ WAZUH_MONITORING_REPLICAS=0         ##
 | 
				
			|||||||
## Directory structure
 | 
					## Directory structure
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ├── build-docker-images
 | 
					    ├── build-docker-images
 | 
				
			||||||
    │   ├── docker-compose.yml
 | 
					    │   ├── build-images.sh
 | 
				
			||||||
 | 
					    │   ├── build-images.yml
 | 
				
			||||||
 | 
					    │   ├── README.md
 | 
				
			||||||
    │   ├── wazuh-dashboard
 | 
					    │   ├── wazuh-dashboard
 | 
				
			||||||
    │   │   ├── config
 | 
					    │   │   ├── config
 | 
				
			||||||
    │   │   │   ├── config.sh
 | 
					    │   │   │   ├── config.sh
 | 
				
			||||||
    │   │   │   ├── config.yml
 | 
					    │   │   │   ├── config.yml
 | 
				
			||||||
 | 
					    │   │   │   ├── dl_base.sh
 | 
				
			||||||
    │   │   │   ├── entrypoint.sh
 | 
					    │   │   │   ├── entrypoint.sh
 | 
				
			||||||
 | 
					    │   │   │   ├── install_wazuh_app.sh
 | 
				
			||||||
    │   │   │   ├── opensearch_dashboards.yml
 | 
					    │   │   │   ├── opensearch_dashboards.yml
 | 
				
			||||||
    │   │   │   ├── wazuh_app_config.sh
 | 
					    │   │   │   ├── wazuh_app_config.sh
 | 
				
			||||||
    │   │   │   └── wazuh.yml
 | 
					    │   │   │   └── wazuh.yml
 | 
				
			||||||
    │   │   └── Dockerfile
 | 
					    │   │   └── Dockerfile
 | 
				
			||||||
    │   ├── wazuh-indexer
 | 
					    │   ├── wazuh-indexer
 | 
				
			||||||
    │   │   ├── config
 | 
					    │   │   ├── config
 | 
				
			||||||
 | 
					    │   │   │   ├── action_groups.yml
 | 
				
			||||||
    │   │   │   ├── config.sh
 | 
					    │   │   │   ├── config.sh
 | 
				
			||||||
    │   │   │   ├── config.yml
 | 
					    │   │   │   ├── config.yml
 | 
				
			||||||
    │   │   │   ├── entrypoint.sh
 | 
					    │   │   │   ├── entrypoint.sh
 | 
				
			||||||
@@ -112,6 +103,7 @@ WAZUH_MONITORING_REPLICAS=0         ##
 | 
				
			|||||||
    │   │   └── Dockerfile
 | 
					    │   │   └── Dockerfile
 | 
				
			||||||
    │   └── wazuh-manager
 | 
					    │   └── wazuh-manager
 | 
				
			||||||
    │       ├── config
 | 
					    │       ├── config
 | 
				
			||||||
 | 
					    │       │   ├── check_repository.sh
 | 
				
			||||||
    │       │   ├── create_user.py
 | 
					    │       │   ├── create_user.py
 | 
				
			||||||
    │       │   ├── etc
 | 
					    │       │   ├── etc
 | 
				
			||||||
    │       │   │   ├── cont-init.d
 | 
					    │       │   │   ├── cont-init.d
 | 
				
			||||||
@@ -124,19 +116,21 @@ WAZUH_MONITORING_REPLICAS=0         ##
 | 
				
			|||||||
    │       │   │       │   └── run
 | 
					    │       │   │       │   └── run
 | 
				
			||||||
    │       │   │       └── ossec-logs
 | 
					    │       │   │       └── ossec-logs
 | 
				
			||||||
    │       │   │           └── run
 | 
					    │       │   │           └── run
 | 
				
			||||||
 | 
					    │       │   ├── filebeat_module.sh
 | 
				
			||||||
    │       │   ├── filebeat.yml
 | 
					    │       │   ├── filebeat.yml
 | 
				
			||||||
    │       │   ├── permanent_data.env
 | 
					    │       │   ├── permanent_data.env
 | 
				
			||||||
    │       │   ├── permanent_data.sh
 | 
					    │       │   └── permanent_data.sh
 | 
				
			||||||
    │       │   └── wazuh.repo
 | 
					 | 
				
			||||||
    │       └── Dockerfile
 | 
					    │       └── Dockerfile
 | 
				
			||||||
    ├── CHANGELOG.md
 | 
					    ├── CHANGELOG.md
 | 
				
			||||||
    ├── indexer-certs-creator
 | 
					    ├── indexer-certs-creator
 | 
				
			||||||
    │   ├── config
 | 
					    │   ├── config
 | 
				
			||||||
    │   │   └── entrypoint.sh
 | 
					    │   │   └── entrypoint.sh
 | 
				
			||||||
    │   └── Dockerfile
 | 
					    │   ├── Dockerfile
 | 
				
			||||||
 | 
					    │   └── README.md
 | 
				
			||||||
    ├── LICENSE
 | 
					    ├── LICENSE
 | 
				
			||||||
    ├── multi-node
 | 
					    ├── multi-node
 | 
				
			||||||
    │   ├── config
 | 
					    │   ├── config
 | 
				
			||||||
 | 
					    │   │   ├── certs.yml
 | 
				
			||||||
    │   │   ├── nginx
 | 
					    │   │   ├── nginx
 | 
				
			||||||
    │   │   │   └── nginx.conf
 | 
					    │   │   │   └── nginx.conf
 | 
				
			||||||
    │   │   ├── wazuh_cluster
 | 
					    │   │   ├── wazuh_cluster
 | 
				
			||||||
@@ -145,58 +139,73 @@ WAZUH_MONITORING_REPLICAS=0         ##
 | 
				
			|||||||
    │   │   ├── wazuh_dashboard
 | 
					    │   │   ├── wazuh_dashboard
 | 
				
			||||||
    │   │   │   ├── opensearch_dashboards.yml
 | 
					    │   │   │   ├── opensearch_dashboards.yml
 | 
				
			||||||
    │   │   │   └── wazuh.yml
 | 
					    │   │   │   └── wazuh.yml
 | 
				
			||||||
    │   │   ├── wazuh_indexer
 | 
					    │   │   └── wazuh_indexer
 | 
				
			||||||
    │   │   │   ├── internal_users.yml
 | 
					    │   │       ├── internal_users.yml
 | 
				
			||||||
    │   │   │   ├── wazuh1.indexer.yml
 | 
					    │   │       ├── wazuh1.indexer.yml
 | 
				
			||||||
    │   │   │   ├── wazuh2.indexer.yml
 | 
					    │   │       ├── wazuh2.indexer.yml
 | 
				
			||||||
    │   │   │   └── wazuh3.indexer.yml
 | 
					    │   │       └── wazuh3.indexer.yml
 | 
				
			||||||
    │   │   └── wazuh_indexer_ssl_certs
 | 
					 | 
				
			||||||
    │   │       └── certs.yml
 | 
					 | 
				
			||||||
    │   ├── docker-compose.yml
 | 
					    │   ├── docker-compose.yml
 | 
				
			||||||
    │   ├── generate-indexer-certs.yml
 | 
					    │   ├── generate-indexer-certs.yml
 | 
				
			||||||
    │   ├── Migration-to-Wazuh-4.3.md
 | 
					    │   ├── Migration-to-Wazuh-4.4.md
 | 
				
			||||||
 | 
					    │   ├── README.md
 | 
				
			||||||
    │   └── volume-migrator.sh
 | 
					    │   └── volume-migrator.sh
 | 
				
			||||||
    ├── README.md
 | 
					    ├── README.md
 | 
				
			||||||
 | 
					    ├── SECURITY.md
 | 
				
			||||||
    ├── single-node
 | 
					    ├── single-node
 | 
				
			||||||
    │   ├── config
 | 
					    │   ├── config
 | 
				
			||||||
 | 
					    │   │   ├── certs.yml
 | 
				
			||||||
    │   │   ├── wazuh_cluster
 | 
					    │   │   ├── wazuh_cluster
 | 
				
			||||||
    │   │   │   └── wazuh_manager.conf
 | 
					    │   │   │   └── wazuh_manager.conf
 | 
				
			||||||
    │   │   ├── wazuh_dashboard
 | 
					    │   │   ├── wazuh_dashboard
 | 
				
			||||||
    │   │   │   ├── opensearch_dashboards.yml
 | 
					    │   │   │   ├── opensearch_dashboards.yml
 | 
				
			||||||
    │   │   │   └── wazuh.yml
 | 
					    │   │   │   └── wazuh.yml
 | 
				
			||||||
    │   │   ├── wazuh_indexer
 | 
					    │   │   └── wazuh_indexer
 | 
				
			||||||
    │   │   │   ├── internal_users.yml
 | 
					    │   │       ├── internal_users.yml
 | 
				
			||||||
    │   │   │   └── wazuh.indexer.yml
 | 
					    │   │       └── wazuh.indexer.yml
 | 
				
			||||||
    │   │   └── wazuh_indexer_ssl_certs
 | 
					 | 
				
			||||||
    │   │       ├── admin-key.pem
 | 
					 | 
				
			||||||
    │   │       ├── admin.pem
 | 
					 | 
				
			||||||
    │   │       ├── certs.yml
 | 
					 | 
				
			||||||
    │   │       ├── root-ca.key
 | 
					 | 
				
			||||||
    │   │       ├── root-ca.pem
 | 
					 | 
				
			||||||
    │   │       ├── wazuh.dashboard-key.pem
 | 
					 | 
				
			||||||
    │   │       ├── wazuh.dashboard.pem
 | 
					 | 
				
			||||||
    │   │       ├── wazuh.indexer-key.pem
 | 
					 | 
				
			||||||
    │   │       ├── wazuh.indexer.pem
 | 
					 | 
				
			||||||
    │   │       ├── wazuh.manager-key.pem
 | 
					 | 
				
			||||||
    │   │       └── wazuh.manager.pem
 | 
					 | 
				
			||||||
    │   ├── docker-compose.yml
 | 
					    │   ├── docker-compose.yml
 | 
				
			||||||
    │   ├── generate-indexer-certs.yml
 | 
					    │   ├── generate-indexer-certs.yml
 | 
				
			||||||
    │   └── README.md
 | 
					    │   └── README.md
 | 
				
			||||||
    └── VERSION
 | 
					    └── VERSION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
## Branches
 | 
					## Branches
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* `master` branch contains the latest code, be aware of possible bugs on this branch.
 | 
					* `master` branch contains the latest code, be aware of possible bugs on this branch.
 | 
				
			||||||
* `stable` branch on correspond to the last Wazuh stable version.
 | 
					* `stable` branch corresponds to the last Wazuh stable version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Compatibility Matrix
 | 
					## Compatibility Matrix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Wazuh version | ODFE    | XPACK  |
 | 
					| Wazuh version | ODFE    | XPACK  |
 | 
				
			||||||
|---------------|---------|--------|
 | 
					|---------------|---------|--------|
 | 
				
			||||||
 | 
					| v5.0.0        |         |        |
 | 
				
			||||||
 | 
					| v4.10.2       |         |        |
 | 
				
			||||||
 | 
					| v4.10.1       |         |        |
 | 
				
			||||||
 | 
					| v4.10.0       |         |        |
 | 
				
			||||||
 | 
					| v4.9.2        |         |        |
 | 
				
			||||||
 | 
					| v4.9.1        |         |        |
 | 
				
			||||||
 | 
					| v4.9.0        |         |        |
 | 
				
			||||||
 | 
					| v4.8.2        |         |        |
 | 
				
			||||||
 | 
					| v4.8.1        |         |        |
 | 
				
			||||||
 | 
					| v4.8.0        |         |        |
 | 
				
			||||||
 | 
					| v4.7.5        |         |        |
 | 
				
			||||||
 | 
					| v4.7.4        |         |        |
 | 
				
			||||||
 | 
					| v4.7.3        |         |        |
 | 
				
			||||||
 | 
					| v4.7.2        |         |        |
 | 
				
			||||||
 | 
					| v4.7.1        |         |        |
 | 
				
			||||||
 | 
					| v4.7.0        |         |        |
 | 
				
			||||||
 | 
					| v4.6.0        |         |        |
 | 
				
			||||||
 | 
					| v4.5.4        |         |        |
 | 
				
			||||||
 | 
					| v4.5.3        |         |        |
 | 
				
			||||||
 | 
					| v4.5.2        |         |        |
 | 
				
			||||||
 | 
					| v4.5.1        |         |        |
 | 
				
			||||||
 | 
					| v4.5.0        |         |        |
 | 
				
			||||||
 | 
					| v4.4.5        |         |        |
 | 
				
			||||||
 | 
					| v4.4.4        |         |        |
 | 
				
			||||||
 | 
					| v4.4.3        |         |        |
 | 
				
			||||||
 | 
					| v4.4.2        |         |        |
 | 
				
			||||||
| v4.4.1        |         |        |
 | 
					| v4.4.1        |         |        |
 | 
				
			||||||
| v4.4.0        |         |        |
 | 
					| v4.4.0        |         |        |
 | 
				
			||||||
 | 
					| v4.3.11       |         |        |
 | 
				
			||||||
| v4.3.10       |         |        |
 | 
					| v4.3.10       |         |        |
 | 
				
			||||||
| v4.3.9        |         |        |
 | 
					| v4.3.9        |         |        |
 | 
				
			||||||
| v4.3.8        |         |        |
 | 
					| v4.3.8        |         |        |
 | 
				
			||||||
@@ -235,7 +244,7 @@ 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)
 | 
					*  "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)
 | 
					*  "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.
 | 
					We thank them and everyone else who has contributed to this project.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## License and copyright
 | 
					## License and copyright
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										45
									
								
								SECURITY.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								SECURITY.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					# Wazuh Open Source Project Security Policy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version: 2023-06-12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Introduction
 | 
				
			||||||
 | 
					This document outlines the Security Policy for Wazuh's open source projects. It emphasizes our commitment to maintain a secure environment for our users and contributors, and reflects our belief in the power of collaboration to identify and resolve security vulnerabilities.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Scope
 | 
				
			||||||
 | 
					This policy applies to all open source projects developed, maintained, or hosted by Wazuh.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Reporting Security Vulnerabilities
 | 
				
			||||||
 | 
					If you believe you've discovered a potential security vulnerability in one of our open source projects, we strongly encourage you to report it to us responsibly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Please submit your findings as security advisories under the "Security" tab in the relevant GitHub repository. Alternatively, you may send the details of your findings to [security@wazuh.com](mailto:security@wazuh.com).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Vulnerability Disclosure Policy
 | 
				
			||||||
 | 
					Upon receiving a report of a potential vulnerability, our team will initiate an investigation. If the reported issue is confirmed as a vulnerability, we will take the following steps:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Acknowledgment: We will acknowledge the receipt of your vulnerability report and begin our investigation.
 | 
				
			||||||
 | 
					2. Validation: We will validate the issue and work on reproducing it in our environment.
 | 
				
			||||||
 | 
					3. Remediation: We will work on a fix and thoroughly test it
 | 
				
			||||||
 | 
					4. Release & Disclosure: After 90 days from the discovery of the vulnerability, or as soon as a fix is ready and thoroughly tested (whichever comes first), we will release a security update for the affected project. We will also publicly disclose the vulnerability by publishing a CVE (Common Vulnerabilities and Exposures) and acknowledging the discovering party.
 | 
				
			||||||
 | 
					5. Exceptions: In order to preserve the security of the Wazuh community at large, we might extend the disclosure period to allow users to patch their deployments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This 90-day period allows for end-users to update their systems and minimizes the risk of widespread exploitation of the vulnerability.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Automatic Scanning
 | 
				
			||||||
 | 
					We leverage GitHub Actions to perform automated scans of our supply chain. These scans assist us in identifying vulnerabilities and outdated dependencies in a proactive and timely manner.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Credit
 | 
				
			||||||
 | 
					We believe in giving credit where credit is due. If you report a security vulnerability to us, and we determine that it is a valid vulnerability, we will publicly credit you for the discovery when we disclose the vulnerability. If you wish to remain anonymous, please indicate so in your initial report.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					We do appreciate and encourage feedback from our community, but currently we do not have a bounty program. We might start bounty programs in the future.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Compliance with this Policy
 | 
				
			||||||
 | 
					We consider the discovery and reporting of security vulnerabilities an important public service. We encourage responsible reporting of any vulnerabilities that may be found in our site or applications.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Furthermore, we will not take legal action against or suspend or terminate access to the site or services of those who discover and report security vulnerabilities in accordance with this policy because of the fact.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					We ask that all users and contributors respect this policy and the security of our community's users by disclosing vulnerabilities to us in accordance with this policy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Changes to this Security Policy
 | 
				
			||||||
 | 
					This policy may be revised from time to time. Each version of the policy will be identified at the top of the page by its effective date.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you have any questions about this Security Policy, please contact us at [security@wazuh.com](mailto:security@wazuh.com)
 | 
				
			||||||
							
								
								
									
										4
									
								
								VERSION
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								VERSION
									
									
									
									
									
								
							@@ -1,2 +1,2 @@
 | 
				
			|||||||
WAZUH-DOCKER_VERSION="4.4.1"
 | 
					WAZUH-DOCKER_VERSION="5.0.0"
 | 
				
			||||||
REVISION="40405"
 | 
					REVISION="50000"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,3 +9,24 @@ $ build-docker-images/build-images.sh
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This script initializes the environment variables needed to build each of the images.
 | 
					This script initializes the environment variables needed to build each of the images.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ build-docker-images/build-images.sh -v 5.0.0
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To get all the available script options use the -h or --help option:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ build-docker-images/build-images.sh -h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Usage: build-docker-images/build-images.sh [OPTIONS]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default.
 | 
				
			||||||
 | 
					    -f, --filebeat-module <ref>  [Optional] Set Filebeat module version. By default 0.4.
 | 
				
			||||||
 | 
					    -r, --revision <rev>         [Optional] Package revision. By default 1
 | 
				
			||||||
 | 
					    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, 5.0.0.
 | 
				
			||||||
 | 
					    -h, --help                   Show this help.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@@ -1,17 +1,145 @@
 | 
				
			|||||||
WAZUH_IMAGE_VERSION=4.4.1
 | 
					WAZUH_IMAGE_VERSION=5.0.0
 | 
				
			||||||
WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')
 | 
					WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')
 | 
				
			||||||
WAZUH_TAG_REVISION=1
 | 
					WAZUH_TAG_REVISION=1
 | 
				
			||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g')
 | 
					WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g')
 | 
				
			||||||
 | 
					IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## If wazuh manager exists in apt dev repository, change variables, if not, exit 1
 | 
					# Wazuh package generator
 | 
				
			||||||
if [ "$WAZUH_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then
 | 
					# Copyright (C) 2023, Wazuh Inc.
 | 
				
			||||||
  IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
 | 
					#
 | 
				
			||||||
else
 | 
					# This program is a free software; you can redistribute it
 | 
				
			||||||
  IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
 | 
					# and/or modify it under the terms of the GNU General Public
 | 
				
			||||||
fi
 | 
					# License (version 2) as published by the FSF - Free Software
 | 
				
			||||||
 | 
					# Foundation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > .env
 | 
					WAZUH_IMAGE_VERSION="5.0.0"
 | 
				
			||||||
echo WAZUH_IMAGE_VERSION=$IMAGE_VERSION >> .env
 | 
					WAZUH_TAG_REVISION="1"
 | 
				
			||||||
echo WAZUH_TAG_REVISION=$WAZUH_TAG_REVISION >> .env
 | 
					WAZUH_DEV_STAGE=""
 | 
				
			||||||
 | 
					FILEBEAT_MODULE_VERSION="0.4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					trap ctrl_c INT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean() {
 | 
				
			||||||
 | 
					    exit_code=$1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    exit ${exit_code}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ctrl_c() {
 | 
				
			||||||
 | 
					    clean 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					build() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    WAZUH_VERSION="$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')"
 | 
				
			||||||
 | 
					    FILEBEAT_TEMPLATE_BRANCH="${WAZUH_IMAGE_VERSION}"
 | 
				
			||||||
 | 
					    WAZUH_FILEBEAT_MODULE="wazuh-filebeat-${FILEBEAT_MODULE_VERSION}.tar.gz"
 | 
				
			||||||
 | 
					    WAZUH_UI_REVISION="${WAZUH_TAG_REVISION}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if  [ "${WAZUH_DEV_STAGE}" ];then
 | 
				
			||||||
 | 
					        FILEBEAT_TEMPLATE_BRANCH="v${FILEBEAT_TEMPLATE_BRANCH}-${WAZUH_DEV_STAGE,,}"
 | 
				
			||||||
 | 
					        if ! curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/${FILEBEAT_TEMPLATE_BRANCH}"; then
 | 
				
			||||||
 | 
					            echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}"
 | 
				
			||||||
 | 
					            clean 1
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        if curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/v${FILEBEAT_TEMPLATE_BRANCH}"; then
 | 
				
			||||||
 | 
					            FILEBEAT_TEMPLATE_BRANCH="v${FILEBEAT_TEMPLATE_BRANCH}"
 | 
				
			||||||
 | 
					        elif curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/${FILEBEAT_TEMPLATE_BRANCH}"; then
 | 
				
			||||||
 | 
					            FILEBEAT_TEMPLATE_BRANCH="${FILEBEAT_TEMPLATE_BRANCH}"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            WAZUH_MASTER_VERSION="$(curl -s https://raw.githubusercontent.com/wazuh/wazuh/master/src/VERSION | sed -e 's/v//g')"
 | 
				
			||||||
 | 
					            if [ "${FILEBEAT_TEMPLATE_BRANCH}" == "${WAZUH_MASTER_VERSION}" ]; then
 | 
				
			||||||
 | 
					                FILEBEAT_TEMPLATE_BRANCH="master"
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}"
 | 
				
			||||||
 | 
					                clean 1
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > .env
 | 
				
			||||||
 | 
					    echo WAZUH_IMAGE_VERSION=$WAZUH_IMAGE_VERSION >> .env
 | 
				
			||||||
 | 
					    echo WAZUH_TAG_REVISION=$WAZUH_TAG_REVISION >> .env
 | 
				
			||||||
 | 
					    echo FILEBEAT_TEMPLATE_BRANCH=$FILEBEAT_TEMPLATE_BRANCH >> .env
 | 
				
			||||||
 | 
					    echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
 | 
				
			||||||
 | 
					    echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    docker compose -f build-docker-images/build-images.yml --env-file .env build --no-cache
 | 
				
			||||||
 | 
					    docker build -t wazuh/wazuh-cert-tool:$WAZUH_IMAGE_VERSION build-docker-images/cert-tool-image/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					help() {
 | 
				
			||||||
 | 
					    echo
 | 
				
			||||||
 | 
					    echo "Usage: $0 [OPTIONS]"
 | 
				
			||||||
 | 
					    echo
 | 
				
			||||||
 | 
					    echo "    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default."
 | 
				
			||||||
 | 
					    echo "    -f, --filebeat-module <ref>  [Optional] Set Filebeat module version. By default ${FILEBEAT_MODULE_VERSION}."
 | 
				
			||||||
 | 
					    echo "    -r, --revision <rev>         [Optional] Package revision. By default ${WAZUH_TAG_REVISION}"
 | 
				
			||||||
 | 
					    echo "    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, ${WAZUH_IMAGE_VERSION}."
 | 
				
			||||||
 | 
					    echo "    -h, --help                   Show this help."
 | 
				
			||||||
 | 
					    echo
 | 
				
			||||||
 | 
					    exit $1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					main() {
 | 
				
			||||||
 | 
					    while [ -n "${1}" ]
 | 
				
			||||||
 | 
					    do
 | 
				
			||||||
 | 
					        case "${1}" in
 | 
				
			||||||
 | 
					        "-h"|"--help")
 | 
				
			||||||
 | 
					            help 0
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
 | 
					        "-d"|"--dev")
 | 
				
			||||||
 | 
					            if [ -n "${2}" ]; then
 | 
				
			||||||
 | 
					                WAZUH_DEV_STAGE="${2}"
 | 
				
			||||||
 | 
					                shift 2
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                help 1
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
 | 
					        "-f"|"--filebeat-module")
 | 
				
			||||||
 | 
					            if [ -n "${2}" ]; then
 | 
				
			||||||
 | 
					                FILEBEAT_MODULE_VERSION="${2}"
 | 
				
			||||||
 | 
					                shift 2
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                help 1
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
 | 
					        "-r"|"--revision")
 | 
				
			||||||
 | 
					            if [ -n "${2}" ]; then
 | 
				
			||||||
 | 
					                WAZUH_TAG_REVISION="${2}"
 | 
				
			||||||
 | 
					                shift 2
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                help 1
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
 | 
					        "-v"|"--version")
 | 
				
			||||||
 | 
					            if [ -n "$2" ]; then
 | 
				
			||||||
 | 
					                WAZUH_IMAGE_VERSION="$2"
 | 
				
			||||||
 | 
					                shift 2
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                help 1
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
 | 
					        *)
 | 
				
			||||||
 | 
					            help 1
 | 
				
			||||||
 | 
					        esac
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    build || clean 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    clean 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					main "$@"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,4 @@
 | 
				
			|||||||
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
version: '3.7'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  wazuh.manager:
 | 
					  wazuh.manager:
 | 
				
			||||||
    build:
 | 
					    build:
 | 
				
			||||||
@@ -8,6 +6,8 @@ services:
 | 
				
			|||||||
      args:
 | 
					      args:
 | 
				
			||||||
        WAZUH_VERSION: ${WAZUH_VERSION}
 | 
					        WAZUH_VERSION: ${WAZUH_VERSION}
 | 
				
			||||||
        WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
 | 
					        WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
 | 
				
			||||||
 | 
					        FILEBEAT_TEMPLATE_BRANCH: ${FILEBEAT_TEMPLATE_BRANCH}
 | 
				
			||||||
 | 
					        WAZUH_FILEBEAT_MODULE: ${WAZUH_FILEBEAT_MODULE}
 | 
				
			||||||
    image: wazuh/wazuh-manager:${WAZUH_IMAGE_VERSION}
 | 
					    image: wazuh/wazuh-manager:${WAZUH_IMAGE_VERSION}
 | 
				
			||||||
    hostname: wazuh.manager
 | 
					    hostname: wazuh.manager
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
@@ -61,6 +61,7 @@ services:
 | 
				
			|||||||
      args:
 | 
					      args:
 | 
				
			||||||
        WAZUH_VERSION: ${WAZUH_VERSION}
 | 
					        WAZUH_VERSION: ${WAZUH_VERSION}
 | 
				
			||||||
        WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
 | 
					        WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
 | 
				
			||||||
 | 
					        WAZUH_UI_REVISION: ${WAZUH_UI_REVISION}
 | 
				
			||||||
    image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION}
 | 
					    image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION}
 | 
				
			||||||
    hostname: wazuh.dashboard
 | 
					    hostname: wazuh.dashboard
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,8 @@
 | 
				
			|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
FROM ubuntu:focal
 | 
					FROM amazonlinux:2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apt-get update && apt-get install openssl curl -y
 | 
					RUN yum install curl-minimal openssl -y &&\
 | 
				
			||||||
 | 
					yum clean all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /
 | 
					WORKDIR /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -8,8 +8,8 @@
 | 
				
			|||||||
## Variables
 | 
					## Variables
 | 
				
			||||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
					CERT_TOOL=wazuh-certs-tool.sh
 | 
				
			||||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
					PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
				
			||||||
PACKAGES_URL=https://packages.wazuh.com/4.4/
 | 
					PACKAGES_URL=https://packages.wazuh.com/5.0/
 | 
				
			||||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.4/
 | 
					PACKAGES_DEV_URL=https://packages-dev.wazuh.com/5.0/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Check if the cert tool exists in S3 buckets
 | 
					## Check if the cert tool exists in S3 buckets
 | 
				
			||||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
					CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
				
			||||||
@@ -17,13 +17,13 @@ CERT_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$CERT_TOOL | grep -E
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## If cert tool exists in some bucket, download it, if not exit 1
 | 
					## If cert tool exists in some bucket, download it, if not exit 1
 | 
				
			||||||
if [ "$CERT_TOOL_PACKAGES" = "200" ]; then
 | 
					if [ "$CERT_TOOL_PACKAGES" = "200" ]; then
 | 
				
			||||||
  curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL
 | 
					  curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL -s
 | 
				
			||||||
  echo "Cert tool exists in Packages bucket"
 | 
					  echo "The tool to create the certificates exists in the in Packages bucket"
 | 
				
			||||||
elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then
 | 
					elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then
 | 
				
			||||||
  curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL
 | 
					  curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL -s
 | 
				
			||||||
  echo "Cert tool exists in Packages-dev bucket"
 | 
					  echo "The tool to create the certificates exists in Packages-dev bucket"
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  echo "Cert tool does not exist in any bucket"
 | 
					  echo "The tool to create the certificates does not exist in any bucket"
 | 
				
			||||||
  echo "ERROR: certificates were not created"
 | 
					  echo "ERROR: certificates were not created"
 | 
				
			||||||
  exit 1
 | 
					  exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
@@ -38,12 +38,12 @@ chmod 700 /$CERT_TOOL
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Execute cert tool and parsin cert.yml to set UID permissions
 | 
					## Execute cert tool and parsin cert.yml to set UID permissions
 | 
				
			||||||
source /$CERT_TOOL -A
 | 
					source /$CERT_TOOL -A
 | 
				
			||||||
nodes_server=$( cert_parseYaml /config.yml | grep nodes_server__name | sed 's/nodes_server__name=//' )
 | 
					nodes_server=$( cert_parseYaml /config.yml | grep -E "nodes[_]+server[_]+[0-9]+=" | sed -e 's/nodes__server__[0-9]=//' | sed 's/"//g' )
 | 
				
			||||||
node_names=($nodes_server)
 | 
					node_names=($nodes_server)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "Moving created certificates to destination directory"
 | 
					echo "Moving created certificates to the destination directory"
 | 
				
			||||||
cp /wazuh-certificates/* /certificates/
 | 
					cp /wazuh-certificates/* /certificates/
 | 
				
			||||||
echo "changing certificate permissions"
 | 
					echo "Changing certificate permissions"
 | 
				
			||||||
chmod -R 500 /certificates
 | 
					chmod -R 500 /certificates
 | 
				
			||||||
chmod -R 400 /certificates/*
 | 
					chmod -R 400 /certificates/*
 | 
				
			||||||
echo "Setting UID indexer and dashboard"
 | 
					echo "Setting UID indexer and dashboard"
 | 
				
			||||||
@@ -51,11 +51,12 @@ chown 1000:1000 /certificates/*
 | 
				
			|||||||
echo "Setting UID for wazuh manager and worker"
 | 
					echo "Setting UID for wazuh manager and worker"
 | 
				
			||||||
cp /certificates/root-ca.pem /certificates/root-ca-manager.pem
 | 
					cp /certificates/root-ca.pem /certificates/root-ca-manager.pem
 | 
				
			||||||
cp /certificates/root-ca.key /certificates/root-ca-manager.key
 | 
					cp /certificates/root-ca.key /certificates/root-ca-manager.key
 | 
				
			||||||
chown 101:101 /certificates/root-ca-manager.pem
 | 
					chown 999:999 /certificates/root-ca-manager.pem
 | 
				
			||||||
chown 101:101 /certificates/root-ca-manager.key
 | 
					chown 999:999 /certificates/root-ca-manager.key
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for i in ${node_names[@]};
 | 
					for i in ${node_names[@]};
 | 
				
			||||||
do
 | 
					do
 | 
				
			||||||
  chown 101:101 "/certificates/${i}.pem"
 | 
					  chown 999:999 "/certificates/${i}.pem"
 | 
				
			||||||
  chown 101:101 "/certificates/${i}-key.pem"
 | 
					  chown 999:999 "/certificates/${i}-key.pem"
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,40 +1,32 @@
 | 
				
			|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
FROM ubuntu:focal AS builder
 | 
					FROM amazonlinux:2023 AS builder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARG WAZUH_VERSION
 | 
					ARG WAZUH_VERSION
 | 
				
			||||||
ARG WAZUH_TAG_REVISION
 | 
					ARG WAZUH_TAG_REVISION
 | 
				
			||||||
 | 
					ARG WAZUH_UI_REVISION
 | 
				
			||||||
ARG INSTALL_DIR=/usr/share/wazuh-dashboard
 | 
					ARG INSTALL_DIR=/usr/share/wazuh-dashboard
 | 
				
			||||||
ARG WAZUH_UI_REVISION=1
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Update and install dependencies
 | 
					# Update and install dependencies
 | 
				
			||||||
RUN apt-get update && apt install curl libcap2-bin xz-utils -y
 | 
					RUN yum install curl-minimal libcap openssl -y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Create Install dir
 | 
					COPY config/check_repository.sh /
 | 
				
			||||||
RUN mkdir -p $INSTALL_DIR
 | 
					RUN chmod 775 /check_repository.sh && \
 | 
				
			||||||
 | 
					    source /check_repository.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Download and extract Wazuh dashboard base
 | 
					RUN yum install wazuh-dashboard-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
 | 
				
			||||||
COPY config/dl_base.sh .
 | 
					    yum clean all
 | 
				
			||||||
RUN bash dl_base.sh
 | 
					
 | 
				
			||||||
 | 
					# Create and set permissions to data directories
 | 
				
			||||||
 | 
					RUN mkdir -p $INSTALL_DIR/data/wazuh && chmod -R 775 $INSTALL_DIR/data/wazuh
 | 
				
			||||||
 | 
					RUN mkdir -p $INSTALL_DIR/data/wazuh/config && chmod -R 775 $INSTALL_DIR/data/wazuh/config
 | 
				
			||||||
 | 
					RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chmod -R 775 $INSTALL_DIR/data/wazuh/logs
 | 
				
			||||||
 | 
					COPY config/wazuh.yml $INSTALL_DIR/data/wazuh/config/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Generate certificates
 | 
					# Generate certificates
 | 
				
			||||||
COPY config/config.sh .
 | 
					COPY config/config.sh .
 | 
				
			||||||
COPY config/config.yml /
 | 
					COPY config/config.yml /
 | 
				
			||||||
RUN bash config.sh
 | 
					RUN bash config.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY config/install_wazuh_app.sh /
 | 
					 | 
				
			||||||
RUN chmod 775 /install_wazuh_app.sh
 | 
					 | 
				
			||||||
RUN bash /install_wazuh_app.sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Copy and set permissions to config files
 | 
					 | 
				
			||||||
COPY config/opensearch_dashboards.yml $INSTALL_DIR/config/
 | 
					 | 
				
			||||||
COPY config/wazuh.yml $INSTALL_DIR/data/wazuh/config/
 | 
					 | 
				
			||||||
RUN chown 101:101 $INSTALL_DIR/config/opensearch_dashboards.yml && chmod 664 $INSTALL_DIR/config/opensearch_dashboards.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Create and set permissions to data directories
 | 
					 | 
				
			||||||
RUN mkdir -p $INSTALL_DIR/data/wazuh && chown -R 101:101 $INSTALL_DIR/data/wazuh && chmod -R 775 $INSTALL_DIR/data/wazuh
 | 
					 | 
				
			||||||
RUN mkdir -p $INSTALL_DIR/data/wazuh/config && chown -R 101:101 $INSTALL_DIR/data/wazuh/config && chmod -R 775 $INSTALL_DIR/data/wazuh/config
 | 
					 | 
				
			||||||
RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chown -R 101:101 $INSTALL_DIR/data/wazuh/logs && chmod -R 775 $INSTALL_DIR/data/wazuh/logs
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Build stage 1 (the current Wazuh dashboard image):
 | 
					# Build stage 1 (the current Wazuh dashboard image):
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@@ -42,7 +34,7 @@ RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chown -R 101:101 $INSTALL_DIR/data/
 | 
				
			|||||||
# Add entrypoint
 | 
					# Add entrypoint
 | 
				
			||||||
# Add wazuh_app_config
 | 
					# Add wazuh_app_config
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
FROM ubuntu:focal
 | 
					FROM amazonlinux:2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set environment variables
 | 
					# Set environment variables
 | 
				
			||||||
ENV USER="wazuh-dashboard" \
 | 
					ENV USER="wazuh-dashboard" \
 | 
				
			||||||
@@ -56,19 +48,6 @@ ENV PATTERN="" \
 | 
				
			|||||||
    CHECKS_TEMPLATE="" \
 | 
					    CHECKS_TEMPLATE="" \
 | 
				
			||||||
    CHECKS_API="" \
 | 
					    CHECKS_API="" \
 | 
				
			||||||
    CHECKS_SETUP="" \
 | 
					    CHECKS_SETUP="" \
 | 
				
			||||||
    EXTENSIONS_PCI="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_GDPR="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_HIPAA="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_NIST="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_TSC="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_AUDIT="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_OSCAP="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_CISCAT="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_AWS="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_GCP="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_VIRUSTOTAL="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_OSQUERY="" \
 | 
					 | 
				
			||||||
    EXTENSIONS_DOCKER="" \
 | 
					 | 
				
			||||||
    APP_TIMEOUT="" \
 | 
					    APP_TIMEOUT="" \
 | 
				
			||||||
    API_SELECTOR="" \
 | 
					    API_SELECTOR="" \
 | 
				
			||||||
    IP_SELECTOR="" \
 | 
					    IP_SELECTOR="" \
 | 
				
			||||||
@@ -78,8 +57,8 @@ ENV PATTERN="" \
 | 
				
			|||||||
    WAZUH_MONITORING_SHARDS="" \
 | 
					    WAZUH_MONITORING_SHARDS="" \
 | 
				
			||||||
    WAZUH_MONITORING_REPLICAS=""
 | 
					    WAZUH_MONITORING_REPLICAS=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install dependencies
 | 
					# Update and install dependencies
 | 
				
			||||||
RUN apt update && apt install -y libnss3-dev fonts-liberation libfontconfig1
 | 
					RUN yum install shadow-utils -y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Create wazuh-dashboard user and group
 | 
					# Create wazuh-dashboard user and group
 | 
				
			||||||
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
 | 
					RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
 | 
				
			||||||
@@ -102,6 +81,19 @@ RUN chown 1000:1000 /*.sh
 | 
				
			|||||||
# Copy Install dir from builder to current image
 | 
					# Copy Install dir from builder to current image
 | 
				
			||||||
COPY --from=builder --chown=1000:1000 $INSTALL_DIR $INSTALL_DIR
 | 
					COPY --from=builder --chown=1000:1000 $INSTALL_DIR $INSTALL_DIR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Create custom directory
 | 
				
			||||||
 | 
					RUN mkdir -p /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
 | 
				
			||||||
 | 
					RUN chown 1000:1000 /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set $JAVA_HOME
 | 
				
			||||||
 | 
					RUN echo "export JAVA_HOME=$INSTALL_DIR/jdk" >> /etc/profile.d/java_home.sh && \
 | 
				
			||||||
 | 
					    echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile.d/java_home.sh
 | 
				
			||||||
 | 
					ENV JAVA_HOME=$INSTALL_DIR/jdk
 | 
				
			||||||
 | 
					ENV PATH=$PATH:$JAVA_HOME/bin:$INSTALL_DIR/bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add k-NN lib directory to library loading path variable
 | 
				
			||||||
 | 
					ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$INSTALL_DIR/plugins/opensearch-knn/lib"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set workdir and user
 | 
					# Set workdir and user
 | 
				
			||||||
WORKDIR $INSTALL_DIR
 | 
					WORKDIR $INSTALL_DIR
 | 
				
			||||||
USER wazuh-dashboard
 | 
					USER wazuh-dashboard
 | 
				
			||||||
@@ -110,3 +102,5 @@ USER wazuh-dashboard
 | 
				
			|||||||
EXPOSE 443
 | 
					EXPOSE 443
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENTRYPOINT [ "/entrypoint.sh" ]
 | 
					ENTRYPOINT [ "/entrypoint.sh" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD ["opensearch-dashboards"]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					## variables
 | 
				
			||||||
 | 
					APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
				
			||||||
 | 
					GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
 | 
				
			||||||
 | 
					REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
 | 
				
			||||||
 | 
					WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## check tag to use the correct repository
 | 
				
			||||||
 | 
					if [[ -n "${WAZUH_TAG}" ]]; then
 | 
				
			||||||
 | 
					  APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
 | 
				
			||||||
 | 
					  GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
 | 
				
			||||||
 | 
					  REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rpm --import "${APT_KEY}"
 | 
				
			||||||
 | 
					echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo
 | 
				
			||||||
@@ -9,8 +9,8 @@ export CONFIG_DIR=${INSTALLATION_DIR}/config
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Variables
 | 
					## Variables
 | 
				
			||||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
					CERT_TOOL=wazuh-certs-tool.sh
 | 
				
			||||||
PACKAGES_URL=https://packages.wazuh.com/4.4/
 | 
					PACKAGES_URL=https://packages.wazuh.com/5.0/
 | 
				
			||||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.4/
 | 
					PACKAGES_DEV_URL=https://packages-dev.wazuh.com/5.0/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Check if the cert tool exists in S3 buckets
 | 
					## Check if the cert tool exists in S3 buckets
 | 
				
			||||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
					CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
				
			||||||
@@ -34,8 +34,8 @@ chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A
 | 
				
			|||||||
mkdir -p ${CONFIG_DIR}/certs
 | 
					mkdir -p ${CONFIG_DIR}/certs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copy Wazuh dashboard certs to install config dir
 | 
					# Copy Wazuh dashboard certs to install config dir
 | 
				
			||||||
cp /wazuh-certificates/demo.dashboard.pem ${CONFIG_DIR}/certs/dashboard.pem
 | 
					cp /wazuh-certificates/dashboard.pem ${CONFIG_DIR}/certs/dashboard.pem
 | 
				
			||||||
cp /wazuh-certificates/demo.dashboard-key.pem ${CONFIG_DIR}/certs/dashboard-key.pem
 | 
					cp /wazuh-certificates/dashboard-key.pem ${CONFIG_DIR}/certs/dashboard-key.pem
 | 
				
			||||||
cp /wazuh-certificates/root-ca.pem ${CONFIG_DIR}/certs/root-ca.pem
 | 
					cp /wazuh-certificates/root-ca.pem ${CONFIG_DIR}/certs/root-ca.pem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chmod -R 500 ${CONFIG_DIR}/certs
 | 
					chmod -R 500 ${CONFIG_DIR}/certs
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
nodes:
 | 
					nodes:
 | 
				
			||||||
  # Wazuh dashboard server nodes
 | 
					  # Wazuh dashboard server nodes
 | 
				
			||||||
  dashboard:
 | 
					  dashboard:
 | 
				
			||||||
    - name: demo.dashboard
 | 
					    - name: dashboard
 | 
				
			||||||
      ip: demo.dashboard
 | 
					      ip: wazuh.dashboard
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +0,0 @@
 | 
				
			|||||||
REPOSITORY="packages.wazuh.com/4.x"
 | 
					 | 
				
			||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
					 | 
				
			||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
					 | 
				
			||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
					 | 
				
			||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## check version to use the correct repository
 | 
					 | 
				
			||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
  REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
					 | 
				
			||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
					 | 
				
			||||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
      REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
curl -o wazuh-dashboard-base.tar.xz https://${REPOSITORY}/stack/dashboard/wazuh-dashboard-base-${WAZUH_VERSION}-${WAZUH_TAG_REVISION}-linux-x64.tar.xz
 | 
					 | 
				
			||||||
tar -xf wazuh-dashboard-base.tar.xz --directory  $INSTALL_DIR --strip-components=1
 | 
					 | 
				
			||||||
@@ -2,6 +2,215 @@
 | 
				
			|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
INSTALL_DIR=/usr/share/wazuh-dashboard
 | 
					INSTALL_DIR=/usr/share/wazuh-dashboard
 | 
				
			||||||
 | 
					export OPENSEARCH_DASHBOARDS_HOME=$INSTALL_DIR
 | 
				
			||||||
 | 
					WAZUH_CONFIG_MOUNT=/wazuh-config-mount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					opensearch_dashboards_vars=(
 | 
				
			||||||
 | 
					    console.enabled
 | 
				
			||||||
 | 
					    console.proxyConfig
 | 
				
			||||||
 | 
					    console.proxyFilter
 | 
				
			||||||
 | 
					    ops.cGroupOverrides.cpuPath
 | 
				
			||||||
 | 
					    ops.cGroupOverrides.cpuAcctPath
 | 
				
			||||||
 | 
					    cpu.cgroup.path.override
 | 
				
			||||||
 | 
					    cpuacct.cgroup.path.override
 | 
				
			||||||
 | 
					    server.basePath
 | 
				
			||||||
 | 
					    server.customResponseHeaders
 | 
				
			||||||
 | 
					    server.compression.enabled
 | 
				
			||||||
 | 
					    server.compression.referrerWhitelist
 | 
				
			||||||
 | 
					    server.cors
 | 
				
			||||||
 | 
					    server.cors.origin
 | 
				
			||||||
 | 
					    server.defaultRoute
 | 
				
			||||||
 | 
					    server.host
 | 
				
			||||||
 | 
					    server.keepAliveTimeout
 | 
				
			||||||
 | 
					    server.maxPayloadBytes
 | 
				
			||||||
 | 
					    server.name
 | 
				
			||||||
 | 
					    server.port
 | 
				
			||||||
 | 
					    csp.rules
 | 
				
			||||||
 | 
					    csp.strict
 | 
				
			||||||
 | 
					    csp.warnLegacyBrowsers
 | 
				
			||||||
 | 
					    data.search.usageTelemetry.enabled
 | 
				
			||||||
 | 
					    opensearch.customHeaders
 | 
				
			||||||
 | 
					    opensearch.hosts
 | 
				
			||||||
 | 
					    opensearch.logQueries
 | 
				
			||||||
 | 
					    opensearch.memoryCircuitBreaker.enabled
 | 
				
			||||||
 | 
					    opensearch.memoryCircuitBreaker.maxPercentage
 | 
				
			||||||
 | 
					    opensearch.password
 | 
				
			||||||
 | 
					    opensearch.pingTimeout
 | 
				
			||||||
 | 
					    opensearch.requestHeadersWhitelist
 | 
				
			||||||
 | 
					    opensearch.requestHeadersAllowlist
 | 
				
			||||||
 | 
					    opensearch_security.multitenancy.enabled
 | 
				
			||||||
 | 
					    opensearch_security.readonly_mode.roles
 | 
				
			||||||
 | 
					    opensearch.requestTimeout
 | 
				
			||||||
 | 
					    opensearch.shardTimeout
 | 
				
			||||||
 | 
					    opensearch.sniffInterval
 | 
				
			||||||
 | 
					    opensearch.sniffOnConnectionFault
 | 
				
			||||||
 | 
					    opensearch.sniffOnStart
 | 
				
			||||||
 | 
					    opensearch.ssl.alwaysPresentCertificate
 | 
				
			||||||
 | 
					    opensearch.ssl.certificate
 | 
				
			||||||
 | 
					    opensearch.ssl.key
 | 
				
			||||||
 | 
					    opensearch.ssl.keyPassphrase
 | 
				
			||||||
 | 
					    opensearch.ssl.keystore.path
 | 
				
			||||||
 | 
					    opensearch.ssl.keystore.password
 | 
				
			||||||
 | 
					    opensearch.ssl.truststore.path
 | 
				
			||||||
 | 
					    opensearch.ssl.truststore.password
 | 
				
			||||||
 | 
					    opensearch.ssl.verificationMode
 | 
				
			||||||
 | 
					    opensearch.username
 | 
				
			||||||
 | 
					    i18n.locale
 | 
				
			||||||
 | 
					    interpreter.enableInVisualize
 | 
				
			||||||
 | 
					    opensearchDashboards.autocompleteTerminateAfter
 | 
				
			||||||
 | 
					    opensearchDashboards.autocompleteTimeout
 | 
				
			||||||
 | 
					    opensearchDashboards.defaultAppId
 | 
				
			||||||
 | 
					    opensearchDashboards.index
 | 
				
			||||||
 | 
					    logging.dest
 | 
				
			||||||
 | 
					    logging.json
 | 
				
			||||||
 | 
					    logging.quiet
 | 
				
			||||||
 | 
					    logging.rotate.enabled
 | 
				
			||||||
 | 
					    logging.rotate.everyBytes
 | 
				
			||||||
 | 
					    logging.rotate.keepFiles
 | 
				
			||||||
 | 
					    logging.rotate.pollingInterval
 | 
				
			||||||
 | 
					    logging.rotate.usePolling
 | 
				
			||||||
 | 
					    logging.silent
 | 
				
			||||||
 | 
					    logging.useUTC
 | 
				
			||||||
 | 
					    logging.verbose
 | 
				
			||||||
 | 
					    map.includeOpenSearchMapsService
 | 
				
			||||||
 | 
					    map.proxyOpenSearchMapsServiceInMaps
 | 
				
			||||||
 | 
					    map.regionmap
 | 
				
			||||||
 | 
					    map.tilemap.options.attribution
 | 
				
			||||||
 | 
					    map.tilemap.options.maxZoom
 | 
				
			||||||
 | 
					    map.tilemap.options.minZoom
 | 
				
			||||||
 | 
					    map.tilemap.options.subdomains
 | 
				
			||||||
 | 
					    map.tilemap.url
 | 
				
			||||||
 | 
					    monitoring.cluster_alerts.email_notifications.email_address
 | 
				
			||||||
 | 
					    monitoring.enabled
 | 
				
			||||||
 | 
					    monitoring.opensearchDashboards.collection.enabled
 | 
				
			||||||
 | 
					    monitoring.opensearchDashboards.collection.interval
 | 
				
			||||||
 | 
					    monitoring.ui.container.opensearch.enabled
 | 
				
			||||||
 | 
					    monitoring.ui.container.logstash.enabled
 | 
				
			||||||
 | 
					    monitoring.ui.opensearch.password
 | 
				
			||||||
 | 
					    monitoring.ui.opensearch.pingTimeout
 | 
				
			||||||
 | 
					    monitoring.ui.opensearch.hosts
 | 
				
			||||||
 | 
					    monitoring.ui.opensearch.username
 | 
				
			||||||
 | 
					    monitoring.ui.opensearch.logFetchCount
 | 
				
			||||||
 | 
					    monitoring.ui.opensearch.ssl.certificateAuthorities
 | 
				
			||||||
 | 
					    monitoring.ui.opensearch.ssl.verificationMode
 | 
				
			||||||
 | 
					    monitoring.ui.enabled
 | 
				
			||||||
 | 
					    monitoring.ui.max_bucket_size
 | 
				
			||||||
 | 
					    monitoring.ui.min_interval_seconds
 | 
				
			||||||
 | 
					    newsfeed.enabled
 | 
				
			||||||
 | 
					    ops.interval
 | 
				
			||||||
 | 
					    path.data
 | 
				
			||||||
 | 
					    pid.file
 | 
				
			||||||
 | 
					    regionmap
 | 
				
			||||||
 | 
					    security.showInsecureClusterWarning
 | 
				
			||||||
 | 
					    server.rewriteBasePath
 | 
				
			||||||
 | 
					    server.socketTimeout
 | 
				
			||||||
 | 
					    server.customResponseHeaders
 | 
				
			||||||
 | 
					    server.ssl.enabled
 | 
				
			||||||
 | 
					    server.ssl.key
 | 
				
			||||||
 | 
					    server.ssl.keyPassphrase
 | 
				
			||||||
 | 
					    server.ssl.keystore.path
 | 
				
			||||||
 | 
					    server.ssl.keystore.password
 | 
				
			||||||
 | 
					    server.ssl.truststore.path
 | 
				
			||||||
 | 
					    server.ssl.truststore.password
 | 
				
			||||||
 | 
					    server.ssl.cert
 | 
				
			||||||
 | 
					    server.ssl.certificate
 | 
				
			||||||
 | 
					    server.ssl.certificateAuthorities
 | 
				
			||||||
 | 
					    server.ssl.cipherSuites
 | 
				
			||||||
 | 
					    server.ssl.clientAuthentication
 | 
				
			||||||
 | 
					    opensearch.ssl.certificateAuthorities
 | 
				
			||||||
 | 
					    server.ssl.redirectHttpFromPort
 | 
				
			||||||
 | 
					    server.ssl.supportedProtocols
 | 
				
			||||||
 | 
					    server.xsrf.disableProtection
 | 
				
			||||||
 | 
					    server.xsrf.whitelist
 | 
				
			||||||
 | 
					    status.allowAnonymous
 | 
				
			||||||
 | 
					    status.v6ApiFormat
 | 
				
			||||||
 | 
					    tilemap.options.attribution
 | 
				
			||||||
 | 
					    tilemap.options.maxZoom
 | 
				
			||||||
 | 
					    tilemap.options.minZoom
 | 
				
			||||||
 | 
					    tilemap.options.subdomains
 | 
				
			||||||
 | 
					    tilemap.url
 | 
				
			||||||
 | 
					    timeline.enabled
 | 
				
			||||||
 | 
					    vega.enableExternalUrls
 | 
				
			||||||
 | 
					    apm_oss.apmAgentConfigurationIndex
 | 
				
			||||||
 | 
					    apm_oss.indexPattern
 | 
				
			||||||
 | 
					    apm_oss.errorIndices
 | 
				
			||||||
 | 
					    apm_oss.onboardingIndices
 | 
				
			||||||
 | 
					    apm_oss.spanIndices
 | 
				
			||||||
 | 
					    apm_oss.sourcemapIndices
 | 
				
			||||||
 | 
					    apm_oss.transactionIndices
 | 
				
			||||||
 | 
					    apm_oss.metricsIndices
 | 
				
			||||||
 | 
					    telemetry.allowChangingOptInStatus
 | 
				
			||||||
 | 
					    telemetry.enabled
 | 
				
			||||||
 | 
					    telemetry.optIn
 | 
				
			||||||
 | 
					    telemetry.optInStatusUrl
 | 
				
			||||||
 | 
					    telemetry.sendUsageFrom
 | 
				
			||||||
 | 
					    vis_builder.enabled
 | 
				
			||||||
 | 
					    data_source.enabled
 | 
				
			||||||
 | 
					    data_source.encryption.wrappingKeyName
 | 
				
			||||||
 | 
					    data_source.encryption.wrappingKeyNamespace
 | 
				
			||||||
 | 
					    data_source.encryption.wrappingKey
 | 
				
			||||||
 | 
					    data_source.audit.enabled
 | 
				
			||||||
 | 
					    data_source.audit.appender.kind
 | 
				
			||||||
 | 
					    data_source.audit.appender.path
 | 
				
			||||||
 | 
					    data_source.audit.appender.layout.kind
 | 
				
			||||||
 | 
					    data_source.audit.appender.layout.highlight
 | 
				
			||||||
 | 
					    data_source.audit.appender.layout.pattern
 | 
				
			||||||
 | 
					    ml_commons_dashboards.enabled
 | 
				
			||||||
 | 
					    assistant.chat.enabled
 | 
				
			||||||
 | 
					    observability.query_assist.enabled
 | 
				
			||||||
 | 
					    uiSettings.overrides.defaultRoute
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function runOpensearchDashboards {
 | 
				
			||||||
 | 
					    touch $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml
 | 
				
			||||||
 | 
					      for opensearch_dashboards_var in ${opensearch_dashboards_vars[*]}; do
 | 
				
			||||||
 | 
					        env_var=$(echo ${opensearch_dashboards_var^^} | tr . _)
 | 
				
			||||||
 | 
					        value=${!env_var}
 | 
				
			||||||
 | 
					        if [[ -n $value ]]; then
 | 
				
			||||||
 | 
					          longoptfile="${opensearch_dashboards_var}: ${value}"
 | 
				
			||||||
 | 
					          if grep -q $opensearch_dashboards_var $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml; then
 | 
				
			||||||
 | 
					            sed -i "/${opensearch_dashboards_var}/ s|^.*$|${longoptfile}|" $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            echo $longoptfile >> $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					      done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    umask 0002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /usr/share/wazuh-dashboard/bin/opensearch-dashboards -c $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml \
 | 
				
			||||||
 | 
					        --cpu.cgroup.path.override=/ \
 | 
				
			||||||
 | 
					        --cpuacct.cgroup.path.override=/
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mount_files() {
 | 
				
			||||||
 | 
					  if [ -e $WAZUH_CONFIG_MOUNT/* ]
 | 
				
			||||||
 | 
					  then
 | 
				
			||||||
 | 
					    print "Identified Wazuh cdashboard onfiguration files to mount..."
 | 
				
			||||||
 | 
					    exec_cmd_stdout "cp --verbose -r $WAZUH_CONFIG_MOUNT/* $INSTALL_DIR"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    print "No Wazuh dashboard configuration files to mount..."
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DASHBOARD_USERNAME="${DASHBOARD_USERNAME:-kibanaserver}"
 | 
					DASHBOARD_USERNAME="${DASHBOARD_USERNAME:-kibanaserver}"
 | 
				
			||||||
DASHBOARD_PASSWORD="${DASHBOARD_PASSWORD:-kibanaserver}"
 | 
					DASHBOARD_PASSWORD="${DASHBOARD_PASSWORD:-kibanaserver}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -17,4 +226,14 @@ echo $DASHBOARD_PASSWORD | $INSTALL_DIR/bin/opensearch-dashboards-keystore add o
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/wazuh_app_config.sh $WAZUH_UI_REVISION
 | 
					/wazuh_app_config.sh $WAZUH_UI_REVISION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/usr/share/wazuh-dashboard/bin/opensearch-dashboards -c /usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
 | 
					mount_files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ $# -eq 0 ] || [ "${1:0:1}" = '-' ]; then
 | 
				
			||||||
 | 
					    set -- opensearch-dashboards "$@"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ "$1" = "opensearch-dashboards" ]; then
 | 
				
			||||||
 | 
					    runOpensearchDashboards "$@"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    exec "$@"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +0,0 @@
 | 
				
			|||||||
## variables
 | 
					 | 
				
			||||||
WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
					 | 
				
			||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
					 | 
				
			||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
					 | 
				
			||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
					 | 
				
			||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## check version to use the correct repository
 | 
					 | 
				
			||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
  WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
					 | 
				
			||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
					 | 
				
			||||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
      WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Install Wazuh App
 | 
					 | 
				
			||||||
$INSTALL_DIR/bin/opensearch-dashboards-plugin install $WAZUH_APP --allow-root
 | 
					 | 
				
			||||||
@@ -1,13 +0,0 @@
 | 
				
			|||||||
server.host: 0.0.0.0
 | 
					 | 
				
			||||||
server.port: 5601
 | 
					 | 
				
			||||||
opensearch.hosts: https://wazuh.indexer:9200
 | 
					 | 
				
			||||||
opensearch.ssl.verificationMode: none
 | 
					 | 
				
			||||||
opensearch.requestHeadersWhitelist: [ authorization,securitytenant ]
 | 
					 | 
				
			||||||
opensearch_security.multitenancy.enabled: false
 | 
					 | 
				
			||||||
opensearch_security.readonly_mode.roles: ["kibana_read_only"]
 | 
					 | 
				
			||||||
server.ssl.enabled: true
 | 
					 | 
				
			||||||
server.ssl.key: "/usr/share/wazuh-dashboard/config/certs/dashboard-key.pem"
 | 
					 | 
				
			||||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/config/certs/dashboard.pem"
 | 
					 | 
				
			||||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/config/certs/root-ca.pem"]
 | 
					 | 
				
			||||||
uiSettings.overrides.defaultRoute: /app/wazuh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -16,7 +16,7 @@
 | 
				
			|||||||
# https://documentation.wazuh.com/current/installation-guide/index.html
 | 
					# https://documentation.wazuh.com/current/installation-guide/index.html
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Also, you can check our repository:
 | 
					# Also, you can check our repository:
 | 
				
			||||||
# https://github.com/wazuh/wazuh-kibana-app
 | 
					# https://github.com/wazuh/wazuh-dashboard-plugins
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# ------------------------------- Index patterns -------------------------------
 | 
					# ------------------------------- Index patterns -------------------------------
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,19 +15,6 @@ declare -A CONFIG_MAP=(
 | 
				
			|||||||
  [checks.template]=$CHECKS_TEMPLATE
 | 
					  [checks.template]=$CHECKS_TEMPLATE
 | 
				
			||||||
  [checks.api]=$CHECKS_API
 | 
					  [checks.api]=$CHECKS_API
 | 
				
			||||||
  [checks.setup]=$CHECKS_SETUP
 | 
					  [checks.setup]=$CHECKS_SETUP
 | 
				
			||||||
  [extensions.pci]=$EXTENSIONS_PCI
 | 
					 | 
				
			||||||
  [extensions.gdpr]=$EXTENSIONS_GDPR
 | 
					 | 
				
			||||||
  [extensions.hipaa]=$EXTENSIONS_HIPAA
 | 
					 | 
				
			||||||
  [extensions.nist]=$EXTENSIONS_NIST
 | 
					 | 
				
			||||||
  [extensions.tsc]=$EXTENSIONS_TSC
 | 
					 | 
				
			||||||
  [extensions.audit]=$EXTENSIONS_AUDIT
 | 
					 | 
				
			||||||
  [extensions.oscap]=$EXTENSIONS_OSCAP
 | 
					 | 
				
			||||||
  [extensions.ciscat]=$EXTENSIONS_CISCAT
 | 
					 | 
				
			||||||
  [extensions.aws]=$EXTENSIONS_AWS
 | 
					 | 
				
			||||||
  [extensions.gcp]=$EXTENSIONS_GCP
 | 
					 | 
				
			||||||
  [extensions.virustotal]=$EXTENSIONS_VIRUSTOTAL
 | 
					 | 
				
			||||||
  [extensions.osquery]=$EXTENSIONS_OSQUERY
 | 
					 | 
				
			||||||
  [extensions.docker]=$EXTENSIONS_DOCKER
 | 
					 | 
				
			||||||
  [timeout]=$APP_TIMEOUT
 | 
					  [timeout]=$APP_TIMEOUT
 | 
				
			||||||
  [api.selector]=$API_SELECTOR
 | 
					  [api.selector]=$API_SELECTOR
 | 
				
			||||||
  [ip.selector]=$IP_SELECTOR
 | 
					  [ip.selector]=$IP_SELECTOR
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,17 @@
 | 
				
			|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
FROM ubuntu:focal AS builder
 | 
					FROM amazonlinux:2023 AS builder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARG WAZUH_VERSION
 | 
					ARG WAZUH_VERSION
 | 
				
			||||||
ARG WAZUH_TAG_REVISION
 | 
					ARG WAZUH_TAG_REVISION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apt-get update -y && apt-get install curl openssl xz-utils -y
 | 
					RUN yum install curl-minimal openssl xz tar findutils shadow-utils -y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY config/check_repository.sh /
 | 
				
			||||||
 | 
					RUN chmod 775 /check_repository.sh && \
 | 
				
			||||||
 | 
					    source /check_repository.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN yum install wazuh-indexer-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
 | 
				
			||||||
 | 
					    yum clean all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY config/opensearch.yml /
 | 
					COPY config/opensearch.yml /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -12,12 +19,6 @@ COPY config/config.sh .
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
COPY config/config.yml /
 | 
					COPY config/config.yml /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY config/internal_users.yml /
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
COPY config/roles_mapping.yml /
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
COPY config/roles.yml /
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN bash config.sh
 | 
					RUN bash config.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
@@ -25,14 +26,26 @@ RUN bash config.sh
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Copy wazuh-indexer from stage 0
 | 
					# Copy wazuh-indexer from stage 0
 | 
				
			||||||
# Add entrypoint
 | 
					# Add entrypoint
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
FROM ubuntu:focal
 | 
					FROM amazonlinux:2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENV USER="wazuh-indexer" \
 | 
					ENV USER="wazuh-indexer" \
 | 
				
			||||||
    GROUP="wazuh-indexer" \
 | 
					    GROUP="wazuh-indexer" \
 | 
				
			||||||
    NAME="wazuh-indexer" \
 | 
					    NAME="wazuh-indexer" \
 | 
				
			||||||
    INSTALL_DIR="/usr/share/wazuh-indexer"
 | 
					    INSTALL_DIR="/usr/share/wazuh-indexer"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set $JAVA_HOME
 | 
				
			||||||
 | 
					RUN echo "export JAVA_HOME=$INSTALL_DIR/jdk" >> /etc/profile.d/java_home.sh && \
 | 
				
			||||||
 | 
					    echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile.d/java_home.sh
 | 
				
			||||||
 | 
					ENV JAVA_HOME="$INSTALL_DIR/jdk"
 | 
				
			||||||
 | 
					ENV PATH=$PATH:$JAVA_HOME/bin:$INSTALL_DIR/bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add k-NN lib directory to library loading path variable
 | 
				
			||||||
 | 
					ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$INSTALL_DIR/plugins/opensearch-knn/lib"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN yum install curl-minimal shadow-utils findutils hostname -y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
 | 
					RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN useradd --system \
 | 
					RUN useradd --system \
 | 
				
			||||||
@@ -54,7 +67,8 @@ RUN chmod 700 /entrypoint.sh && chmod 700 /securityadmin.sh
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
RUN chown 1000:1000 /*.sh
 | 
					RUN chown 1000:1000 /*.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY --from=builder --chown=1000:1000 /debian/wazuh-indexer/usr/share/wazuh-indexer /usr/share/wazuh-indexer
 | 
					COPY --from=builder --chown=1000:1000 /usr/share/wazuh-indexer /usr/share/wazuh-indexer
 | 
				
			||||||
 | 
					COPY --from=builder --chown=1000:1000 /etc/wazuh-indexer /usr/share/wazuh-indexer
 | 
				
			||||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/systemd /usr/lib/systemd
 | 
					COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/systemd /usr/lib/systemd
 | 
				
			||||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/sysctl.d /usr/lib/sysctl.d
 | 
					COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/sysctl.d /usr/lib/sysctl.d
 | 
				
			||||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d
 | 
					COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								build-docker-images/wazuh-indexer/config/check_repository.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								build-docker-images/wazuh-indexer/config/check_repository.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					## variables
 | 
				
			||||||
 | 
					APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
				
			||||||
 | 
					GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
 | 
				
			||||||
 | 
					REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
 | 
				
			||||||
 | 
					WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## check tag to use the correct repository
 | 
				
			||||||
 | 
					if [[ -n "${WAZUH_TAG}" ]]; then
 | 
				
			||||||
 | 
					  APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
 | 
				
			||||||
 | 
					  GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
 | 
				
			||||||
 | 
					  REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rpm --import "${APT_KEY}"
 | 
				
			||||||
 | 
					echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo
 | 
				
			||||||
@@ -19,42 +19,11 @@ export INDEXER_FILE=wazuh-indexer-base.tar.xz
 | 
				
			|||||||
export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz
 | 
					export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz
 | 
				
			||||||
export REPO_DIR=/unattended_installer
 | 
					export REPO_DIR=/unattended_installer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
rm -rf ${INSTALLATION_DIR}/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## variables
 | 
					 | 
				
			||||||
REPOSITORY="packages.wazuh.com/4.x"
 | 
					 | 
				
			||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
					 | 
				
			||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
					 | 
				
			||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
					 | 
				
			||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## check version to use the correct repository
 | 
					 | 
				
			||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
  REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
					 | 
				
			||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
					 | 
				
			||||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
      REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
curl -o ${INDEXER_FILE} https://${REPOSITORY}/stack/indexer/${BASE_FILE}
 | 
					 | 
				
			||||||
tar -xf ${INDEXER_FILE}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## TOOLS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Variables
 | 
					## Variables
 | 
				
			||||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
					CERT_TOOL=wazuh-certs-tool.sh
 | 
				
			||||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
					PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
				
			||||||
PACKAGES_URL=https://packages.wazuh.com/4.4/
 | 
					PACKAGES_URL=https://packages.wazuh.com/5.0/
 | 
				
			||||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.4/
 | 
					PACKAGES_DEV_URL=https://packages-dev.wazuh.com/5.0/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Check if the cert tool exists in S3 buckets
 | 
					## Check if the cert tool exists in S3 buckets
 | 
				
			||||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
					CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
				
			||||||
@@ -103,23 +72,10 @@ mkdir -p ${TARGET_DIR}/usr/lib/tmpfiles.d
 | 
				
			|||||||
mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
 | 
					mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
 | 
				
			||||||
mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
 | 
					mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
 | 
				
			||||||
mkdir -p ${TARGET_DIR}${CONFIG_DIR}/certs
 | 
					mkdir -p ${TARGET_DIR}${CONFIG_DIR}/certs
 | 
				
			||||||
# Move configuration files for wazuh-indexer
 | 
					 | 
				
			||||||
mv -f ${BASE_DIR}/etc/init.d/${NAME} ${TARGET_DIR}/etc/init.d/${NAME}
 | 
					 | 
				
			||||||
mv -f ${BASE_DIR}/etc/wazuh-indexer/* ${TARGET_DIR}${CONFIG_DIR}
 | 
					 | 
				
			||||||
mv -f ${BASE_DIR}/etc/sysconfig/${NAME} ${TARGET_DIR}/etc/default/
 | 
					 | 
				
			||||||
mv -f ${BASE_DIR}/usr/lib/tmpfiles.d/* ${TARGET_DIR}/usr/lib/tmpfiles.d/
 | 
					 | 
				
			||||||
mv -f ${BASE_DIR}/usr/lib/sysctl.d/* ${TARGET_DIR}/usr/lib/sysctl.d/
 | 
					 | 
				
			||||||
mv -f ${BASE_DIR}/usr/lib/systemd/system/* ${TARGET_DIR}/usr/lib/systemd/system/
 | 
					 | 
				
			||||||
rm -rf ${BASE_DIR}/etc
 | 
					 | 
				
			||||||
rm -rf ${BASE_DIR}/usr
 | 
					 | 
				
			||||||
# Copy installation files to final location
 | 
					 | 
				
			||||||
cp -pr ${BASE_DIR}/* ${TARGET_DIR}${INSTALLATION_DIR}
 | 
					 | 
				
			||||||
# Copy the security tools
 | 
					 | 
				
			||||||
cp /$CERT_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/
 | 
					 | 
				
			||||||
cp /$PASSWORD_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/
 | 
					 | 
				
			||||||
# Copy Wazuh's config files for the security plugin
 | 
					# Copy Wazuh's config files for the security plugin
 | 
				
			||||||
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
					cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
				
			||||||
cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
					cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
				
			||||||
 | 
					cp -pr /action_groups.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
				
			||||||
cp -pr /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
					cp -pr /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
				
			||||||
cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR}
 | 
					cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR}
 | 
				
			||||||
# Copy Wazuh indexer's certificates
 | 
					# Copy Wazuh indexer's certificates
 | 
				
			||||||
@@ -131,8 +87,16 @@ cp -pr /wazuh-certificates/admin.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin.pem
 | 
				
			|||||||
cp -pr /wazuh-certificates/admin-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin-key.pem
 | 
					cp -pr /wazuh-certificates/admin-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin-key.pem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Delete xms and xmx parameters in jvm.options
 | 
					# Delete xms and xmx parameters in jvm.options
 | 
				
			||||||
sed '/-Xms/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
 | 
					sed '/-Xms/d' -i /etc/wazuh-indexer/jvm.options
 | 
				
			||||||
sed '/-Xmx/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
 | 
					sed '/-Xmx/d' -i /etc/wazuh-indexer/jvm.options
 | 
				
			||||||
 | 
					sed -i 's/-Djava.security.policy=file:\/\/\/etc\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/-Djava.security.policy=file:\/\/\/usr\/share\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/g' /etc/wazuh-indexer/jvm.options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
 | 
					chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
 | 
				
			||||||
chmod -R 400 ${TARGET_DIR}${CONFIG_DIR}/certs/*
 | 
					chmod -R 400 ${TARGET_DIR}${CONFIG_DIR}/certs/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					find ${TARGET_DIR} -type d -exec chmod 750 {} \;
 | 
				
			||||||
 | 
					find ${TARGET_DIR} -type f -perm 644 -exec chmod 640 {} \;
 | 
				
			||||||
 | 
					find ${TARGET_DIR} -type f -perm 664 -exec chmod 660 {} \;
 | 
				
			||||||
 | 
					find ${TARGET_DIR} -type f -perm 755 -exec chmod 750 {} \;
 | 
				
			||||||
 | 
					find ${TARGET_DIR} -type f -perm 744 -exec chmod 740 {} \;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,12 +7,272 @@ umask 0002
 | 
				
			|||||||
export USER=wazuh-indexer
 | 
					export USER=wazuh-indexer
 | 
				
			||||||
export INSTALLATION_DIR=/usr/share/wazuh-indexer
 | 
					export INSTALLATION_DIR=/usr/share/wazuh-indexer
 | 
				
			||||||
export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}
 | 
					export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}
 | 
				
			||||||
export JAVA_HOME=${INSTALLATION_DIR}/jdk
 | 
					 | 
				
			||||||
export DISCOVERY=$(grep -oP "(?<=discovery.type: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml)
 | 
					 | 
				
			||||||
export CACERT=$(grep -oP "(?<=plugins.security.ssl.transport.pemtrustedcas_filepath: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml)
 | 
					export CACERT=$(grep -oP "(?<=plugins.security.ssl.transport.pemtrustedcas_filepath: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml)
 | 
				
			||||||
export CERT="${OPENSEARCH_PATH_CONF}/certs/admin.pem"
 | 
					export CERT="${OPENSEARCH_PATH_CONF}/certs/admin.pem"
 | 
				
			||||||
export KEY="${OPENSEARCH_PATH_CONF}/certs/admin-key.pem"
 | 
					export KEY="${OPENSEARCH_PATH_CONF}/certs/admin-key.pem"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					opensearch_vars=(
 | 
				
			||||||
 | 
					    cluster.name
 | 
				
			||||||
 | 
					    node.name
 | 
				
			||||||
 | 
					    node.roles
 | 
				
			||||||
 | 
					    path.data
 | 
				
			||||||
 | 
					    path.logs
 | 
				
			||||||
 | 
					    bootstrap.memory_lock
 | 
				
			||||||
 | 
					    network.host
 | 
				
			||||||
 | 
					    http.port
 | 
				
			||||||
 | 
					    transport.port
 | 
				
			||||||
 | 
					    network.bind_host
 | 
				
			||||||
 | 
					    network.publish_host
 | 
				
			||||||
 | 
					    transport.tcp.port
 | 
				
			||||||
 | 
					    compatibility.override_main_response_version
 | 
				
			||||||
 | 
					    http.host
 | 
				
			||||||
 | 
					    http.bind_host
 | 
				
			||||||
 | 
					    http.publish_host
 | 
				
			||||||
 | 
					    http.compression
 | 
				
			||||||
 | 
					    transport.host
 | 
				
			||||||
 | 
					    transport.bind_host
 | 
				
			||||||
 | 
					    transport.publish_host
 | 
				
			||||||
 | 
					    discovery.seed_hosts
 | 
				
			||||||
 | 
					    discovery.seed_providers
 | 
				
			||||||
 | 
					    discovery.type
 | 
				
			||||||
 | 
					    cluster.initial_cluster_manager_nodes
 | 
				
			||||||
 | 
					    cluster.initial_master_nodes
 | 
				
			||||||
 | 
					    node.max_local_storage_nodes
 | 
				
			||||||
 | 
					    gateway.recover_after_nodes
 | 
				
			||||||
 | 
					    gateway.recover_after_data_nodes
 | 
				
			||||||
 | 
					    gateway.expected_data_nodes
 | 
				
			||||||
 | 
					    gateway.recover_after_time
 | 
				
			||||||
 | 
					    plugins.security.nodes_dn
 | 
				
			||||||
 | 
					    plugins.security.nodes_dn_dynamic_config_enabled
 | 
				
			||||||
 | 
					    plugins.security.authcz.admin_dn
 | 
				
			||||||
 | 
					    plugins.security.roles_mapping_resolution
 | 
				
			||||||
 | 
					    plugins.security.dls.mode
 | 
				
			||||||
 | 
					    plugins.security.compliance.salt
 | 
				
			||||||
 | 
					    config.dynamic.http.anonymous_auth_enabled
 | 
				
			||||||
 | 
					    plugins.security.restapi.roles_enabled
 | 
				
			||||||
 | 
					    plugins.security.restapi.password_validation_regex
 | 
				
			||||||
 | 
					    plugins.security.restapi.password_validation_error_message
 | 
				
			||||||
 | 
					    plugins.security.restapi.password_min_length
 | 
				
			||||||
 | 
					    plugins.security.restapi.password_score_based_validation_strength
 | 
				
			||||||
 | 
					    plugins.security.unsupported.restapi.allow_securityconfig_modification
 | 
				
			||||||
 | 
					    plugins.security.authcz.impersonation_dn
 | 
				
			||||||
 | 
					    plugins.security.authcz.rest_impersonation_user
 | 
				
			||||||
 | 
					    plugins.security.allow_default_init_securityindex
 | 
				
			||||||
 | 
					    plugins.security.allow_unsafe_democertificates
 | 
				
			||||||
 | 
					    plugins.security.system_indices.permission.enabled
 | 
				
			||||||
 | 
					    plugins.security.config_index_name
 | 
				
			||||||
 | 
					    plugins.security.cert.oid
 | 
				
			||||||
 | 
					    plugins.security.cert.intercluster_request_evaluator_class
 | 
				
			||||||
 | 
					    plugins.security.enable_snapshot_restore_privilege
 | 
				
			||||||
 | 
					    plugins.security.check_snapshot_restore_write_privileges
 | 
				
			||||||
 | 
					    plugins.security.cache.ttl_minutes
 | 
				
			||||||
 | 
					    plugins.security.protected_indices.enabled
 | 
				
			||||||
 | 
					    plugins.security.protected_indices.roles
 | 
				
			||||||
 | 
					    plugins.security.protected_indices.indices
 | 
				
			||||||
 | 
					    plugins.security.system_indices.enabled
 | 
				
			||||||
 | 
					    plugins.security.system_indices.indices
 | 
				
			||||||
 | 
					    plugins.security.audit.enable_rest
 | 
				
			||||||
 | 
					    plugins.security.audit.enable_transport
 | 
				
			||||||
 | 
					    plugins.security.audit.resolve_bulk_requests
 | 
				
			||||||
 | 
					    plugins.security.audit.config.disabled_categories
 | 
				
			||||||
 | 
					    plugins.security.audit.ignore_requests
 | 
				
			||||||
 | 
					    plugins.security.audit.threadpool.size
 | 
				
			||||||
 | 
					    plugins.security.audit.threadpool.max_queue_len
 | 
				
			||||||
 | 
					    plugins.security.audit.ignore_users
 | 
				
			||||||
 | 
					    plugins.security.audit.type
 | 
				
			||||||
 | 
					    plugins.security.audit.config.http_endpoints
 | 
				
			||||||
 | 
					    plugins.security.audit.config.index
 | 
				
			||||||
 | 
					    plugins.security.audit.config.type
 | 
				
			||||||
 | 
					    plugins.security.audit.config.username
 | 
				
			||||||
 | 
					    plugins.security.audit.config.password
 | 
				
			||||||
 | 
					    plugins.security.audit.config.enable_ssl
 | 
				
			||||||
 | 
					    plugins.security.audit.config.verify_hostnames
 | 
				
			||||||
 | 
					    plugins.security.audit.config.enable_ssl_client_auth
 | 
				
			||||||
 | 
					    plugins.security.audit.config.cert_alias
 | 
				
			||||||
 | 
					    plugins.security.audit.config.pemkey_filepath
 | 
				
			||||||
 | 
					    plugins.security.audit.config.pemkey_content
 | 
				
			||||||
 | 
					    plugins.security.audit.config.pemkey_password
 | 
				
			||||||
 | 
					    plugins.security.audit.config.pemcert_filepath
 | 
				
			||||||
 | 
					    plugins.security.audit.config.pemcert_content
 | 
				
			||||||
 | 
					    plugins.security.audit.config.pemtrustedcas_filepath
 | 
				
			||||||
 | 
					    plugins.security.audit.config.pemtrustedcas_content
 | 
				
			||||||
 | 
					    plugins.security.audit.config.webhook.url
 | 
				
			||||||
 | 
					    plugins.security.audit.config.webhook.format
 | 
				
			||||||
 | 
					    plugins.security.audit.config.webhook.ssl.verify
 | 
				
			||||||
 | 
					    plugins.security.audit.config.webhook.ssl.pemtrustedcas_filepath
 | 
				
			||||||
 | 
					    plugins.security.audit.config.webhook.ssl.pemtrustedcas_content
 | 
				
			||||||
 | 
					    plugins.security.audit.config.log4j.logger_name
 | 
				
			||||||
 | 
					    plugins.security.audit.config.log4j.level
 | 
				
			||||||
 | 
					    opendistro_security.audit.config.disabled_rest_categories
 | 
				
			||||||
 | 
					    opendistro_security.audit.config.disabled_transport_categories
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.enforce_hostname_verification
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.resolve_hostname
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.clientauth_mode
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.enabled_ciphers
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.enabled_protocols
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.enabled_ciphers
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.enabled_protocols
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.keystore_type
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.keystore_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.keystore_alias
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.keystore_password
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.truststore_type
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.truststore_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.truststore_alias
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.truststore_password
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.enabled
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.keystore_type
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.keystore_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.keystore_alias
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.keystore_password
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.truststore_type
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.truststore_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.truststore_alias
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.truststore_password
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.enable_openssl_if_available
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.enable_openssl_if_available
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.pemkey_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.pemkey_password
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.pemcert_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.pemtrustedcas_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.pemkey_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.pemkey_password
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.pemcert_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.pemtrustedcas_filepath
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.enabled
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.client.pemkey_password
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.keystore_keypassword
 | 
				
			||||||
 | 
					    plugins.security.ssl.transport.server.keystore_keypassword
 | 
				
			||||||
 | 
					    plugins.sercurity.ssl.transport.server.keystore_alias
 | 
				
			||||||
 | 
					    plugins.sercurity.ssl.transport.client.keystore_alias
 | 
				
			||||||
 | 
					    plugins.sercurity.ssl.transport.server.truststore_alias
 | 
				
			||||||
 | 
					    plugins.sercurity.ssl.transport.client.truststore_alias
 | 
				
			||||||
 | 
					    plugins.security.ssl.client.external_context_id
 | 
				
			||||||
 | 
					    plugins.secuirty.ssl.transport.principal_extractor_class
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.crl.file_path
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.crl.validate
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.crl.prefer_crlfile_over_ocsp
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.crl.check_only_end_entitites
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.crl.disable_ocsp
 | 
				
			||||||
 | 
					    plugins.security.ssl.http.crl.disable_crldp
 | 
				
			||||||
 | 
					    plugins.security.ssl.allow_client_initiated_renegotiation
 | 
				
			||||||
 | 
					    indices.breaker.total.use_real_memory
 | 
				
			||||||
 | 
					    indices.breaker.total.limit
 | 
				
			||||||
 | 
					    indices.breaker.fielddata.limit
 | 
				
			||||||
 | 
					    indices.breaker.fielddata.overhead
 | 
				
			||||||
 | 
					    indices.breaker.request.limit
 | 
				
			||||||
 | 
					    indices.breaker.request.overhead
 | 
				
			||||||
 | 
					    network.breaker.inflight_requests.limit
 | 
				
			||||||
 | 
					    network.breaker.inflight_requests.overhead
 | 
				
			||||||
 | 
					    cluster.routing.allocation.enable
 | 
				
			||||||
 | 
					    cluster.routing.allocation.node_concurrent_incoming_recoveries
 | 
				
			||||||
 | 
					    cluster.routing.allocation.node_concurrent_outgoing_recoveries
 | 
				
			||||||
 | 
					    cluster.routing.allocation.node_concurrent_recoveries
 | 
				
			||||||
 | 
					    cluster.routing.allocation.node_initial_primaries_recoveries
 | 
				
			||||||
 | 
					    cluster.routing.allocation.same_shard.host
 | 
				
			||||||
 | 
					    cluster.routing.rebalance.enable
 | 
				
			||||||
 | 
					    cluster.routing.allocation.allow_rebalance
 | 
				
			||||||
 | 
					    cluster.routing.allocation.cluster_concurrent_rebalance
 | 
				
			||||||
 | 
					    cluster.routing.allocation.balance.shard
 | 
				
			||||||
 | 
					    cluster.routing.allocation.balance.index
 | 
				
			||||||
 | 
					    cluster.routing.allocation.balance.threshold
 | 
				
			||||||
 | 
					    cluster.routing.allocation.balance.prefer_primary
 | 
				
			||||||
 | 
					    cluster.routing.allocation.disk.threshold_enabled
 | 
				
			||||||
 | 
					    cluster.routing.allocation.disk.watermark.low
 | 
				
			||||||
 | 
					    cluster.routing.allocation.disk.watermark.high
 | 
				
			||||||
 | 
					    cluster.routing.allocation.disk.watermark.flood_stage
 | 
				
			||||||
 | 
					    cluster.info.update.interval
 | 
				
			||||||
 | 
					    cluster.routing.allocation.shard_movement_strategy
 | 
				
			||||||
 | 
					    cluster.blocks.read_only
 | 
				
			||||||
 | 
					    cluster.blocks.read_only_allow_delete
 | 
				
			||||||
 | 
					    cluster.max_shards_per_node
 | 
				
			||||||
 | 
					    cluster.persistent_tasks.allocation.enable
 | 
				
			||||||
 | 
					    cluster.persistent_tasks.allocation.recheck_interval
 | 
				
			||||||
 | 
					    cluster.search.request.slowlog.threshold.warn
 | 
				
			||||||
 | 
					    cluster.search.request.slowlog.threshold.info
 | 
				
			||||||
 | 
					    cluster.search.request.slowlog.threshold.debug
 | 
				
			||||||
 | 
					    cluster.search.request.slowlog.threshold.trace
 | 
				
			||||||
 | 
					    cluster.search.request.slowlog.level
 | 
				
			||||||
 | 
					    cluster.fault_detection.leader_check.timeout
 | 
				
			||||||
 | 
					    cluster.fault_detection.follower_check.timeout
 | 
				
			||||||
 | 
					    action.auto_create_index
 | 
				
			||||||
 | 
					    action.destructive_requires_name
 | 
				
			||||||
 | 
					    cluster.default.index.refresh_interval
 | 
				
			||||||
 | 
					    cluster.minimum.index.refresh_interval
 | 
				
			||||||
 | 
					    cluster.indices.close.enable
 | 
				
			||||||
 | 
					    indices.recovery.max_bytes_per_sec
 | 
				
			||||||
 | 
					    indices.recovery.max_concurrent_file_chunks
 | 
				
			||||||
 | 
					    indices.recovery.max_concurrent_operations
 | 
				
			||||||
 | 
					    indices.recovery.max_concurrent_remote_store_streams
 | 
				
			||||||
 | 
					    indices.time_series_index.default_index_merge_policy
 | 
				
			||||||
 | 
					    indices.fielddata.cache.size
 | 
				
			||||||
 | 
					    index.number_of_shards
 | 
				
			||||||
 | 
					    index.number_of_routing_shards
 | 
				
			||||||
 | 
					    index.shard.check_on_startup
 | 
				
			||||||
 | 
					    index.codec
 | 
				
			||||||
 | 
					    index.codec.compression_level
 | 
				
			||||||
 | 
					    index.routing_partition_size
 | 
				
			||||||
 | 
					    index.soft_deletes.retention_lease.period
 | 
				
			||||||
 | 
					    index.load_fixed_bitset_filters_eagerly
 | 
				
			||||||
 | 
					    index.hidden
 | 
				
			||||||
 | 
					    index.merge.policy
 | 
				
			||||||
 | 
					    index.merge_on_flush.enabled
 | 
				
			||||||
 | 
					    index.merge_on_flush.max_full_flush_merge_wait_time
 | 
				
			||||||
 | 
					    index.merge_on_flush.policy
 | 
				
			||||||
 | 
					    index.check_pending_flush.enabled
 | 
				
			||||||
 | 
					    index.number_of_replicas
 | 
				
			||||||
 | 
					    index.auto_expand_replicas
 | 
				
			||||||
 | 
					    index.search.idle.after
 | 
				
			||||||
 | 
					    index.refresh_interval
 | 
				
			||||||
 | 
					    index.max_result_window
 | 
				
			||||||
 | 
					    index.max_inner_result_window
 | 
				
			||||||
 | 
					    index.max_rescore_window
 | 
				
			||||||
 | 
					    index.max_docvalue_fields_search
 | 
				
			||||||
 | 
					    index.max_script_fields
 | 
				
			||||||
 | 
					    index.max_ngram_diff
 | 
				
			||||||
 | 
					    index.max_shingle_diff
 | 
				
			||||||
 | 
					    index.max_refresh_listeners
 | 
				
			||||||
 | 
					    index.analyze.max_token_count
 | 
				
			||||||
 | 
					    index.highlight.max_analyzed_offset
 | 
				
			||||||
 | 
					    index.max_terms_count
 | 
				
			||||||
 | 
					    index.max_regex_length
 | 
				
			||||||
 | 
					    index.query.default_field
 | 
				
			||||||
 | 
					    index.query.max_nested_depth
 | 
				
			||||||
 | 
					    index.routing.allocation.enable
 | 
				
			||||||
 | 
					    index.routing.rebalance.enable
 | 
				
			||||||
 | 
					    index.gc_deletes
 | 
				
			||||||
 | 
					    index.default_pipeline
 | 
				
			||||||
 | 
					    index.final_pipeline
 | 
				
			||||||
 | 
					    index.optimize_doc_id_lookup.fuzzy_set.enabled
 | 
				
			||||||
 | 
					    index.optimize_doc_id_lookup.fuzzy_set.false_positive_probability
 | 
				
			||||||
 | 
					    search.max_buckets
 | 
				
			||||||
 | 
					    search.phase_took_enabled
 | 
				
			||||||
 | 
					    search.allow_expensive_queries
 | 
				
			||||||
 | 
					    search.default_allow_partial_results
 | 
				
			||||||
 | 
					    search.cancel_after_time_interval
 | 
				
			||||||
 | 
					    search.default_search_timeout
 | 
				
			||||||
 | 
					    search.default_keep_alive
 | 
				
			||||||
 | 
					    search.keep_alive_interval
 | 
				
			||||||
 | 
					    search.max_keep_alive
 | 
				
			||||||
 | 
					    search.low_level_cancellation
 | 
				
			||||||
 | 
					    search.max_open_scroll_context
 | 
				
			||||||
 | 
					    search.request_stats_enabled
 | 
				
			||||||
 | 
					    search.highlight.term_vector_multi_value
 | 
				
			||||||
 | 
					    snapshot.max_concurrent_operations
 | 
				
			||||||
 | 
					    cluster.remote_store.translog.buffer_interval
 | 
				
			||||||
 | 
					    remote_store.moving_average_window_size
 | 
				
			||||||
 | 
					    opensearch.notifications.core.allowed_config_types
 | 
				
			||||||
 | 
					    opensearch.notifications.core.email.minimum_header_length
 | 
				
			||||||
 | 
					    opensearch.notifications.core.email.size_limit
 | 
				
			||||||
 | 
					    opensearch.notifications.core.http.connection_timeout
 | 
				
			||||||
 | 
					    opensearch.notifications.core.http.host_deny_list
 | 
				
			||||||
 | 
					    opensearch.notifications.core.http.max_connection_per_route
 | 
				
			||||||
 | 
					    opensearch.notifications.core.http.max_connections
 | 
				
			||||||
 | 
					    opensearch.notifications.core.http.socket_timeout
 | 
				
			||||||
 | 
					    opensearch.notifications.core.tooltip_support
 | 
				
			||||||
 | 
					    opensearch.notifications.general.filter_by_backend_roles
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
run_as_other_user_if_needed() {
 | 
					run_as_other_user_if_needed() {
 | 
				
			||||||
  if [[ "$(id -u)" == "0" ]]; then
 | 
					  if [[ "$(id -u)" == "0" ]]; then
 | 
				
			||||||
    # If running as root, drop to specified UID and run command
 | 
					    # If running as root, drop to specified UID and run command
 | 
				
			||||||
@@ -24,6 +284,37 @@ run_as_other_user_if_needed() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function buildOpensearchConfig {
 | 
				
			||||||
 | 
					    echo "" >> $OPENSEARCH_PATH_CONF/opensearch.yml
 | 
				
			||||||
 | 
					      for opensearch_var in ${opensearch_vars[*]}; do
 | 
				
			||||||
 | 
					        env_var=$(echo ${opensearch_var^^} | tr . _)
 | 
				
			||||||
 | 
					        value=${!env_var}
 | 
				
			||||||
 | 
					        if [[ -n $value ]]; then
 | 
				
			||||||
 | 
					          if grep -q $opensearch_var $OPENSEARCH_PATH_CONF/opensearch.yml; then
 | 
				
			||||||
 | 
					            lineNum="$(grep -n "$opensearch_var" $OPENSEARCH_PATH_CONF/opensearch.yml | head -n 1 | cut -d: -f1)"
 | 
				
			||||||
 | 
					            sed -i "${lineNum}d" $OPENSEARCH_PATH_CONF/opensearch.yml
 | 
				
			||||||
 | 
					            charline=$(awk "NR == ${lineNum}" $OPENSEARCH_PATH_CONF/opensearch.yml | head -c 1)
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          while :
 | 
				
			||||||
 | 
					          do
 | 
				
			||||||
 | 
					            case "$charline" in
 | 
				
			||||||
 | 
					              "-"| "#" |" ") sed -i "${lineNum}d" $OPENSEARCH_PATH_CONF/opensearch.yml;;
 | 
				
			||||||
 | 
					              *) break;;
 | 
				
			||||||
 | 
					            esac
 | 
				
			||||||
 | 
					            charline=$(awk "NR == ${lineNum}" $OPENSEARCH_PATH_CONF/opensearch.yml | head -c 1)
 | 
				
			||||||
 | 
					          done
 | 
				
			||||||
 | 
					          longoptfile="${opensearch_var}: ${value}"
 | 
				
			||||||
 | 
					          if grep -q $opensearch_var $OPENSEARCH_PATH_CONF/opensearch.yml; then
 | 
				
			||||||
 | 
					            sed -i "/${opensearch_var}/ s|^.*$|${longoptfile}|" $OPENSEARCH_PATH_CONF/opensearch.yml
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            echo $longoptfile >> $OPENSEARCH_PATH_CONF/opensearch.yml
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					      done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					buildOpensearchConfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Allow user specify custom CMD, maybe bin/opensearch itself
 | 
					# Allow user specify custom CMD, maybe bin/opensearch itself
 | 
				
			||||||
# for example to directly specify `-E` style parameters for opensearch on k8s
 | 
					# for example to directly specify `-E` style parameters for opensearch on k8s
 | 
				
			||||||
# or simply to run /bin/bash to check the image
 | 
					# or simply to run /bin/bash to check the image
 | 
				
			||||||
@@ -84,10 +375,4 @@ if [[ "$(id -u)" == "0" ]]; then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if [[ "$DISCOVERY" == "single-node" ]] && [[ ! -f "/var/lib/wazuh-indexer/.flag" ]]; then
 | 
					 | 
				
			||||||
  # run securityadmin.sh for single node with CACERT, CERT and KEY parameter
 | 
					 | 
				
			||||||
#  nohup /securityadmin.sh &
 | 
					 | 
				
			||||||
#  touch "/var/lib/wazuh-indexer/.flag"
 | 
					 | 
				
			||||||
#fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
run_as_other_user_if_needed /usr/share/wazuh-indexer/bin/opensearch <<<"$KEYSTORE_PASSWORD"
 | 
					run_as_other_user_if_needed /usr/share/wazuh-indexer/bin/opensearch <<<"$KEYSTORE_PASSWORD"
 | 
				
			||||||
@@ -1,74 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
# This is the internal user database
 | 
					 | 
				
			||||||
# The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
_meta:
 | 
					 | 
				
			||||||
  type: "internalusers"
 | 
					 | 
				
			||||||
  config_version: 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Define your internal users here
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Demo users
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
admin:
 | 
					 | 
				
			||||||
  hash: "$2a$12$VcCDgh2NDk07JGN0rjGbM.Ad41qVR/YFJcgHp0UGns5JDymv..TOG"
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "admin"
 | 
					 | 
				
			||||||
  description: "Demo admin user"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
kibanaserver:
 | 
					 | 
				
			||||||
  hash: "$2a$12$4AcgAt3xwOWadA5s5blL6ev39OXDNhmOesEoo33eZtrq2N0YrU3H."
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  description: "Demo kibanaserver user"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
kibanaro:
 | 
					 | 
				
			||||||
  hash: "$2a$12$JJSXNfTowz7Uu5ttXfeYpeYE0arACvcwlPBStB1F.MI7f0U9Z4DGC"
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "kibanauser"
 | 
					 | 
				
			||||||
  - "readall"
 | 
					 | 
				
			||||||
  attributes:
 | 
					 | 
				
			||||||
    attribute1: "value1"
 | 
					 | 
				
			||||||
    attribute2: "value2"
 | 
					 | 
				
			||||||
    attribute3: "value3"
 | 
					 | 
				
			||||||
  description: "Demo kibanaro user"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logstash:
 | 
					 | 
				
			||||||
  hash: "$2a$12$u1ShR4l4uBS3Uv59Pa2y5.1uQuZBrZtmNfqB3iM/.jL0XoV9sghS2"
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "logstash"
 | 
					 | 
				
			||||||
  description: "Demo logstash user"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
readall:
 | 
					 | 
				
			||||||
  hash: "$2a$12$ae4ycwzwvLtZxwZ82RmiEunBbIPiAmGZduBAjKN0TXdwQFtCwARz2"
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "readall"
 | 
					 | 
				
			||||||
  description: "Demo readall user"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snapshotrestore:
 | 
					 | 
				
			||||||
  hash: "$2y$12$DpwmetHKwgYnorbgdvORCenv4NAK8cPUg8AI6pxLCuWf/ALc0.v7W"
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "snapshotrestore"
 | 
					 | 
				
			||||||
  description: "Demo snapshotrestore user"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
wazuh_admin:
 | 
					 | 
				
			||||||
  hash: "$2y$12$d2awHiOYvZjI88VfsDON.u6buoBol0gYPJEgdG1ArKVE0OMxViFfu"
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  hidden: false
 | 
					 | 
				
			||||||
  backend_roles: []
 | 
					 | 
				
			||||||
  attributes: {}
 | 
					 | 
				
			||||||
  opendistro_security_roles: []
 | 
					 | 
				
			||||||
  static: false
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
wazuh_user:
 | 
					 | 
				
			||||||
  hash: "$2y$12$BQixeoQdRubZdVf/7sq1suHwiVRnSst1.lPI2M0.GPZms4bq2D9vO"
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  hidden: false
 | 
					 | 
				
			||||||
  backend_roles: []
 | 
					 | 
				
			||||||
  attributes: {}
 | 
					 | 
				
			||||||
  opendistro_security_roles: []
 | 
					 | 
				
			||||||
  static: false  
 | 
					 | 
				
			||||||
@@ -1,26 +0,0 @@
 | 
				
			|||||||
network.host: "0.0.0.0"
 | 
					 | 
				
			||||||
node.name: "wazuh.indexer"
 | 
					 | 
				
			||||||
path.data: /var/lib/wazuh-indexer
 | 
					 | 
				
			||||||
path.logs: /var/log/wazuh-indexer
 | 
					 | 
				
			||||||
discovery.type: single-node
 | 
					 | 
				
			||||||
compatibility.override_main_response_version: true
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/indexer-key.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/certs/indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/certs/indexer-key.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.enabled: true
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.enforce_hostname_verification: false
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.resolve_hostname: false
 | 
					 | 
				
			||||||
plugins.security.authcz.admin_dn:
 | 
					 | 
				
			||||||
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.check_snapshot_restore_write_privileges: true
 | 
					 | 
				
			||||||
plugins.security.enable_snapshot_restore_privilege: true
 | 
					 | 
				
			||||||
plugins.security.nodes_dn:
 | 
					 | 
				
			||||||
- "CN=demo.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.restapi.roles_enabled:
 | 
					 | 
				
			||||||
- "all_access"
 | 
					 | 
				
			||||||
- "security_rest_api_access"
 | 
					 | 
				
			||||||
plugins.security.system_indices.enabled: true
 | 
					 | 
				
			||||||
plugins.security.system_indices.indices: [".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]
 | 
					 | 
				
			||||||
@@ -1,163 +0,0 @@
 | 
				
			|||||||
_meta:
 | 
					 | 
				
			||||||
  type: "roles"
 | 
					 | 
				
			||||||
  config_version: 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Restrict users so they can only view visualization and dashboards on kibana
 | 
					 | 
				
			||||||
kibana_read_only:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The security REST API access role is used to assign specific users access to change the security settings through the REST API.
 | 
					 | 
				
			||||||
security_rest_api_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to view monitors, destinations and alerts
 | 
					 | 
				
			||||||
alerting_read_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/alerting/alerts/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/alerting/destination/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/alerting/monitor/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/alerting/monitor/search'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to view and acknowledge alerts
 | 
					 | 
				
			||||||
alerting_ack_alerts:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/alerting/alerts/*'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to use all alerting functionality
 | 
					 | 
				
			||||||
alerting_full_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster_monitor'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/alerting/*'
 | 
					 | 
				
			||||||
  index_permissions:
 | 
					 | 
				
			||||||
    - index_patterns:
 | 
					 | 
				
			||||||
        - '*'
 | 
					 | 
				
			||||||
      allowed_actions:
 | 
					 | 
				
			||||||
        - 'indices_monitor'
 | 
					 | 
				
			||||||
        - 'indices:admin/aliases/get'
 | 
					 | 
				
			||||||
        - 'indices:admin/mappings/get'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allow users to read Anomaly Detection detectors and results
 | 
					 | 
				
			||||||
anomaly_read_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/ad/detector/info'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/ad/detector/search'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/ad/detectors/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/ad/result/search'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/ad/tasks/search'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to use all Anomaly Detection functionality
 | 
					 | 
				
			||||||
anomaly_full_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster_monitor'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/ad/*'
 | 
					 | 
				
			||||||
  index_permissions:
 | 
					 | 
				
			||||||
    - index_patterns:
 | 
					 | 
				
			||||||
        - '*'
 | 
					 | 
				
			||||||
      allowed_actions:
 | 
					 | 
				
			||||||
        - 'indices_monitor'
 | 
					 | 
				
			||||||
        - 'indices:admin/aliases/get'
 | 
					 | 
				
			||||||
        - 'indices:admin/mappings/get'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to read Notebooks
 | 
					 | 
				
			||||||
notebooks_read_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/notebooks/list'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/notebooks/get'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to all Notebooks functionality
 | 
					 | 
				
			||||||
notebooks_full_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/notebooks/create'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/notebooks/update'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/notebooks/delete'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/notebooks/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/notebooks/list'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to read and download Reports
 | 
					 | 
				
			||||||
reports_instances_read_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/instance/list'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/instance/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/menu/download'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to read and download Reports and Report-definitions
 | 
					 | 
				
			||||||
reports_read_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/list'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/instance/list'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/instance/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/menu/download'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to all Reports functionality
 | 
					 | 
				
			||||||
reports_full_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/create'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/update'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/on_demand'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/delete'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/definition/list'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/instance/list'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/instance/get'
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/reports/menu/download'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to use all asynchronous-search functionality
 | 
					 | 
				
			||||||
asynchronous_search_full_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/asynchronous_search/*'
 | 
					 | 
				
			||||||
  index_permissions:
 | 
					 | 
				
			||||||
    - index_patterns:
 | 
					 | 
				
			||||||
        - '*'
 | 
					 | 
				
			||||||
      allowed_actions:
 | 
					 | 
				
			||||||
        - 'indices:data/read/search*'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Allows users to read stored asynchronous-search results
 | 
					 | 
				
			||||||
asynchronous_search_read_access:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  cluster_permissions:
 | 
					 | 
				
			||||||
    - 'cluster:admin/opendistro/asynchronous_search/get'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
wazuh_ui_user:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  hidden: false
 | 
					 | 
				
			||||||
  cluster_permissions: []
 | 
					 | 
				
			||||||
  index_permissions:
 | 
					 | 
				
			||||||
  - index_patterns:
 | 
					 | 
				
			||||||
    - "wazuh-*"
 | 
					 | 
				
			||||||
    dls: ""
 | 
					 | 
				
			||||||
    fls: []
 | 
					 | 
				
			||||||
    masked_fields: []
 | 
					 | 
				
			||||||
    allowed_actions:
 | 
					 | 
				
			||||||
    - "read"
 | 
					 | 
				
			||||||
  tenant_permissions: []
 | 
					 | 
				
			||||||
  static: false        
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
wazuh_ui_admin:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  hidden: false
 | 
					 | 
				
			||||||
  cluster_permissions: []
 | 
					 | 
				
			||||||
  index_permissions:
 | 
					 | 
				
			||||||
  - index_patterns:
 | 
					 | 
				
			||||||
    - "wazuh-*"
 | 
					 | 
				
			||||||
    dls: ""
 | 
					 | 
				
			||||||
    fls: []
 | 
					 | 
				
			||||||
    masked_fields: []
 | 
					 | 
				
			||||||
    allowed_actions:
 | 
					 | 
				
			||||||
    - "read"
 | 
					 | 
				
			||||||
    - "delete"
 | 
					 | 
				
			||||||
    - "manage"
 | 
					 | 
				
			||||||
    - "index"
 | 
					 | 
				
			||||||
  tenant_permissions: []
 | 
					 | 
				
			||||||
  static: false  
 | 
					 | 
				
			||||||
@@ -1,71 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
# In this file users, backendroles and hosts can be mapped to Wazuh indexer Security roles.
 | 
					 | 
				
			||||||
# Permissions for Wazuh indexer roles are configured in roles.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
_meta:
 | 
					 | 
				
			||||||
  type: "rolesmapping"
 | 
					 | 
				
			||||||
  config_version: 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Define your roles mapping here
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Demo roles mapping
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
all_access:
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "admin"
 | 
					 | 
				
			||||||
  description: "Maps admin to all_access"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
own_index:
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  users:
 | 
					 | 
				
			||||||
  - "*"
 | 
					 | 
				
			||||||
  description: "Allow full access to an index named like the username"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logstash:
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "logstash"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
kibana_user:
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "kibanauser"
 | 
					 | 
				
			||||||
  users:
 | 
					 | 
				
			||||||
  - "wazuh_user"
 | 
					 | 
				
			||||||
  - "wazuh_admin"    
 | 
					 | 
				
			||||||
  description: "Maps kibanauser to kibana_user"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
readall:
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "readall"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
manage_snapshots:
 | 
					 | 
				
			||||||
  reserved: false
 | 
					 | 
				
			||||||
  backend_roles:
 | 
					 | 
				
			||||||
  - "snapshotrestore"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
kibana_server:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  users:
 | 
					 | 
				
			||||||
  - "kibanaserver"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
wazuh_ui_admin:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  hidden: false
 | 
					 | 
				
			||||||
  backend_roles: []
 | 
					 | 
				
			||||||
  hosts: []
 | 
					 | 
				
			||||||
  users:
 | 
					 | 
				
			||||||
  - "wazuh_admin"
 | 
					 | 
				
			||||||
  - "kibanaserver"
 | 
					 | 
				
			||||||
  and_backend_roles: []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
wazuh_ui_user:
 | 
					 | 
				
			||||||
  reserved: true
 | 
					 | 
				
			||||||
  hidden: false
 | 
					 | 
				
			||||||
  backend_roles: []
 | 
					 | 
				
			||||||
  hosts: []
 | 
					 | 
				
			||||||
  users:
 | 
					 | 
				
			||||||
  - "wazuh_user"
 | 
					 | 
				
			||||||
  and_backend_roles: []
 | 
					 | 
				
			||||||
@@ -1,33 +1,32 @@
 | 
				
			|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
FROM ubuntu:focal
 | 
					FROM amazonlinux:2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
 | 
					RUN rm /bin/sh && ln -s /bin/bash /bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARG WAZUH_VERSION
 | 
					ARG WAZUH_VERSION
 | 
				
			||||||
ARG WAZUH_TAG_REVISION
 | 
					ARG WAZUH_TAG_REVISION
 | 
				
			||||||
ARG TEMPLATE_VERSION=4.4
 | 
					ARG FILEBEAT_TEMPLATE_BRANCH
 | 
				
			||||||
ARG FILEBEAT_CHANNEL=filebeat-oss
 | 
					ARG FILEBEAT_CHANNEL=filebeat-oss
 | 
				
			||||||
ARG FILEBEAT_VERSION=7.10.2
 | 
					ARG FILEBEAT_VERSION=7.10.2
 | 
				
			||||||
ARG WAZUH_FILEBEAT_MODULE="wazuh-filebeat-0.2.tar.gz"
 | 
					ARG WAZUH_FILEBEAT_MODULE
 | 
				
			||||||
 | 
					ARG S6_VERSION="v2.2.0.3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apt-get update && apt install curl apt-transport-https lsb-release gnupg -y
 | 
					RUN yum install curl-minimal xz gnupg tar gzip openssl findutils procps -y &&\
 | 
				
			||||||
 | 
					    yum clean all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY config/check_repository.sh /
 | 
					COPY config/check_repository.sh /
 | 
				
			||||||
 | 
					COPY config/filebeat_module.sh /
 | 
				
			||||||
 | 
					COPY config/permanent_data.env config/permanent_data.sh /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN chmod 775 /check_repository.sh
 | 
					RUN chmod 775 /check_repository.sh
 | 
				
			||||||
RUN source /check_repository.sh
 | 
					RUN source /check_repository.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apt-get update && \
 | 
					RUN yum install wazuh-manager-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
 | 
				
			||||||
    apt-get install wazuh-manager=${WAZUH_VERSION}-${WAZUH_TAG_REVISION}
 | 
					    yum clean all && \
 | 
				
			||||||
 | 
					    chmod 775 /filebeat_module.sh && \
 | 
				
			||||||
RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb &&\
 | 
					    source /filebeat_module.sh && \
 | 
				
			||||||
    dpkg -i ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && \
 | 
					    rm /filebeat_module.sh && \
 | 
				
			||||||
    curl -s https://packages.wazuh.com/4.x/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module
 | 
					    curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz \
 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss && chmod +rx /usr/local/bin/goss
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ARG S6_VERSION="v2.2.0.3"
 | 
					 | 
				
			||||||
RUN curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz \
 | 
					 | 
				
			||||||
    -o /tmp/s6-overlay-amd64.tar.gz && \
 | 
					    -o /tmp/s6-overlay-amd64.tar.gz && \
 | 
				
			||||||
    tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \
 | 
					    tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \
 | 
				
			||||||
    tar xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin && \
 | 
					    tar xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin && \
 | 
				
			||||||
@@ -40,17 +39,29 @@ COPY config/filebeat.yml /etc/filebeat/
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
RUN chmod go-w /etc/filebeat/filebeat.yml
 | 
					RUN chmod go-w /etc/filebeat/filebeat.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/elasticsearch/7.x/wazuh-template.json /etc/filebeat
 | 
					ADD https://raw.githubusercontent.com/wazuh/wazuh/$FILEBEAT_TEMPLATE_BRANCH/extensions/elasticsearch/7.x/wazuh-template.json /etc/filebeat
 | 
				
			||||||
RUN chmod go-w /etc/filebeat/wazuh-template.json
 | 
					RUN chmod go-w /etc/filebeat/wazuh-template.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Prepare permanent data
 | 
					# Prepare permanent data
 | 
				
			||||||
# Sync calls are due to https://github.com/docker/docker/issues/9547
 | 
					# Sync calls are due to https://github.com/docker/docker/issues/9547
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY config/permanent_data.env config/permanent_data.sh /
 | 
					#Make mount directories for keep permissions
 | 
				
			||||||
RUN chmod 755 /permanent_data.sh && \
 | 
					
 | 
				
			||||||
 | 
					RUN mkdir -p /var/ossec/var/multigroups && \
 | 
				
			||||||
 | 
					    chown root:wazuh /var/ossec/var/multigroups && \
 | 
				
			||||||
 | 
					    chmod 770 /var/ossec/var/multigroups && \
 | 
				
			||||||
 | 
					    mkdir -p /var/ossec/agentless && \
 | 
				
			||||||
 | 
					    chown root:wazuh /var/ossec/agentless && \
 | 
				
			||||||
 | 
					    chmod 770 /var/ossec/agentless && \
 | 
				
			||||||
 | 
					    mkdir -p /var/ossec/active-response/bin && \
 | 
				
			||||||
 | 
					    chown root:wazuh /var/ossec/active-response/bin && \
 | 
				
			||||||
 | 
					    chmod 770 /var/ossec/active-response/bin && \
 | 
				
			||||||
 | 
					    chmod 755 /permanent_data.sh && \
 | 
				
			||||||
    sync && /permanent_data.sh && \
 | 
					    sync && /permanent_data.sh && \
 | 
				
			||||||
    sync && rm /permanent_data.sh
 | 
					    sync && rm /permanent_data.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN rm /etc/yum.repos.d/wazuh.repo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Services ports
 | 
					# Services ports
 | 
				
			||||||
EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp
 | 
					EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,29 +1,15 @@
 | 
				
			|||||||
## variables
 | 
					## variables
 | 
				
			||||||
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
 | 
					APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
				
			||||||
REPOSITORY="deb https://packages.wazuh.com/4.x/apt/ stable main"
 | 
					GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
 | 
				
			||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
					REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
 | 
				
			||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
					WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$)
 | 
				
			||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
					 | 
				
			||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
					 | 
				
			||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## check version to use the correct repository
 | 
					## check tag to use the correct repository
 | 
				
			||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
					if [[ -n "${WAZUH_TAG}" ]]; then
 | 
				
			||||||
  APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
					  APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
 | 
				
			||||||
  REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
 | 
					  GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
 | 
				
			||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
					  REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1"
 | 
				
			||||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
					 | 
				
			||||||
    REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
 | 
					 | 
				
			||||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
					 | 
				
			||||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
					 | 
				
			||||||
      APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
					 | 
				
			||||||
      REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
apt-key adv --fetch-keys ${APT_KEY}
 | 
					rpm --import "${APT_KEY}"
 | 
				
			||||||
echo ${REPOSITORY} | tee -a /etc/apt/sources.list.d/wazuh.list
 | 
					echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo
 | 
				
			||||||
@@ -13,7 +13,7 @@ SPECIAL_CHARS = "@$!%*?&-_"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
try:
 | 
					try:
 | 
				
			||||||
    from wazuh.rbac.orm import create_rbac_db
 | 
					    from wazuh.rbac.orm import check_database_integrity
 | 
				
			||||||
    from wazuh.security import (
 | 
					    from wazuh.security import (
 | 
				
			||||||
        create_user,
 | 
					        create_user,
 | 
				
			||||||
        get_users,
 | 
					        get_users,
 | 
				
			||||||
@@ -69,7 +69,7 @@ if __name__ == "__main__":
 | 
				
			|||||||
    username, password = read_user_file()
 | 
					    username, password = read_user_file()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # create RBAC database
 | 
					    # create RBAC database
 | 
				
			||||||
    create_rbac_db()
 | 
					    check_database_integrity()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    initial_users = db_users()
 | 
					    initial_users = db_users()
 | 
				
			||||||
    if username not in initial_users:
 | 
					    if username not in initial_users:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,7 +51,7 @@ mount_permanent_data() {
 | 
				
			|||||||
        print "Installing ${permanent_dir}"
 | 
					        print "Installing ${permanent_dir}"
 | 
				
			||||||
        exec_cmd "cp -a ${data_tmp}. ${permanent_dir}"
 | 
					        exec_cmd "cp -a ${data_tmp}. ${permanent_dir}"
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
        print "The path ${permanent_dir} is empty, skiped"
 | 
					        print "The path ${permanent_dir} is empty, skipped"
 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
@@ -184,8 +184,9 @@ set_rids_owner() {
 | 
				
			|||||||
##############################################################################
 | 
					##############################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set_correct_permOwner() {
 | 
					set_correct_permOwner() {
 | 
				
			||||||
  find / -group 997 -exec chown :101 {} +;
 | 
					  find / -group 997 -exec chown :999 {} +;
 | 
				
			||||||
  find / -user 999 -exec chown 101 {} +;
 | 
					  find / -group 101 -exec chown :999 {} +;
 | 
				
			||||||
 | 
					  find / -user 101 -exec chown 999 {} +;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##############################################################################
 | 
					##############################################################################
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
set -e
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ "$INDEXER_URL" != "" ]; then
 | 
					if [ "$INDEXER_URL" != "" ]; then
 | 
				
			||||||
  >&2 echo "Customize Elasticsearch ouput IP"
 | 
					  >&2 echo "Customize Elasticsearch output IP"
 | 
				
			||||||
  sed -i "s|hosts:.*|hosts: ['$INDEXER_URL']|g" /etc/filebeat/filebeat.yml
 | 
					  sed -i "s|hosts:.*|hosts: ['$INDEXER_URL']|g" /etc/filebeat/filebeat.yml
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -112,6 +112,13 @@ function_entrypoint_scripts() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function_configure_vulnerability_detection() {
 | 
				
			||||||
 | 
					if [ "$INDEXER_PASSWORD" != "" ]; then
 | 
				
			||||||
 | 
					  >&2 echo "Configuring password."
 | 
				
			||||||
 | 
					  /var/ossec/bin/wazuh-keystore -f indexer -k username -v $INDEXER_USERNAME
 | 
				
			||||||
 | 
					  /var/ossec/bin/wazuh-keystore -f indexer -k password -v $INDEXER_PASSWORD
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Migrate data from /wazuh-migration volume
 | 
					# Migrate data from /wazuh-migration volume
 | 
				
			||||||
function_wazuh_migration
 | 
					function_wazuh_migration
 | 
				
			||||||
@@ -119,6 +126,9 @@ function_wazuh_migration
 | 
				
			|||||||
# create API custom user
 | 
					# create API custom user
 | 
				
			||||||
function_create_custom_user
 | 
					function_create_custom_user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# configure Vulnerabilty detection
 | 
				
			||||||
 | 
					function_configure_vulnerability_detection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# run entrypoint scripts
 | 
					# run entrypoint scripts
 | 
				
			||||||
function_entrypoint_scripts
 | 
					function_entrypoint_scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,9 +8,9 @@ filebeat.modules:
 | 
				
			|||||||
      enabled: false
 | 
					      enabled: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setup.template.json.enabled: true
 | 
					setup.template.json.enabled: true
 | 
				
			||||||
 | 
					setup.template.overwrite: true
 | 
				
			||||||
setup.template.json.path: '/etc/filebeat/wazuh-template.json'
 | 
					setup.template.json.path: '/etc/filebeat/wazuh-template.json'
 | 
				
			||||||
setup.template.json.name: 'wazuh'
 | 
					setup.template.json.name: 'wazuh'
 | 
				
			||||||
setup.template.overwrite: true
 | 
					 | 
				
			||||||
setup.ilm.enabled: false
 | 
					setup.ilm.enabled: false
 | 
				
			||||||
output.elasticsearch:
 | 
					output.elasticsearch:
 | 
				
			||||||
  hosts: ['https://wazuh.indexer:9200']
 | 
					  hosts: ['https://wazuh.indexer:9200']
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								build-docker-images/wazuh-manager/config/filebeat_module.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								build-docker-images/wazuh-manager/config/filebeat_module.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					## variables
 | 
				
			||||||
 | 
					REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
				
			||||||
 | 
					WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## check tag to use the correct repository
 | 
				
			||||||
 | 
					if [[ -n "${WAZUH_TAG}" ]]; then
 | 
				
			||||||
 | 
					  REPOSITORY="packages.wazuh.com/4.x"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm &&\
 | 
				
			||||||
 | 
					yum install -y ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && \
 | 
				
			||||||
 | 
					curl -s https://${REPOSITORY}/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module
 | 
				
			||||||
@@ -16,11 +16,16 @@ export PERMANENT_DATA
 | 
				
			|||||||
# Files mounted in a volume that should not be permanent
 | 
					# Files mounted in a volume that should not be permanent
 | 
				
			||||||
i=0
 | 
					i=0
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/internal_options.conf"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/internal_options.conf"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty"
 | 
					 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/maltiverse"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/maltiverse.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/default-firewall-drop"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/default-firewall-drop"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/disable-account"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/disable-account"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/firewalld-drop"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/firewalld-drop"
 | 
				
			||||||
@@ -51,14 +56,39 @@ PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh.exp"
 | 
				
			|||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/utils.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/utils.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/__init__.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws_tools.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/wazuh_integration.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/__init__.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/aws_bucket.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/cloudtrail.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/config.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/guardduty.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/load_balancers.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/server_access.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/umbrella.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/vpcflow.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/waf.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/__init__.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/aws_service.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/cloudwatchlogs.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/inspector.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/__init__.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/s3_log_handler.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/sqs_message_processor.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/sqs_queue.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/db/orm.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/db/utils.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/db/__init__.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/integration.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/integration.py"
 | 
				
			||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/tools.py"
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/tools.py"
 | 
				
			||||||
 | 
					PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/exceptions.py"
 | 
				
			||||||
export PERMANENT_DATA_EXCP
 | 
					export PERMANENT_DATA_EXCP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Files mounted in a volume that should be deleted
 | 
					# Files mounted in a volume that should be deleted
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
# Certificate creation image build
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The dockerfile hosted in this directory is used to build the image used to boot Wazuh's single node and multi node stacks.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To create the image, the following command must be executed:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
$ docker build -t wazuh/wazuh-certs-generator:0.0.1 .
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
@@ -354,7 +354,7 @@ docker container run --rm -it \
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
git checkout 4.4
 | 
					git checkout 4.4
 | 
				
			||||||
cd multi-node
 | 
					cd multi-node
 | 
				
			||||||
docker-compose -f generate-indexer-certs.yml run --rm generator
 | 
					docker-compose -f generate-certs.yml run --rm generator
 | 
				
			||||||
docker-compose up -d
 | 
					docker-compose up -d
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,18 +8,18 @@ $ sysctl -w vm.max_map_count=262144
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
2) Run the certificate creation script:
 | 
					2) Run the certificate creation script:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
$ docker-compose -f generate-indexer-certs.yml run --rm generator
 | 
					$ docker compose -f generate-certs.yml run --rm generator
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
3) Start the environment with docker-compose:
 | 
					3) Start the environment with docker compose:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- In the foregroud:
 | 
					- In the foregroud:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
$ docker-compose up
 | 
					$ docker compose up
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- In the background:
 | 
					- In the background:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
$ docker-compose up -d
 | 
					$ docker compose up -d
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -95,69 +95,27 @@
 | 
				
			|||||||
    <skip_nfs>yes</skip_nfs>
 | 
					    <skip_nfs>yes</skip_nfs>
 | 
				
			||||||
  </sca>
 | 
					  </sca>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <vulnerability-detector>
 | 
					  <vulnerability-detection>
 | 
				
			||||||
    <enabled>no</enabled>
 | 
					 | 
				
			||||||
    <interval>5m</interval>
 | 
					 | 
				
			||||||
    <min_full_scan_interval>6h</min_full_scan_interval>
 | 
					 | 
				
			||||||
    <run_on_start>yes</run_on_start>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Ubuntu OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="canonical">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>trusty</os>
 | 
					 | 
				
			||||||
      <os>xenial</os>
 | 
					 | 
				
			||||||
      <os>bionic</os>
 | 
					 | 
				
			||||||
      <os>focal</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Debian OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="debian">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>stretch</os>
 | 
					 | 
				
			||||||
      <os>buster</os>
 | 
					 | 
				
			||||||
      <os>bullseye</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- RedHat OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="redhat">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>5</os>
 | 
					 | 
				
			||||||
      <os>6</os>
 | 
					 | 
				
			||||||
      <os>7</os>
 | 
					 | 
				
			||||||
      <os>8</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Amazon Linux OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="alas">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>amazon-linux</os>
 | 
					 | 
				
			||||||
      <os>amazon-linux-2</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Arch OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="arch">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Windows OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="msu">
 | 
					 | 
				
			||||||
    <enabled>yes</enabled>
 | 
					    <enabled>yes</enabled>
 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					    <index-status>yes</index-status>
 | 
				
			||||||
    </provider>
 | 
					    <feed-update-interval>60m</feed-update-interval>
 | 
				
			||||||
 | 
					  </vulnerability-detection>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- Aggregate vulnerabilities -->
 | 
					  <indexer>
 | 
				
			||||||
    <provider name="nvd">
 | 
					 | 
				
			||||||
    <enabled>yes</enabled>
 | 
					    <enabled>yes</enabled>
 | 
				
			||||||
      <update_from_year>2010</update_from_year>
 | 
					    <hosts>
 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					      <host>https://wazuh1.indexer:9200</host>
 | 
				
			||||||
    </provider>
 | 
					      <host>https://wazuh2.indexer:9200</host>
 | 
				
			||||||
 | 
					      <host>https://wazuh3.indexer:9200</host>
 | 
				
			||||||
  </vulnerability-detector>
 | 
					    </hosts>
 | 
				
			||||||
 | 
					    <ssl>
 | 
				
			||||||
 | 
					      <certificate_authorities>
 | 
				
			||||||
 | 
					        <ca>/etc/ssl/root-ca.pem</ca>
 | 
				
			||||||
 | 
					      </certificate_authorities>
 | 
				
			||||||
 | 
					      <certificate>/etc/ssl/filebeat.pem</certificate>
 | 
				
			||||||
 | 
					      <key>/etc/ssl/filebeat.key</key>
 | 
				
			||||||
 | 
					    </ssl>
 | 
				
			||||||
 | 
					  </indexer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <!-- File integrity monitoring -->
 | 
					  <!-- File integrity monitoring -->
 | 
				
			||||||
  <syscheck>
 | 
					  <syscheck>
 | 
				
			||||||
@@ -349,9 +307,4 @@
 | 
				
			|||||||
    <location>/var/ossec/logs/active-responses.log</location>
 | 
					    <location>/var/ossec/logs/active-responses.log</location>
 | 
				
			||||||
  </localfile>
 | 
					  </localfile>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <localfile>
 | 
					 | 
				
			||||||
    <log_format>syslog</log_format>
 | 
					 | 
				
			||||||
    <location>/var/log/dpkg.log</location>
 | 
					 | 
				
			||||||
  </localfile>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</ossec_config>
 | 
					</ossec_config>
 | 
				
			||||||
@@ -95,69 +95,27 @@
 | 
				
			|||||||
    <skip_nfs>yes</skip_nfs>
 | 
					    <skip_nfs>yes</skip_nfs>
 | 
				
			||||||
  </sca>
 | 
					  </sca>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <vulnerability-detector>
 | 
					  <vulnerability-detection>
 | 
				
			||||||
    <enabled>no</enabled>
 | 
					 | 
				
			||||||
    <interval>5m</interval>
 | 
					 | 
				
			||||||
    <min_full_scan_interval>6h</min_full_scan_interval>
 | 
					 | 
				
			||||||
    <run_on_start>yes</run_on_start>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Ubuntu OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="canonical">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>trusty</os>
 | 
					 | 
				
			||||||
      <os>xenial</os>
 | 
					 | 
				
			||||||
      <os>bionic</os>
 | 
					 | 
				
			||||||
      <os>focal</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Debian OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="debian">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>stretch</os>
 | 
					 | 
				
			||||||
      <os>buster</os>
 | 
					 | 
				
			||||||
      <os>bullseye</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- RedHat OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="redhat">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>5</os>
 | 
					 | 
				
			||||||
      <os>6</os>
 | 
					 | 
				
			||||||
      <os>7</os>
 | 
					 | 
				
			||||||
      <os>8</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Amazon Linux OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="alas">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>amazon-linux</os>
 | 
					 | 
				
			||||||
      <os>amazon-linux-2</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Arch OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="arch">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Windows OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="msu">
 | 
					 | 
				
			||||||
    <enabled>yes</enabled>
 | 
					    <enabled>yes</enabled>
 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					    <index-status>yes</index-status>
 | 
				
			||||||
    </provider>
 | 
					    <feed-update-interval>60m</feed-update-interval>
 | 
				
			||||||
 | 
					  </vulnerability-detection>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- Aggregate vulnerabilities -->
 | 
					  <indexer>
 | 
				
			||||||
    <provider name="nvd">
 | 
					 | 
				
			||||||
    <enabled>yes</enabled>
 | 
					    <enabled>yes</enabled>
 | 
				
			||||||
      <update_from_year>2010</update_from_year>
 | 
					    <hosts>
 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					      <host>https://wazuh1.indexer:9200</host>
 | 
				
			||||||
    </provider>
 | 
					      <host>https://wazuh2.indexer:9200</host>
 | 
				
			||||||
 | 
					      <host>https://wazuh3.indexer:9200</host>
 | 
				
			||||||
  </vulnerability-detector>
 | 
					    </hosts>
 | 
				
			||||||
 | 
					    <ssl>
 | 
				
			||||||
 | 
					      <certificate_authorities>
 | 
				
			||||||
 | 
					        <ca>/etc/ssl/root-ca.pem</ca>
 | 
				
			||||||
 | 
					      </certificate_authorities>
 | 
				
			||||||
 | 
					      <certificate>/etc/ssl/filebeat.pem</certificate>
 | 
				
			||||||
 | 
					      <key>/etc/ssl/filebeat.key</key>
 | 
				
			||||||
 | 
					    </ssl>
 | 
				
			||||||
 | 
					  </indexer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <!-- File integrity monitoring -->
 | 
					  <!-- File integrity monitoring -->
 | 
				
			||||||
  <syscheck>
 | 
					  <syscheck>
 | 
				
			||||||
@@ -349,9 +307,4 @@
 | 
				
			|||||||
    <location>/var/ossec/logs/active-responses.log</location>
 | 
					    <location>/var/ossec/logs/active-responses.log</location>
 | 
				
			||||||
  </localfile>
 | 
					  </localfile>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <localfile>
 | 
					 | 
				
			||||||
    <log_format>syslog</log_format>
 | 
					 | 
				
			||||||
    <location>/var/log/dpkg.log</location>
 | 
					 | 
				
			||||||
  </localfile>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</ossec_config>
 | 
					</ossec_config>
 | 
				
			||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
server.host: 0.0.0.0
 | 
					 | 
				
			||||||
server.port: 5601
 | 
					 | 
				
			||||||
opensearch.hosts: https://wazuh1.indexer:9200
 | 
					 | 
				
			||||||
opensearch.ssl.verificationMode: certificate
 | 
					 | 
				
			||||||
opensearch.requestHeadersWhitelist: ["securitytenant","Authorization"]
 | 
					 | 
				
			||||||
opensearch_security.multitenancy.enabled: false
 | 
					 | 
				
			||||||
opensearch_security.readonly_mode.roles: ["kibana_read_only"]
 | 
					 | 
				
			||||||
server.ssl.enabled: true
 | 
					 | 
				
			||||||
server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
 | 
					 | 
				
			||||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
 | 
					 | 
				
			||||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
 | 
					 | 
				
			||||||
uiSettings.overrides.defaultRoute: /app/wazuh
 | 
					 | 
				
			||||||
@@ -1,38 +0,0 @@
 | 
				
			|||||||
network.host: wazuh1.indexer
 | 
					 | 
				
			||||||
node.name: wazuh1.indexer
 | 
					 | 
				
			||||||
cluster.initial_master_nodes:
 | 
					 | 
				
			||||||
        - wazuh1.indexer
 | 
					 | 
				
			||||||
        - wazuh2.indexer
 | 
					 | 
				
			||||||
        - wazuh3.indexer
 | 
					 | 
				
			||||||
cluster.name: "wazuh-cluster"
 | 
					 | 
				
			||||||
discovery.seed_hosts:
 | 
					 | 
				
			||||||
        - wazuh1.indexer
 | 
					 | 
				
			||||||
        - wazuh2.indexer
 | 
					 | 
				
			||||||
        - wazuh3.indexer
 | 
					 | 
				
			||||||
node.max_local_storage_nodes: "3"
 | 
					 | 
				
			||||||
path.data: /var/lib/wazuh-indexer
 | 
					 | 
				
			||||||
path.logs: /var/log/wazuh-indexer
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.key
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.key
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.enabled: true
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.enforce_hostname_verification: false
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.resolve_hostname: false
 | 
					 | 
				
			||||||
plugins.security.authcz.admin_dn:
 | 
					 | 
				
			||||||
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.check_snapshot_restore_write_privileges: true
 | 
					 | 
				
			||||||
plugins.security.enable_snapshot_restore_privilege: true
 | 
					 | 
				
			||||||
plugins.security.nodes_dn:
 | 
					 | 
				
			||||||
- "CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.restapi.roles_enabled:
 | 
					 | 
				
			||||||
- "all_access"
 | 
					 | 
				
			||||||
- "security_rest_api_access"
 | 
					 | 
				
			||||||
plugins.security.allow_default_init_securityindex: true
 | 
					 | 
				
			||||||
cluster.routing.allocation.disk.threshold_enabled: false
 | 
					 | 
				
			||||||
compatibility.override_main_response_version: true
 | 
					 | 
				
			||||||
@@ -1,38 +0,0 @@
 | 
				
			|||||||
network.host: wazuh2.indexer
 | 
					 | 
				
			||||||
node.name: wazuh2.indexer
 | 
					 | 
				
			||||||
cluster.initial_master_nodes:
 | 
					 | 
				
			||||||
        - wazuh1.indexer
 | 
					 | 
				
			||||||
        - wazuh2.indexer
 | 
					 | 
				
			||||||
        - wazuh3.indexer
 | 
					 | 
				
			||||||
cluster.name: "wazuh-cluster"
 | 
					 | 
				
			||||||
discovery.seed_hosts:
 | 
					 | 
				
			||||||
        - wazuh1.indexer
 | 
					 | 
				
			||||||
        - wazuh2.indexer
 | 
					 | 
				
			||||||
        - wazuh3.indexer
 | 
					 | 
				
			||||||
node.max_local_storage_nodes: "3"
 | 
					 | 
				
			||||||
path.data: /var/lib/wazuh-indexer
 | 
					 | 
				
			||||||
path.logs: /var/log/wazuh-indexer
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.key
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.key
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.enabled: true
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.enforce_hostname_verification: false
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.resolve_hostname: false
 | 
					 | 
				
			||||||
plugins.security.authcz.admin_dn:
 | 
					 | 
				
			||||||
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.check_snapshot_restore_write_privileges: true
 | 
					 | 
				
			||||||
plugins.security.enable_snapshot_restore_privilege: true
 | 
					 | 
				
			||||||
plugins.security.nodes_dn:
 | 
					 | 
				
			||||||
- "CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.restapi.roles_enabled:
 | 
					 | 
				
			||||||
- "all_access"
 | 
					 | 
				
			||||||
- "security_rest_api_access"
 | 
					 | 
				
			||||||
plugins.security.allow_default_init_securityindex: true
 | 
					 | 
				
			||||||
cluster.routing.allocation.disk.threshold_enabled: false
 | 
					 | 
				
			||||||
compatibility.override_main_response_version: true
 | 
					 | 
				
			||||||
@@ -1,38 +0,0 @@
 | 
				
			|||||||
network.host: wazuh3.indexer
 | 
					 | 
				
			||||||
node.name: wazuh3.indexer
 | 
					 | 
				
			||||||
cluster.initial_master_nodes:
 | 
					 | 
				
			||||||
        - wazuh1.indexer
 | 
					 | 
				
			||||||
        - wazuh2.indexer
 | 
					 | 
				
			||||||
        - wazuh3.indexer
 | 
					 | 
				
			||||||
cluster.name: "wazuh-cluster"
 | 
					 | 
				
			||||||
discovery.seed_hosts:
 | 
					 | 
				
			||||||
        - wazuh1.indexer
 | 
					 | 
				
			||||||
        - wazuh2.indexer
 | 
					 | 
				
			||||||
        - wazuh3.indexer
 | 
					 | 
				
			||||||
node.max_local_storage_nodes: "3"
 | 
					 | 
				
			||||||
path.data: /var/lib/wazuh-indexer
 | 
					 | 
				
			||||||
path.logs: /var/log/wazuh-indexer
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.key
 | 
					 | 
				
			||||||
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.key
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
					 | 
				
			||||||
plugins.security.ssl.http.enabled: true
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.enforce_hostname_verification: false
 | 
					 | 
				
			||||||
plugins.security.ssl.transport.resolve_hostname: false
 | 
					 | 
				
			||||||
plugins.security.authcz.admin_dn:
 | 
					 | 
				
			||||||
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.check_snapshot_restore_write_privileges: true
 | 
					 | 
				
			||||||
plugins.security.enable_snapshot_restore_privilege: true
 | 
					 | 
				
			||||||
plugins.security.nodes_dn:
 | 
					 | 
				
			||||||
- "CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
- "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
					 | 
				
			||||||
plugins.security.restapi.roles_enabled:
 | 
					 | 
				
			||||||
- "all_access"
 | 
					 | 
				
			||||||
- "security_rest_api_access"
 | 
					 | 
				
			||||||
plugins.security.allow_default_init_securityindex: true
 | 
					 | 
				
			||||||
cluster.routing.allocation.disk.threshold_enabled: false
 | 
					 | 
				
			||||||
compatibility.override_main_response_version: true
 | 
					 | 
				
			||||||
@@ -3,23 +3,30 @@ version: '3.7'
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  wazuh.master:
 | 
					  wazuh.master:
 | 
				
			||||||
    image: wazuh/wazuh-manager:4.4.1
 | 
					    image: wazuh/wazuh-manager:5.0.0
 | 
				
			||||||
    hostname: wazuh.master
 | 
					    hostname: wazuh.master
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					    ulimits:
 | 
				
			||||||
 | 
					      memlock:
 | 
				
			||||||
 | 
					        soft: -1
 | 
				
			||||||
 | 
					        hard: -1
 | 
				
			||||||
 | 
					      nofile:
 | 
				
			||||||
 | 
					        soft: 655360
 | 
				
			||||||
 | 
					        hard: 655360
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - "1515:1515"
 | 
					      - "1515:1515"
 | 
				
			||||||
      - "514:514/udp"
 | 
					      - "514:514/udp"
 | 
				
			||||||
      - "55000:55000"
 | 
					      - "55000:55000"
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - INDEXER_URL=https://wazuh1.indexer:9200
 | 
					      INDEXER_URL: https://wazuh1.indexer:9200
 | 
				
			||||||
      - INDEXER_USERNAME=admin
 | 
					      INDEXER_USERNAME: admin
 | 
				
			||||||
      - INDEXER_PASSWORD=SecretPassword
 | 
					      INDEXER_PASSWORD: admin
 | 
				
			||||||
      - FILEBEAT_SSL_VERIFICATION_MODE=full
 | 
					      FILEBEAT_SSL_VERIFICATION_MODE: full
 | 
				
			||||||
      - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
 | 
					      SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
 | 
				
			||||||
      - SSL_CERTIFICATE=/etc/ssl/filebeat.pem
 | 
					      SSL_CERTIFICATE: /etc/ssl/filebeat.pem
 | 
				
			||||||
      - SSL_KEY=/etc/ssl/filebeat.key
 | 
					      SSL_KEY: /etc/ssl/filebeat.key
 | 
				
			||||||
      - API_USERNAME=wazuh-wui
 | 
					      API_USERNAME: wazuh-wui
 | 
				
			||||||
      - API_PASSWORD=MyS3cr37P450r.*-
 | 
					      API_PASSWORD: MyS3cr37P450r.*-
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - master-wazuh-api-configuration:/var/ossec/api/configuration
 | 
					      - master-wazuh-api-configuration:/var/ossec/api/configuration
 | 
				
			||||||
      - master-wazuh-etc:/var/ossec/etc
 | 
					      - master-wazuh-etc:/var/ossec/etc
 | 
				
			||||||
@@ -38,17 +45,24 @@ services:
 | 
				
			|||||||
      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
					      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wazuh.worker:
 | 
					  wazuh.worker:
 | 
				
			||||||
    image: wazuh/wazuh-manager:4.4.1
 | 
					    image: wazuh/wazuh-manager:5.0.0
 | 
				
			||||||
    hostname: wazuh.worker
 | 
					    hostname: wazuh.worker
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					    ulimits:
 | 
				
			||||||
 | 
					      memlock:
 | 
				
			||||||
 | 
					        soft: -1
 | 
				
			||||||
 | 
					        hard: -1
 | 
				
			||||||
 | 
					      nofile:
 | 
				
			||||||
 | 
					        soft: 655360
 | 
				
			||||||
 | 
					        hard: 655360
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - INDEXER_URL=https://wazuh1.indexer:9200
 | 
					      INDEXER_URL: https://wazuh1.indexer:9200
 | 
				
			||||||
      - INDEXER_USERNAME=admin
 | 
					      INDEXER_USERNAME: admin
 | 
				
			||||||
      - INDEXER_PASSWORD=SecretPassword
 | 
					      INDEXER_PASSWORD: admin
 | 
				
			||||||
      - FILEBEAT_SSL_VERIFICATION_MODE=full
 | 
					      FILEBEAT_SSL_VERIFICATION_MODE: full
 | 
				
			||||||
      - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
 | 
					      SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
 | 
				
			||||||
      - SSL_CERTIFICATE=/etc/ssl/filebeat.pem
 | 
					      SSL_CERTIFICATE: /etc/ssl/filebeat.pem
 | 
				
			||||||
      - SSL_KEY=/etc/ssl/filebeat.key
 | 
					      SSL_KEY: /etc/ssl/filebeat.key
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - worker-wazuh-api-configuration:/var/ossec/api/configuration
 | 
					      - worker-wazuh-api-configuration:/var/ossec/api/configuration
 | 
				
			||||||
      - worker-wazuh-etc:/var/ossec/etc
 | 
					      - worker-wazuh-etc:/var/ossec/etc
 | 
				
			||||||
@@ -67,14 +81,9 @@ services:
 | 
				
			|||||||
      - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
 | 
					      - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wazuh1.indexer:
 | 
					  wazuh1.indexer:
 | 
				
			||||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
					    image: wazuh/wazuh-indexer:5.0.0
 | 
				
			||||||
    hostname: wazuh1.indexer
 | 
					    hostname: wazuh1.indexer
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
    ports:
 | 
					 | 
				
			||||||
      - "9200:9200"
 | 
					 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
 | 
					 | 
				
			||||||
      - "bootstrap.memory_lock=true"
 | 
					 | 
				
			||||||
    ulimits:
 | 
					    ulimits:
 | 
				
			||||||
      memlock:
 | 
					      memlock:
 | 
				
			||||||
        soft: -1
 | 
					        soft: -1
 | 
				
			||||||
@@ -82,6 +91,38 @@ services:
 | 
				
			|||||||
      nofile:
 | 
					      nofile:
 | 
				
			||||||
        soft: 65536
 | 
					        soft: 65536
 | 
				
			||||||
        hard: 65536
 | 
					        hard: 65536
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - "9200:9200"
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
 | 
				
			||||||
 | 
					      bootstrap.memory_lock: "true"
 | 
				
			||||||
 | 
					      NETWORK_HOST: wazuh1.indexer
 | 
				
			||||||
 | 
					      NODE_NAME: wazuh1.indexer
 | 
				
			||||||
 | 
					      CLUSTER_INITIAL_MASTER_NODES: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
 | 
				
			||||||
 | 
					      CLUSTER_NAME: "wazuh-cluster"
 | 
				
			||||||
 | 
					      DISCOVERY_SEED_HOSTS: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
 | 
				
			||||||
 | 
					      NODE_MAX_LOCAL_STORAGE_NODES: "3"
 | 
				
			||||||
 | 
					      PATH_DATA: /var/lib/wazuh-indexer
 | 
				
			||||||
 | 
					      PATH_LOGS: /var/log/wazuh-indexer
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_NODES_DN: '["CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
 | 
				
			||||||
 | 
					      CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
 | 
				
			||||||
 | 
					      COMPATIBILITY_OVERRIDE_MAIN_RESPONSE_VERSION: "true"
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - wazuh-indexer-data-1:/var/lib/wazuh-indexer
 | 
					      - wazuh-indexer-data-1:/var/lib/wazuh-indexer
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
@@ -89,16 +130,13 @@ services:
 | 
				
			|||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
 | 
				
			||||||
      - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
					      #  if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
 | 
				
			||||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
					      # - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wazuh2.indexer:
 | 
					  wazuh2.indexer:
 | 
				
			||||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
					    image: wazuh/wazuh-indexer:5.0.0
 | 
				
			||||||
    hostname: wazuh2.indexer
 | 
					    hostname: wazuh2.indexer
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
 | 
					 | 
				
			||||||
      - "bootstrap.memory_lock=true"
 | 
					 | 
				
			||||||
    ulimits:
 | 
					    ulimits:
 | 
				
			||||||
      memlock:
 | 
					      memlock:
 | 
				
			||||||
        soft: -1
 | 
					        soft: -1
 | 
				
			||||||
@@ -106,21 +144,48 @@ services:
 | 
				
			|||||||
      nofile:
 | 
					      nofile:
 | 
				
			||||||
        soft: 65536
 | 
					        soft: 65536
 | 
				
			||||||
        hard: 65536
 | 
					        hard: 65536
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
 | 
				
			||||||
 | 
					      bootstrap.memory_lock: "true"
 | 
				
			||||||
 | 
					      NETWORK_HOST: wazuh2.indexer
 | 
				
			||||||
 | 
					      NODE_NAME: wazuh2.indexer
 | 
				
			||||||
 | 
					      CLUSTER_INITIAL_MASTER_NODES: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
 | 
				
			||||||
 | 
					      CLUSTER_NAME: "wazuh-cluster"
 | 
				
			||||||
 | 
					      DISCOVERY_SEED_HOSTS: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
 | 
				
			||||||
 | 
					      NODE_MAX_LOCAL_STORAGE_NODES: "3"
 | 
				
			||||||
 | 
					      PATH_DATA: /var/lib/wazuh-indexer
 | 
				
			||||||
 | 
					      PATH_LOGS: /var/log/wazuh-indexer
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_NODES_DN: '["CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
 | 
				
			||||||
 | 
					      CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
 | 
				
			||||||
 | 
					      COMPATIBILITY_OVERRIDE_MAIN_RESPONSE_VERSION: "true"
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - wazuh-indexer-data-2:/var/lib/wazuh-indexer
 | 
					      - wazuh-indexer-data-2:/var/lib/wazuh-indexer
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.key
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.key
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.pem
 | 
				
			||||||
      - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
					      #  if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
 | 
				
			||||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
					      # - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wazuh3.indexer:
 | 
					  wazuh3.indexer:
 | 
				
			||||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
					    image: wazuh/wazuh-indexer:5.0.0
 | 
				
			||||||
    hostname: wazuh3.indexer
 | 
					    hostname: wazuh3.indexer
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
 | 
					 | 
				
			||||||
      - "bootstrap.memory_lock=true"
 | 
					 | 
				
			||||||
    ulimits:
 | 
					    ulimits:
 | 
				
			||||||
      memlock:
 | 
					      memlock:
 | 
				
			||||||
        soft: -1
 | 
					        soft: -1
 | 
				
			||||||
@@ -128,31 +193,84 @@ services:
 | 
				
			|||||||
      nofile:
 | 
					      nofile:
 | 
				
			||||||
        soft: 65536
 | 
					        soft: 65536
 | 
				
			||||||
        hard: 65536
 | 
					        hard: 65536
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
 | 
				
			||||||
 | 
					      bootstrap.memory_lock: "true"
 | 
				
			||||||
 | 
					      NETWORK_HOST: wazuh3.indexer
 | 
				
			||||||
 | 
					      NODE_NAME: wazuh3.indexer
 | 
				
			||||||
 | 
					      CLUSTER_INITIAL_MASTER_NODES: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
 | 
				
			||||||
 | 
					      CLUSTER_NAME: "wazuh-cluster"
 | 
				
			||||||
 | 
					      DISCOVERY_SEED_HOSTS: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
 | 
				
			||||||
 | 
					      NODE_MAX_LOCAL_STORAGE_NODES: "3"
 | 
				
			||||||
 | 
					      PATH_DATA: /var/lib/wazuh-indexer
 | 
				
			||||||
 | 
					      PATH_LOGS: /var/log/wazuh-indexer
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_NODES_DN: '["CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
 | 
				
			||||||
 | 
					      CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
 | 
				
			||||||
 | 
					      COMPATIBILITY_OVERRIDE_MAIN_RESPONSE_VERSION: "true"
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - wazuh-indexer-data-3:/var/lib/wazuh-indexer
 | 
					      - wazuh-indexer-data-3:/var/lib/wazuh-indexer
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.key
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.key
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.pem
 | 
				
			||||||
      - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
					      #  if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
 | 
				
			||||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
					      # - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wazuh.dashboard:
 | 
					  wazuh.dashboard:
 | 
				
			||||||
    image: wazuh/wazuh-dashboard:4.4.1
 | 
					    image: wazuh/wazuh-dashboard:5.0.0
 | 
				
			||||||
    hostname: wazuh.dashboard
 | 
					    hostname: wazuh.dashboard
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					    ulimits:
 | 
				
			||||||
 | 
					      memlock:
 | 
				
			||||||
 | 
					        soft: -1
 | 
				
			||||||
 | 
					        hard: -1
 | 
				
			||||||
 | 
					      nofile:
 | 
				
			||||||
 | 
					        soft: 65536
 | 
				
			||||||
 | 
					        hard: 65536
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - 443:5601
 | 
					      - 443:5601
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - OPENSEARCH_HOSTS="https://wazuh1.indexer:9200"
 | 
					      OPENSEARCH_HOSTS: "https://wazuh1.indexer:9200"
 | 
				
			||||||
      - WAZUH_API_URL="https://wazuh.master"
 | 
					      WAZUH_API_URL: "https://wazuh.master"
 | 
				
			||||||
      - API_USERNAME=wazuh-wui
 | 
					      API_USERNAME: wazuh-wui
 | 
				
			||||||
      - API_PASSWORD=MyS3cr37P450r.*-
 | 
					      API_PASSWORD: MyS3cr37P450r.*-
 | 
				
			||||||
 | 
					      DASHBOARD_USERNAME: kibanaserver
 | 
				
			||||||
 | 
					      DASHBOARD_PASSWORD: kibanaserver
 | 
				
			||||||
 | 
					      SERVER_HOST: "0.0.0.0"
 | 
				
			||||||
 | 
					      SERVER_PORT: "5601"
 | 
				
			||||||
 | 
					      OPENSEARCH_SSL_VERIFICATIONMODE: certificate
 | 
				
			||||||
 | 
					      OPENSEARCH_REQUESTHEADERSALLOWLIST: '["securitytenant","Authorization"]'
 | 
				
			||||||
 | 
					      OPENSEARCH_SECURITY_MULTITENANCY_ENABLED: "false"
 | 
				
			||||||
 | 
					      SERVER_SSL_ENABLED: "true"
 | 
				
			||||||
 | 
					      OPENSEARCH_SECURITY_READONLY_MODE_ROLES: '["kibana_read_only"]'
 | 
				
			||||||
 | 
					      SERVER_SSL_KEY: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
 | 
				
			||||||
 | 
					      SERVER_SSL_CERTIFICATE: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
 | 
				
			||||||
 | 
					      OPENSEARCH_SSL_CERTIFICATEAUTHORITIES: '["/usr/share/wazuh-dashboard/certs/root-ca.pem"]'
 | 
				
			||||||
 | 
					      UISETTINGS_OVERRIDES_DEFAULTROUTE: /app/wz-home
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
 | 
				
			||||||
 | 
					      - wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
 | 
				
			||||||
      - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
 | 
					 | 
				
			||||||
      - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
 | 
					      - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
 | 
				
			||||||
 | 
					      #  if you need mount a custom opensearch-dashboards.yml, uncomment the next line and delete the environment variables
 | 
				
			||||||
 | 
					      # - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
 | 
				
			||||||
    depends_on:
 | 
					    depends_on:
 | 
				
			||||||
      - wazuh1.indexer
 | 
					      - wazuh1.indexer
 | 
				
			||||||
    links:
 | 
					    links:
 | 
				
			||||||
@@ -202,3 +320,5 @@ volumes:
 | 
				
			|||||||
  wazuh-indexer-data-1:
 | 
					  wazuh-indexer-data-1:
 | 
				
			||||||
  wazuh-indexer-data-2:
 | 
					  wazuh-indexer-data-2:
 | 
				
			||||||
  wazuh-indexer-data-3:
 | 
					  wazuh-indexer-data-3:
 | 
				
			||||||
 | 
					  wazuh-dashboard-config:
 | 
				
			||||||
 | 
					  wazuh-dashboard-custom:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,9 @@
 | 
				
			|||||||
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
version: '3'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  generator:
 | 
					  generator:
 | 
				
			||||||
    image: wazuh/wazuh-certs-generator:0.0.1
 | 
					    image: wazuh/wazuh-cert-tool:5.0.0
 | 
				
			||||||
    hostname: wazuh-certs-generator
 | 
					    hostname: wazuh-cert-tool
 | 
				
			||||||
 | 
					    container_name: wazuh-cert-tool
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/:/certificates/
 | 
					      - ./config/wazuh_indexer_ssl_certs/:/certificates/
 | 
				
			||||||
      - ./config/certs.yml:/config/certs.yml
 | 
					      - ./config/certs.yml:/config/certs.yml
 | 
				
			||||||
@@ -8,17 +8,17 @@ $ sysctl -w vm.max_map_count=262144
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
2) Run the certificate creation script:
 | 
					2) Run the certificate creation script:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
$ docker-compose -f generate-indexer-certs.yml run --rm generator
 | 
					$ docker compose -f generate-certs.yml run --rm generator
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
3) Start the environment with docker-compose:
 | 
					3) Start the environment with docker compose:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- In the foregroud:
 | 
					- In the foregroud:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
$ docker-compose up
 | 
					$ docker compose up
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
- In the background:
 | 
					- In the background:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
$ docker-compose up -d
 | 
					$ docker compose up -d
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The environment takes about 1 minute to get up (depending on your Docker host) for the first time since Wazuh Indexer must be started for the first time and the indexes and index patterns must be generated.
 | 
					The environment takes about 1 minute to get up (depending on your Docker host) for the first time since Wazuh Indexer must be started for the first time and the indexes and index patterns must be generated.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -95,69 +95,25 @@
 | 
				
			|||||||
    <skip_nfs>yes</skip_nfs>
 | 
					    <skip_nfs>yes</skip_nfs>
 | 
				
			||||||
  </sca>
 | 
					  </sca>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <vulnerability-detector>
 | 
					  <vulnerability-detection>
 | 
				
			||||||
    <enabled>no</enabled>
 | 
					 | 
				
			||||||
    <interval>5m</interval>
 | 
					 | 
				
			||||||
    <min_full_scan_interval>6h</min_full_scan_interval>
 | 
					 | 
				
			||||||
    <run_on_start>yes</run_on_start>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Ubuntu OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="canonical">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>trusty</os>
 | 
					 | 
				
			||||||
      <os>xenial</os>
 | 
					 | 
				
			||||||
      <os>bionic</os>
 | 
					 | 
				
			||||||
      <os>focal</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Debian OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="debian">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>stretch</os>
 | 
					 | 
				
			||||||
      <os>buster</os>
 | 
					 | 
				
			||||||
      <os>bullseye</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- RedHat OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="redhat">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>5</os>
 | 
					 | 
				
			||||||
      <os>6</os>
 | 
					 | 
				
			||||||
      <os>7</os>
 | 
					 | 
				
			||||||
      <os>8</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Amazon Linux OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="alas">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <os>amazon-linux</os>
 | 
					 | 
				
			||||||
      <os>amazon-linux-2</os>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Arch OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="arch">
 | 
					 | 
				
			||||||
      <enabled>no</enabled>
 | 
					 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					 | 
				
			||||||
    </provider>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Windows OS vulnerabilities -->
 | 
					 | 
				
			||||||
    <provider name="msu">
 | 
					 | 
				
			||||||
    <enabled>yes</enabled>
 | 
					    <enabled>yes</enabled>
 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					    <index-status>yes</index-status>
 | 
				
			||||||
    </provider>
 | 
					    <feed-update-interval>60m</feed-update-interval>
 | 
				
			||||||
 | 
					  </vulnerability-detection>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- Aggregate vulnerabilities -->
 | 
					  <indexer>
 | 
				
			||||||
    <provider name="nvd">
 | 
					 | 
				
			||||||
    <enabled>yes</enabled>
 | 
					    <enabled>yes</enabled>
 | 
				
			||||||
      <update_from_year>2010</update_from_year>
 | 
					    <hosts>
 | 
				
			||||||
      <update_interval>1h</update_interval>
 | 
					      <host>https://wazuh.indexer:9200</host>
 | 
				
			||||||
    </provider>
 | 
					    </hosts>
 | 
				
			||||||
 | 
					    <ssl>
 | 
				
			||||||
  </vulnerability-detector>
 | 
					      <certificate_authorities>
 | 
				
			||||||
 | 
					        <ca>/etc/ssl/root-ca.pem</ca>
 | 
				
			||||||
 | 
					      </certificate_authorities>
 | 
				
			||||||
 | 
					      <certificate>/etc/ssl/filebeat.pem</certificate>
 | 
				
			||||||
 | 
					      <key>/etc/ssl/filebeat.key</key>
 | 
				
			||||||
 | 
					    </ssl>
 | 
				
			||||||
 | 
					  </indexer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <!-- File integrity monitoring -->
 | 
					  <!-- File integrity monitoring -->
 | 
				
			||||||
  <syscheck>
 | 
					  <syscheck>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,4 +9,4 @@ server.ssl.enabled: true
 | 
				
			|||||||
server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
 | 
					server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
 | 
				
			||||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
 | 
					server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
 | 
				
			||||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
 | 
					opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
 | 
				
			||||||
uiSettings.overrides.defaultRoute: /app/wazuh
 | 
					uiSettings.overrides.defaultRoute: /app/wz-home
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,24 +3,31 @@ version: '3.7'
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  wazuh.manager:
 | 
					  wazuh.manager:
 | 
				
			||||||
    image: wazuh/wazuh-manager:4.4.1
 | 
					    image: wazuh/wazuh-manager:5.0.0
 | 
				
			||||||
    hostname: wazuh.manager
 | 
					    hostname: wazuh.manager
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					    ulimits:
 | 
				
			||||||
 | 
					      memlock:
 | 
				
			||||||
 | 
					        soft: -1
 | 
				
			||||||
 | 
					        hard: -1
 | 
				
			||||||
 | 
					      nofile:
 | 
				
			||||||
 | 
					        soft: 655360
 | 
				
			||||||
 | 
					        hard: 655360
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - "1514:1514"
 | 
					      - "1514:1514"
 | 
				
			||||||
      - "1515:1515"
 | 
					      - "1515:1515"
 | 
				
			||||||
      - "514:514/udp"
 | 
					      - "514:514/udp"
 | 
				
			||||||
      - "55000:55000"
 | 
					      - "55000:55000"
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - INDEXER_URL=https://wazuh.indexer:9200
 | 
					      INDEXER_URL: https://wazuh.indexer:9200
 | 
				
			||||||
      - INDEXER_USERNAME=admin
 | 
					      INDEXER_USERNAME: admin
 | 
				
			||||||
      - INDEXER_PASSWORD=SecretPassword
 | 
					      INDEXER_PASSWORD: admin
 | 
				
			||||||
      - FILEBEAT_SSL_VERIFICATION_MODE=full
 | 
					      FILEBEAT_SSL_VERIFICATION_MODE: full
 | 
				
			||||||
      - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
 | 
					      SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
 | 
				
			||||||
      - SSL_CERTIFICATE=/etc/ssl/filebeat.pem
 | 
					      SSL_CERTIFICATE: /etc/ssl/filebeat.pem
 | 
				
			||||||
      - SSL_KEY=/etc/ssl/filebeat.key
 | 
					      SSL_KEY: /etc/ssl/filebeat.key
 | 
				
			||||||
      - API_USERNAME=wazuh-wui
 | 
					      API_USERNAME: wazuh-wui
 | 
				
			||||||
      - API_PASSWORD=MyS3cr37P450r.*-
 | 
					      API_PASSWORD: MyS3cr37P450r.*-
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - wazuh_api_configuration:/var/ossec/api/configuration
 | 
					      - wazuh_api_configuration:/var/ossec/api/configuration
 | 
				
			||||||
      - wazuh_etc:/var/ossec/etc
 | 
					      - wazuh_etc:/var/ossec/etc
 | 
				
			||||||
@@ -39,13 +46,9 @@ services:
 | 
				
			|||||||
      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
					      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wazuh.indexer:
 | 
					  wazuh.indexer:
 | 
				
			||||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
					    image: wazuh/wazuh-indexer:5.0.0
 | 
				
			||||||
    hostname: wazuh.indexer
 | 
					    hostname: wazuh.indexer
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
    ports:
 | 
					 | 
				
			||||||
      - "9200:9200"
 | 
					 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
 | 
					 | 
				
			||||||
    ulimits:
 | 
					    ulimits:
 | 
				
			||||||
      memlock:
 | 
					      memlock:
 | 
				
			||||||
        soft: -1
 | 
					        soft: -1
 | 
				
			||||||
@@ -53,6 +56,37 @@ services:
 | 
				
			|||||||
      nofile:
 | 
					      nofile:
 | 
				
			||||||
        soft: 65536
 | 
					        soft: 65536
 | 
				
			||||||
        hard: 65536
 | 
					        hard: 65536
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - "9200:9200"
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
 | 
				
			||||||
 | 
					      bootstrap.memory_lock: "true"
 | 
				
			||||||
 | 
					      NODE_NAME: "wazuh.indexer"
 | 
				
			||||||
 | 
					      CLUSTER_INITIAL_MASTER_NODES: "wazuh.indexer"
 | 
				
			||||||
 | 
					      CLUSTER_NAME: "wazuh-cluster"
 | 
				
			||||||
 | 
					      PATH_DATA: /var/lib/wazuh-indexer
 | 
				
			||||||
 | 
					      PATH_LOGS: /var/log/wazuh-indexer
 | 
				
			||||||
 | 
					      HTTP_PORT: 9200-9299
 | 
				
			||||||
 | 
					      TRANSPORT_TCP_PORT: 9300-9399
 | 
				
			||||||
 | 
					      COMPATIBILITY_OVERRIDE_MAIN_RESPONSE_VERSION: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_NODES_DN: "CN=wazuh.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
 | 
				
			||||||
 | 
					      PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
 | 
				
			||||||
 | 
					      CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - wazuh-indexer-data:/var/lib/wazuh-indexer
 | 
					      - wazuh-indexer-data:/var/lib/wazuh-indexer
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
				
			||||||
@@ -60,27 +94,49 @@ services:
 | 
				
			|||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
 | 
				
			||||||
      - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
					      #  if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
 | 
				
			||||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
					      # - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wazuh.dashboard:
 | 
					  wazuh.dashboard:
 | 
				
			||||||
    image: wazuh/wazuh-dashboard:4.4.1
 | 
					    image: wazuh/wazuh-dashboard:5.0.0
 | 
				
			||||||
    hostname: wazuh.dashboard
 | 
					    hostname: wazuh.dashboard
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					    ulimits:
 | 
				
			||||||
 | 
					      memlock:
 | 
				
			||||||
 | 
					        soft: -1
 | 
				
			||||||
 | 
					        hard: -1
 | 
				
			||||||
 | 
					      nofile:
 | 
				
			||||||
 | 
					        soft: 65536
 | 
				
			||||||
 | 
					        hard: 65536
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - 443:5601
 | 
					      - 443:5601
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - INDEXER_USERNAME=admin
 | 
					      WAZUH_API_URL: https://wazuh.manager
 | 
				
			||||||
      - INDEXER_PASSWORD=SecretPassword
 | 
					      DASHBOARD_USERNAME: kibanaserver
 | 
				
			||||||
      - WAZUH_API_URL=https://wazuh.manager
 | 
					      DASHBOARD_PASSWORD: kibanaserver
 | 
				
			||||||
      - API_USERNAME=wazuh-wui
 | 
					      API_USERNAME: wazuh-wui
 | 
				
			||||||
      - API_PASSWORD=MyS3cr37P450r.*-
 | 
					      API_PASSWORD: MyS3cr37P450r.*-
 | 
				
			||||||
 | 
					      SERVER_HOST: 0.0.0.0
 | 
				
			||||||
 | 
					      SERVER_PORT: 5601
 | 
				
			||||||
 | 
					      OPENSEARCH_HOSTS: https://wazuh.indexer:9200
 | 
				
			||||||
 | 
					      OPENSEARCH_SSL_VERIFICATIONMODE: certificate
 | 
				
			||||||
 | 
					      OPENSEARCH_REQUESTHEADERSALLOWLIST: '["securitytenant","Authorization"]'
 | 
				
			||||||
 | 
					      OPENSEARCH_SECURITY_MULTITENANCY_ENABLED: "false"
 | 
				
			||||||
 | 
					      SERVER_SSL_ENABLED: "true"
 | 
				
			||||||
 | 
					      OPENSEARCH_SECURITY_READONLY_MODE_ROLES: '["kibana_read_only"]'
 | 
				
			||||||
 | 
					      SERVER_SSL_KEY: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
 | 
				
			||||||
 | 
					      SERVER_SSL_CERTIFICATE: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
 | 
				
			||||||
 | 
					      OPENSEARCH_SSL_CERTIFICATEAUTHORITIES: '["/usr/share/wazuh-dashboard/certs/root-ca.pem"]'
 | 
				
			||||||
 | 
					      UISETTINGS_OVERRIDES_DEFAULTROUTE: /app/wz-home
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
 | 
				
			||||||
 | 
					      - wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
 | 
					      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
 | 
				
			||||||
      - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
 | 
					      - ./config/wazuh_dashboard/wazuh.yml:/wazuh-config-mount/data/wazuh/config/wazuh.yml
 | 
				
			||||||
      - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
 | 
					      #  if you need mount a custom opensearch-dashboards.yml, uncomment the next line and delete the environment variables
 | 
				
			||||||
 | 
					      # - ./config/wazuh_dashboard/opensearch_dashboards.yml:/wazuh-config-mount/config/opensearch_dashboards.yml
 | 
				
			||||||
    depends_on:
 | 
					    depends_on:
 | 
				
			||||||
      - wazuh.indexer
 | 
					      - wazuh.indexer
 | 
				
			||||||
    links:
 | 
					    links:
 | 
				
			||||||
@@ -100,3 +156,5 @@ volumes:
 | 
				
			|||||||
  filebeat_etc:
 | 
					  filebeat_etc:
 | 
				
			||||||
  filebeat_var:
 | 
					  filebeat_var:
 | 
				
			||||||
  wazuh-indexer-data:
 | 
					  wazuh-indexer-data:
 | 
				
			||||||
 | 
					  wazuh-dashboard-config:
 | 
				
			||||||
 | 
					  wazuh-dashboard-custom:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
					# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
				
			||||||
version: '3'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  generator:
 | 
					  generator:
 | 
				
			||||||
    image: wazuh/wazuh-certs-generator:0.0.1
 | 
					    image: wazuh/wazuh-cert-tool:5.0.0
 | 
				
			||||||
    hostname: wazuh-certs-generator
 | 
					    hostname: wazuh-cert-tool
 | 
				
			||||||
 | 
					    container_name: wazuh-cert-tool
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - ./config/wazuh_indexer_ssl_certs/:/certificates/
 | 
					      - ./config/wazuh_indexer_ssl_certs/:/certificates/
 | 
				
			||||||
      - ./config/certs.yml:/config/certs.yml
 | 
					      - ./config/certs.yml:/config/certs.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user