איפוס סיסמאות קצה

Edge for Private Cloud גרסה 4.17.01

אחרי שההתקנה מסתיימת, אתם יכולים לאפס את הסיסמאות של OpenLDAP, של מנהל המערכת של Apigee Edge, של משתמש הארגון ב-Edge ושל Cassandra.

איפוס הסיסמה ב-OpenLDAP

בהתאם להגדרות של Edge, אפשר להתקין את OpenLDAP בתור:

  • מופע יחיד של OpenLDAP שמותקן בצומת של שרת הניהול. לדוגמה, במערך Edge עם 2 צמתים, 5 צמתים או 9 צמתים.
  • כמה מופעים של OpenLDAP שמותקנים בצומתי Management Server, שמוגדרים עם שכפול של OpenLDAP. לדוגמה, בהגדרה של 12 צמתים ב-Edge.
  • כמה מכונות של OpenLDAP שמותקנות בצמתים משלהן, ומוגדרות עם שכפול של OpenLDAP. לדוגמה, בהגדרה של 13 צמתים ב-Edge.

הדרך לאפס את הסיסמה ב-OpenLDAP תלויה בהגדרות שלכם.

אם מותקן מופע יחיד של OpenLDAP בשרת הניהול, מבצעים את הפעולות הבאות:

  1. בצומת של שרת הניהול, מריצים את הפקודה הבאה כדי ליצור את הסיסמה החדשה ל-OpenLDAP:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-openldap change-ldap-password -o oldPword -n newPword
  2. מריצים את הפקודה הבאה כדי לאחסן את הסיסמה החדשה לגישה של שרת הניהול:
    > ‎/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPword

    הפקודה הזו מפעילה מחדש את שרת הניהול.

בהגדרת רפליקציה של OpenLDAP עם OpenLDAP שמותקן בצומתי Management Server, צריך לבצע את השלבים שלמעלה בשני צומתי Management Server כדי לעדכן את הסיסמה.

בהגדרת רפליקציה של OpenLDAP שבה OpenLDAP נמצא בצומת שונה מ-Management Server, צריך קודם לשנות את הסיסמה בשני הצמתים של OpenLDAP, ואז בשני הצמתים של Management Server.

איפוס הסיסמה של מנהל המערכת

כדי לאפס את הסיסמה של האדמין במערכת, צריך לאפס את הסיסמה בשני מקומות:

  • שרת ניהול
  • ממשק משתמש

אזהרה: צריך לעצור את ממשק המשתמש של Edge לפני שמאפסים את הסיסמה של מנהל המערכת. בגלל שמאפסים את הסיסמה קודם בשרת הניהול, יכול להיות שבמשך זמן קצר ממשק המשתמש עדיין ישתמש בסיסמה הישנה. אם ממשק המשתמש מבצע יותר משלוש קריאות באמצעות הסיסמה הישנה, שרת OpenLDAP נועל את חשבון האדמין של המערכת למשך שלוש דקות.

כדי לאפס את הסיסמה של מנהל המערכת:

  1. בצומת של ממשק המשתמש, עוצרים את ממשק המשתמש של Edge:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. בשרת הניהול, מריצים את הפקודה הבאה כדי לאפס את הסיסמה:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server change_sysadmin_password -o currentPW -n newPW
  3. עורכים את קובץ התצורה השקט שבו השתמשתם כדי להתקין את ממשק המשתמש של Edge, כדי להגדיר את המאפיינים הבאים:
    APIGEE_ADMINPW=newPW
    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y


    שימו לב שצריך לכלול את מאפייני ה-SMTP כשמעבירים את הסיסמה החדשה, כי כל המאפיינים בממשק המשתמש מאופסים.
  4. משתמשים בכלי apigee-setup כדי לאפס את הסיסמה בממשק המשתמש של Edge מקובץ התצורה:
    > ‎/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (רק אם TLS מופעל בממשק המשתמש) מפעילים מחדש את TLS בממשק המשתמש של Edge, כמו שמתואר במאמר הגדרת TLS לממשק המשתמש של הניהול.

