From ddedb606f22d3a073a1f17153c5b4ea0c9667245 Mon Sep 17 00:00:00 2001 From: Manuel Gutierrez <1380243+xr09@users.noreply.github.com> Date: Tue, 17 Nov 2020 18:27:49 +0100 Subject: [PATCH] Fix pass change and refactor disable user into function --- wazuh-odfe/config/create_user.py | 43 +++++++++++++++++++------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/wazuh-odfe/config/create_user.py b/wazuh-odfe/config/create_user.py index b4b5e813..40a1e04d 100644 --- a/wazuh-odfe/config/create_user.py +++ b/wazuh-odfe/config/create_user.py @@ -9,6 +9,7 @@ import os sys.path.append(os.path.dirname(sys.argv[0]) + "/../framework") USER_FILE_PATH = "/var/ossec/api/configuration/admin.json" +SPECIAL_CHARS = "@$!%*?&-_" try: @@ -39,6 +40,26 @@ def db_roles(): roles_result = get_roles() return {role["name"]: role["id"] for role in roles_result.affected_items} +def disable_user(uid): + random_pass = "".join( + random.choices( + string.ascii_uppercase + + string.ascii_lowercase + + string.digits + + SPECIAL_CHARS, + k=8, + ) + ) + # assure there must be at least one character from each group + random_pass = random_pass + ''.join([random.choice(chars) for chars in [string.ascii_lowercase, string.digits, string.ascii_uppercase, SPECIAL_CHARS]]) + random_pass = ''.join(random.sample(random_pass,len(random_pass))) + update_user( + user_id=[ + str(uid), + ], + password=random_pass, + ) + if __name__ == "__main__": if not os.path.exists(USER_FILE_PATH): @@ -70,21 +91,7 @@ if __name__ == "__main__": ], password=password, ) - # set a random password for all other users - for name, id in initial_users.items(): - if name != username: - random_pass = "".join( - random.choices( - string.ascii_uppercase - + string.ascii_lowercase - + string.digits - + "@$!%*?&-_", - k=16, - ) - ) - update_user( - user_id=[ - str(id), - ], - password=random_pass, - ) + # disable unused default users + for def_user in ['wazuh', 'wazuh-wui']: + if def_user != username: + disable_user(initial_users[def_user])