בדף הזה מוסבר איך להפעיל הצפנה במעבר במהלך יצירת מופע Redis, ואיך לנהל את ההצפנה במעבר של המופע. ההצפנה בזמן ההעברה מתבצעת באמצעות פרוטוקול Transport Layer Security (TLS).
במאמר הצפנה במעבר תוכלו לקרוא מידע על ההתנהגות הכללית של הצפנה במעבר ועל היתרונות שלה.
רשימת ההרשאות שנדרשות למשתמש כדי לבצע את משימות הניהול שמופיעות בדף הזה מפורטת במאמר הרשאות להצפנה במעבר.
אפשר להפעיל הצפנה במעבר רק כשיוצרים את מופע Redis. אי אפשר להשבית את ההצפנה במעבר עבור מופעים שנוצרו בדרך הזו.
יצירת מכונת Redis עם הצפנה של נתונים במעבר
המסוף
כשיוצרים מופע Redis, בוחרים באפשרות הפעלת הצפנה בנתונים בזמן העברה.
gcloud
כדי ליצור מופע Redis עם הצפנה במעבר, מזינים את הפקודה הבאה ומחליפים את variables בערכים המתאימים:
gcloud redis instances create instance-id --transit-encryption-mode=SERVER_AUTHENTICATION --size=size --region=region-id
כאשר:
-
--transit-encryption-mode=SERVER_AUTHENTICATIONמפעיל הצפנה בזמן ההעברה של המופע.
הורדת רשות האישורים
המסוף
עוברים לדף Memorystore for Redis במסוף Google Cloud .
כדי לראות את הדף Instance details (פרטי המכונה) של המכונה, לוחצים על Instance ID (מזהה המכונה).
לוחצים על הלחצן הורדה או הורדת הכול בקטע אישור שרת TLS.
gcloud
אם ההצפנה במעבר מופעלת במופע, תוכלו לראות את התוכן של רשויות האישורים כשמריצים את הפקודה הבאה:
gcloud redis instances describe instance-id --region=region
גוף התשובה יכלול את כל רשויות האישורים הרלוונטיות. בדוגמה הבאה מוצגת רשות אישורים (CA) עבור Memorystore for Redis:
-----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1 MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H 8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0 3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh 1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3 84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7 xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn 662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g lEtWs4V/YBhKA56CW6ASZS8= -----END CERTIFICATE-----
מעתיקים ושומרים את כל רשויות האישורים באופן זמני כדי שתוכלו להתקין אותם בלקוחות שניגשים למופע Redis.
התקנת רשות אישורים (CA) בלקוח
צריך להתקין את רשויות האישורים של מופע Redis בלקוח המתחבר. ההתקנה של CA משתנה בהתאם לסוג הלקוח. בשלבים הבאים מוסבר איך להתקין CA במכונה וירטואלית של Linux ב-Compute Engine.
מתחברים באמצעות SSH ללקוח Linux של Compute Engine.
כדי ליצור קובץ בשם
server_ca.pemבלקוח, מריצים את הפקודה הבאה:sudo vim /tmp/server_ca.pem
מורידים את רשות האישורים ומדביקים אותה בקובץ
server_ca.pemשיצרתם קודם.הטקסט של אישור ה-CA צריך להיות בפורמט הנכון:
- מעתיקים את כל רשות האישורים, כולל השורות
-----BEGIN CERTIFICATE-----ו------END CERTIFICATE-----. - חשוב לוודא שהטקסט של אישור ה-CA מיושר לשמאל באופן מלא, ושאין רווחים לפני אף שורה באישור ה-CA.
- מעתיקים את כל רשות האישורים, כולל השורות
הגדרת הלקוח להצפנת נתונים במעבר
הלקוח שבו אתם משתמשים כדי להתחבר למופע Redis צריך לתמוך ב-TLS או להשתמש ב-sidecar של צד שלישי כדי להפעיל TLS.
אם הלקוח שלכם תומך ב-TLS, צריך להגדיר אותו כך שיצביע על כתובת ה-IP של מופע Redis, על היציאה 6378 ועל הקובץ שמכיל את רשות האישורים. אם בוחרים להשתמש ב-sidecar, מומלץ להשתמש ב-Stunnel.
הגדרות נוספות של לקוח
חלק מהלקוחות לא מקבלים אישורים בחתימה עצמית כברירת מחדל, וידרשו הגדרה נוספת.
לדוגמה, Lettuce הוא לקוח Java פופולרי ל-Redis. בדוקומנטציה שלהם יש דוגמה לחיבור מקורי עם TLS (ראו דוגמה 47).
מנהל האבטחה של Java לא מאפשר אישורים בחתימה עצמית כברירת מחדל, לכן צריך לציין אפשרות נוספת בבניית ה-URI של Redis .withVerifyPeer(false).
חיבור מאובטח למופע Redis באמצעות Stunnel ו-telnet
הוראות לשימוש ב-Stunnel כדי להפעיל הצפנה במעבר בלקוח של Compute Engine מופיעות במאמר חיבור למכונת Redis בצורה מאובטחת באמצעות Stunnel ו-telnet.
ניהול סבב של רשות אישורים
צריך להתקין את כל רשויות האישורים שניתן להוריד בלקוחות שניגשים למופע Redis.
הדרך הכי פשוטה לוודא שיש לכם את ה-CA הדרוש כשמתרחש אירוע של רוטציה של רשות אישורים היא להתקין את ה-CA החדש, בנוסף ל-CA הקודם, ברגע שהוא יהיה זמין.
מריצים את הפקודה הבאה פעם אחת כשמוסיפים רשות אישורים חדשה כדי לראות את התוכן של רשות האישורים החדשה:
gcloud redis instances describe instance-id --region=region
לאחר מכן, מעתיקים את רשות האישורים החדשה ביותר ומדביקים אותה בקובץ בלקוח שבו שמרתם את רשות האישורים הקודמת.
הקובץ צריך להיות בפורמט הבא. סדר הרשויות להנפקת אישורים לא משנה:
-----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1 MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H 8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0 3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh 1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3 84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7 xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn 662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g lEtWs4V/YBhKA56CW6ASZS8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4 ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2 MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD 8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6 97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq 5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM 0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9 9DmrfdF0eFrfWw3VRNLwwXg= -----END CERTIFICATE-----
כדי לוודא שיש לכם את ה-CA הנדרש, צריך לוודא שרשויות האישורים ששמורות בקובץ הלקוח זהות לאלה שמוצגות על ידי gcloud redis
instances describe. אחרי שמתחיל אירוע רוטציה, יש כמה רשויות אישורים כדי להבטיח מספיק זמן לרוטציות עם זמן השבתה מינימלי.
המאמרים הבאים
- קראו את הסקירה הכללית בנושא הצפנה במעבר.
- מידע נוסף על התכונה Redis AUTH ב-Memorystore for Redis