בסביבת רפליקציה של OpenLDAP עם כמה שרתי ניהול, איפוס הסיסמה בשרת ניהול אחד מעדכן את שרת הניהול השני באופן אוטומטי. עם זאת, צריך לעדכן את כל הצמתים של ממשק המשתמש של Edge בנפרד.

איפוס סיסמה של משתמש בארגון

כדי לאפס את הסיסמה של משתמש בארגון, משתמשים בכלי apigee-service כדי להפעיל את apigee-setup:

/opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password
 [-h] 
 [-u USER_EMAIL] 
 [-p USER_PWD]
 [-a ADMIN_EMAIL] 
 [-P APIGEE_ADMINPW] 
 [-f configFile]

לדוגמה:

> /opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password -u user@myCo.com -p foo12345 -a admin@myCo.com -P adminPword 

בהמשך מוצג קובץ תצורה לדוגמה שאפשר להשתמש בו עם האפשרות "‎-f":

USER_NAME= user@myCo.com
USER_PWD= "foo12345"
APIGEE_ADMINPW= adminPword

אפשר גם להשתמש ב-API‏ Update user כדי לשנות את סיסמת המשתמש.

כללי סיסמאות למשתמשים בארגון ולאדמינים של המערכת

בקטע הזה אפשר לאכוף את האורך והחוזק הרצויים של הסיסמאות של המשתמשים בניהול ממשקי API. ההגדרות משתמשות בסדרה של ביטויים רגולריים שהוגדרו מראש (וממוספרים באופן ייחודי) כדי לבדוק את תוכן הסיסמה (כמו אותיות רישיות, אותיות קטנות, מספרים ותווים מיוחדים). כותבים את ההגדרות האלה בקובץ /opt/apigee/customer/application/management-server.properties. אם הקובץ הזה לא קיים, יוצרים אותו.

אחרי שעורכים את management-server.properties, מפעילים מחדש את שרת הניהול:

> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

אחר כך אפשר להגדיר דירוגים של חוזק הסיסמה על ידי קיבוץ של שילובים שונים של ביטויים רגולריים. לדוגמה, אתם יכולים לקבוע שסיסמה עם לפחות אות אחת גדולה ואות אחת קטנה תקבל דירוג חוזק של "3", אבל סיסמה עם לפחות אות אחת קטנה ומספר אחד תקבל דירוג חוזק גבוה יותר של "4".

נכסים

תיאור

conf_security_password.validation.minimum.‎
password.length=8

conf_security_password.validation.default.rating=2

conf_security_password.validation.minimum.‎
rating.required=3

אפשר להשתמש בהן כדי לקבוע את המאפיינים הכלליים של סיסמאות תקינות. דירוג ברירת המחדל המינימלי לחוזק הסיסמה (שמתואר בהמשך הטבלה) הוא 3.

שימו לב שהערך password.validation.default.rating=2 נמוך מהדירוג המינימלי הנדרש. כלומר, אם הסיסמה שהוזנה לא עומדת בכללים שהגדרתם, היא מקבלת את הדירוג 2 ולכן היא לא תקינה (מתחת לדירוג המינימלי 3).

בהמשך מופיעים ביטויים רגולריים שמזהים מאפיינים של סיסמאות. שימו לב שכל אחד מהם ממוספר. לדוגמה, "password.validation.regex.5=…‎" הוא ביטוי מספר 5. תשתמשו במספרים האלה בקטע אחר בקובץ כדי להגדיר שילובים שונים שקובעים את חוזק הסיסמה הכולל.

conf_security_password.validation.regex.1=^(.)\\1+$

‫1 – כל התווים חוזרים על עצמם

conf_security_password.validation.regex.2=^.*[a-z]+.*$

‫2 – לפחות אות קטנה אחת

conf_security_password.validation.regex.3=^.*[A-Z]+.*$

‫3 – לפחות אות גדולה אחת

conf_security_password.validation.regex.4=^.*[0-9]+.*$

‫4 – לפחות ספרה אחת

conf_security_password.validation.regex.5=^.*[^a-zA-z0-9]+.*$

