Нет описания

config.sh 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
  2. # This has to be exported to make some magic below work.
  3. export DH_OPTIONS
  4. export NAME=wazuh-indexer
  5. export TARGET_DIR=${CURDIR}/debian/${NAME}
  6. # Package build options
  7. export USER=${NAME}
  8. export GROUP=${NAME}
  9. export VERSION=${WAZUH_VERSION}-${WAZUH_TAG_REVISION}
  10. export LOG_DIR=/var/log/${NAME}
  11. export LIB_DIR=/var/lib/${NAME}
  12. export PID_DIR=/run/${NAME}
  13. export INSTALLATION_DIR=/usr/share/${NAME}
  14. export CONFIG_DIR=${INSTALLATION_DIR}/config
  15. export BASE_DIR=${NAME}-*
  16. export INDEXER_FILE=wazuh-indexer-base.tar.xz
  17. export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz
  18. export REPO_DIR=/unattended_installer
  19. ## Variables
  20. CERT_TOOL=wazuh-certs-tool.sh
  21. PASSWORD_TOOL=wazuh-passwords-tool.sh
  22. PACKAGES_URL=https://packages.wazuh.com/4.14/
  23. PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.14/
  24. ## Check if the cert tool exists in S3 buckets
  25. CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
  26. CERT_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
  27. ## If cert tool exists in some bucket, download it, if not exit 1
  28. if [ "$CERT_TOOL_PACKAGES" = "200" ]; then
  29. curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL
  30. echo "Cert tool exists in Packages bucket"
  31. elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then
  32. curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL
  33. echo "Cert tool exists in Packages-dev bucket"
  34. else
  35. echo "Cert tool does not exist in any bucket"
  36. exit 1
  37. fi
  38. ## Check if the password tool exists in S3 buckets
  39. PASSWORD_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$PASSWORD_TOOL | grep -E "^HTTP" | awk '{print $2}')
  40. PASSWORD_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$PASSWORD_TOOL | grep -E "^HTTP" | awk '{print $2}')
  41. ## If password tool exists in some bucket, download it, if not exit 1
  42. if [ "$PASSWORD_TOOL_PACKAGES" = "200" ]; then
  43. curl -o $PASSWORD_TOOL $PACKAGES_URL$PASSWORD_TOOL
  44. echo "Password tool exists in Packages bucket"
  45. elif [ "$PASSWORD_TOOL_PACKAGES_DEV" = "200" ]; then
  46. curl -o $PASSWORD_TOOL $PACKAGES_DEV_URL$PASSWORD_TOOL
  47. echo "Password tool exists in Packages-dev bucket"
  48. else
  49. echo "Password tool does not exist in any bucket"
  50. exit 1
  51. fi
  52. chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A
  53. # copy to target
  54. mkdir -p ${TARGET_DIR}${INSTALLATION_DIR}
  55. mkdir -p ${TARGET_DIR}${CONFIG_DIR}
  56. mkdir -p ${TARGET_DIR}${LIB_DIR}
  57. mkdir -p ${TARGET_DIR}${LOG_DIR}
  58. mkdir -p ${TARGET_DIR}/etc/init.d
  59. mkdir -p ${TARGET_DIR}/etc/default
  60. mkdir -p ${TARGET_DIR}/usr/lib/tmpfiles.d
  61. mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
  62. mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
  63. mkdir -p ${TARGET_DIR}${CONFIG_DIR}/certs
  64. # Copy Wazuh's config files for the security plugin
  65. cp -pr /roles_mapping.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
  66. cp -pr /roles.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
  67. cp -pr /action_groups.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
  68. cp -pr /internal_users.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
  69. cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR}
  70. # Copy Wazuh indexer's certificates
  71. cp -pr /wazuh-certificates/demo.indexer.pem ${TARGET_DIR}${CONFIG_DIR}/certs/indexer.pem
  72. cp -pr /wazuh-certificates/demo.indexer-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/indexer-key.pem
  73. cp -pr /wazuh-certificates/root-ca.key ${TARGET_DIR}${CONFIG_DIR}/certs/root-ca.key
  74. cp -pr /wazuh-certificates/root-ca.pem ${TARGET_DIR}${CONFIG_DIR}/certs/root-ca.pem
  75. cp -pr /wazuh-certificates/admin.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin.pem
  76. cp -pr /wazuh-certificates/admin-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin-key.pem
  77. # Delete xms and xmx parameters in jvm.options
  78. sed '/-Xms/d' -i /etc/wazuh-indexer/jvm.options
  79. sed '/-Xmx/d' -i /etc/wazuh-indexer/jvm.options
  80. 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
  81. chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
  82. chmod -R 400 ${TARGET_DIR}${CONFIG_DIR}/certs/*
  83. find ${TARGET_DIR} -type d -exec chmod 750 {} \;
  84. find ${TARGET_DIR} -type f -perm 644 -exec chmod 640 {} \;
  85. find ${TARGET_DIR} -type f -perm 664 -exec chmod 660 {} \;
  86. find ${TARGET_DIR} -type f -perm 755 -exec chmod 750 {} \;
  87. find ${TARGET_DIR} -type f -perm 744 -exec chmod 740 {} \;