‫5 – לפחות תו מיוחד אחד (לא כולל קו תחתון _)

conf_security_password.validation.regex.6=^.*[_]+.*$

‫6 – לפחות קו תחתון אחד

conf_security_password.validation.regex.7=^.*[a-z]{2,}.*$

‫7 – יותר מאות קטנה אחת

conf_security_password.validation.regex.8=^.*[A-Z]{2,}.*$

‫8 – יותר מאות גדולה אחת

conf_security_password.validation.regex.9=^.*[0-9]{2,}.*$

‫9 – יותר מספרה אחת

conf_security_password.validation.regex.10=^.*[^a-zA-z0-9]{2,}.*$

‫10 – יותר מתו מיוחד אחד (לא כולל קו תחתון)

conf_security_password.validation.regex.11=^.*[_]{2,}.*$

‫11 – יותר מקו תחתון אחד

הכללים הבאים קובעים את חוזק הסיסמה על סמך התוכן שלה. כל כלל כולל ביטוי רגולרי אחד או יותר מהקטע הקודם, ומקצה לו חוזק מספרי. החוזק המספרי של הסיסמה מושווה למספר conf_security_password.validation.minimum.rating.required שמופיע בחלק העליון של הקובץ הזה כדי לקבוע אם הסיסמה תקינה או לא.

conf_security_password.validation.rule.1=1,AND,0

conf_security_password.validation.rule.2=2,3,4,AND,4

conf_security_password.validation.rule.3=2,9,AND,4

conf_security_password.validation.rule.4=3,9,AND,4

conf_security_password.validation.rule.5=5,6,OR,4

conf_security_password.validation.rule.6=3,2,AND,3

conf_security_password.validation.rule.7=2,9,AND,3

conf_security_password.validation.rule.8=3,9,AND,3

כל כלל ממוספר. לדוגמה, "password.validation.rule.3=…" הוא כלל מספר 3.

כל כלל משתמש בפורמט הבא (מימין לסימן השווה):

<regex-index-list>,<AND|OR>,<rating>

‫regex-index-list היא רשימת הביטויים הרגולריים (לפי מספר מהקטע הקודם), יחד עם אופרטור AND|OR (כלומר, צריך להביא בחשבון את כל הביטויים שמופיעים ברשימה או כל אחד מהם).

‫rating הוא דירוג החוזק המספרי שניתן לכל כלל.

לדוגמה, לפי כלל 5, כל סיסמה עם תו מיוחד אחד לפחות או קו תחתון אחד מקבלת דירוג חוזק של 4. באמצעות password.validation.minimum.
rating.required=3 בחלק העליון של הקובץ, סיסמה עם דירוג 4 היא תקינה.

conf_security_rbac.password.validation.enabled=true

צריך להגדיר את אימות הסיסמה של בקרת גישה המבוססת על תפקידים (RBAC) כ-False כשכניסה יחידה (SSO) מופעלת. ברירת המחדל היא true.

איפוס הסיסמה של Cassandra

כברירת מחדל, Cassandra מגיע עם אימות מושבת. אם מפעילים אימות, הוא משתמש במשתמש מוגדר מראש בשם cassandra עם הסיסמה cassandra. אפשר להשתמש בחשבון הזה, להגדיר סיסמה אחרת לחשבון הזה או ליצור משתמש חדש ב-Cassandra. להוסיף, להסיר ולשנות משתמשים באמצעות ההצהרות CREATE/ALTER/DROP USER של Cassandra.

במאמר הפעלת אימות ב-Cassandra מוסבר איך להפעיל אימות ב-Cassandra.

כדי לאפס את הסיסמה של Cassandra, צריך:

  • מגדירים את הסיסמה באחד מצומתי Cassandra והיא תועבר לכל צומתי Cassandra בטבעת.
  • מעדכנים את שרת הניהול, מעבדי הבקשות, הנתבים, שרתי Qpid, שרתי Postgres ו-BaaS Stack בכל צומת עם הסיסמה החדשה.

מידע נוסף זמין בכתובת http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html.

כדי לאפס את הסיסמה של Cassandra:

  1. מתחברים לאחד מצומתי Cassandra באמצעות הכלי cqlsh ופרטי הכניסה שמוגדרים כברירת מחדל. צריך לשנות את הסיסמה רק בצומת אחד של Cassandra, והיא תופץ לכל הצמתים של Cassandra בטבעת:
    > /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    כאשר:
    • ‫cassIP היא כתובת ה-IP של צומת Cassandra.
    • ‫9042 היא היציאה של Cassandra.
    • המשתמש שמוגדר כברירת מחדל הוא cassandra.
    • סיסמת ברירת המחדל היא cassandra. אם שיניתם את הסיסמה בעבר, השתמשו בסיסמה הנוכחית.
  2. מריצים את הפקודה הבאה בהנחיה cqlsh>‎ כדי לעדכן את הסיסמה:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';

    אם הסיסמה החדשה מכילה תו של מירכאות בודדות, צריך להוסיף לפניו תו של מירכאות בודדות כדי להחליף אותו.
  3. יוצאים מהכלי cqlsh:
    cqlsh> exit
  4. בצומת של שרת הניהול, מריצים את הפקודה הבאה:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    אפשר גם להעביר לפקודה קובץ שמכיל את שם המשתמש והסיסמה החדשים:
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    כאשר configFile מכיל את הפרטים הבאים:
    CASS_USERNAME=CASS_USERNAME
    CASS_PASSWORD=CASS_PASSWROD


    הפקודה הזו מפעילה מחדש את שרת הניהול באופן אוטומטי.
  5. חוזרים על שלב 4:
    • כל מעבדי הבקשות
    • כל הנתבים
    • כל שרתי Qpid‏ (edge-qpid-server)
    • שרתי Postgres‏ (edge-postgres-server)
  6. בצומת BaaS Stack לגרסה 4.16.05.04 ואילך:
    1. מריצים את הפקודה הבאה כדי ליצור סיסמה מוצפנת:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      הפקודה הזו מבקשת את הסיסמה בטקסט פשוט ומחזירה את הסיסמה המוצפנת בפורמט הבא:
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. מגדירים את הטוקנים הבאים ב-/opt/apigee/customer/application/usergrid.properties. אם הקובץ הזה לא קיים, יוצרים אותו:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      בדוגמה הזו נעשה שימוש בשם המשתמש שמוגדר כברירת מחדל ל-Cassandra. אם שיניתם את שם המשתמש, הגדירו את הערך של usergrid-deployment_cassandra.username בהתאם.

      חשוב לוודא שהסיסמה כוללת את הקידומת "SECURE:". אחרת, מחסנית ה-BaaS מפרשת את הערך כלא מוצפן.

      הערה: לכל צומת BaaS Stack יש מפתח ייחודי משלו שמשמש להצפנת הסיסמה. לכן, צריך ליצור את הערך המוצפן בכל צומת של BaaS Stack בנפרד.
    3. משנים את הבעלות על הקובץ usergrid.properties למשתמש apigee:
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. מגדירים את צומת Stack:
      > ‎/opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. מפעילים מחדש את BaaS Stack:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. חוזרים על השלבים האלה בכל הצמתים של BaaS Stack.

הסיסמה של Cassandra השתנתה.

איפוס הסיסמה של PostgreSQL

כברירת מחדל, במסד הנתונים של PostgreSQL מוגדרים שני משתמשים: "postgres" ו-"apigee". לשני המשתמשים יש סיסמת ברירת מחדל, "postgres". כדי לשנות את סיסמת ברירת המחדל:

משנים את הסיסמה בכל צומתי המאסטר של Postgres. אם הגדרתם שני שרתי Postgres במצב מאסטר/המתנה, אתם צריכים לשנות את הסיסמה רק בצומת המאסטר. מידע נוסף זמין במאמר הגדרת שכפול Master-Standby ל-Postgres.

  1. בצומת הראשי של Postgres, משנים את הספרייה ל-/opt/apigee/apigee-postgresql/pgsql/bin.
  2. מגדירים את הסיסמה של המשתמש postgres ב-PostgreSQL:
    1. מתחברים למסד הנתונים של PostgreSQL באמצעות הפקודה:
      > psql -h localhost -d apigee -U postgres
    2. כשמופיעה בקשה, מזינים את סיסמת המשתמש "postgres" בתור "postgres".
    3. בשורת הפקודה של PostgreSQL, מזינים את הפקודה הבאה כדי לשנות את סיסמת ברירת המחדל:
      apigee=> ALTER USER postgres WITH PASSWORD 'apigee1234';
    4. יוצאים ממסד הנתונים של PostgreSQL באמצעות הפקודה:
      apigee=> \q
  3. מגדירים את הסיסמה של המשתמש apigee ב-PostgreSQL:
    1. מתחברים למסד הנתונים של PostgreSQL באמצעות הפקודה:
      > psql -h localhost -d apigee -U apigee
    2. כשמופיעה בקשה, מזינים את סיסמת המשתמש "apigee" בתור "postgres".
    3. בשורת הפקודה של PostgreSQL, מזינים את הפקודה הבאה כדי לשנות את סיסמת ברירת המחדל:
      apigee=> ALTER USER apigee WITH PASSWORD 'apigee1234';
    4. יוצאים ממסד הנתונים של PostgreSQL באמצעות הפקודה:
      apigee=> \q
  4. APIGEE_HOME:
    > export APIGEE_HOME=/opt/apigee/edge-postgres-server
  5. מצפינים את הסיסמה החדשה:
    > sh /opt/apigee/edge-postgres-server/utils/scripts/utilities/passwordgen.sh apigee1234

    הפקודה הזו מחזירה את הסיסמה המוצפנת, כמו שמוצג בהמשך. הסיסמה המוצפנת מתחילה אחרי התו ":" ולא כוללת את התו ":".
    Encrypted string  :WheaR8U4OeMEM11erxA3Cw==
  6. מעדכנים את צומת שרת הניהול בסיסמאות המוצפנות החדשות של המשתמשים postgres ו-apigee.
    1. בשרת הניהול, משנים את הספרייה ל-/opt/apigee/customer/application.
    2. עורכים את הקובץ management-server.properties כדי להגדיר את המאפיינים הבאים. אם הקובץ הזה לא קיים, יוצרים אותו:
      הערה: בחלק מהמאפיינים צריך להזין את סיסמת המשתמש המוצפנת של postgres, ובחלק מהמאפיינים צריך להזין את סיסמת המשתמש המוצפנת של apigee.
      • conf_pg-agent_password=newEncryptedPasswordForPostgresUser
      • conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
      • conf_query-service_pgDefaultPwd=newEncryptedPasswordForApigeeUser
      • conf_query-service_dwDefaultPwd=newEncryptedPasswordForApigeeUser
      • conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
    3. מוודאים שהקובץ נמצא בבעלות המשתמש apigee:
      > chown apigee:apigee management-server.properties
  7. מעדכנים את כל הצמתים של שרת Postgres ושרת Qpid בסיסמה המוצפנת החדשה.
    1. בצומת של שרת Postgres או שרת Qpid, משנים את הספרייה ל-/opt/apigee/customer/application.
    2. עורכים את הקבצים הבאים. אם הקבצים האלה לא קיימים, יוצרים אותם:
      • postgres-server.properties
      • qpid-server.properties
    3. מוסיפים את המאפיינים הבאים לקבצים:
      הערה: כל המאפיינים האלה מקבלים את סיסמת המשתמש המוצפנת של postgres.
      • conf_pg-agent_password=newEncryptedPasswordForPostgresUser
      • conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
      • conf_query-service_pgDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_query-service_dwDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
    4. מוודאים שהקבצים נמצאים בבעלות המשתמש "apigee":
      > chown apigee:apigee postgres-server.properties
      > chown apigee:apigee qpid-server.properties
  8. מפעילים מחדש את הרכיבים הבאים בסדר הזה:
    1. מסד נתונים של PostgreSQL:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    2. שרת Qpid:
      > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    3. שרת Postgres:
      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    4. שרת ניהול:
      > ‎/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart