כדי להצפין את הנתונים בין Looker למסד הנתונים ברמה הגבוהה ביותר, אתם יכולים ליצור מנהרת SSH לשרת מנהרה או לשרת של מסד הנתונים עצמו.
שלב 1: בוחרים מארח שבו רוצים לסיים את המנהרה
השלב הראשון בהגדרת הגישה למנהרת SSH למסד הנתונים הוא לבחור את המארח שישמש לסיום המנהרה. אפשר לסיים את המנהרה במארח של מסד הנתונים עצמו או במארח נפרד (שרת המנהרה).
שימוש בשרת של מסד הנתונים
כשלא משתמשים בשרת מנהרה, Looker מתחבר ישירות לשרת של מסד הנתונים דרך מנהרת SSH באינטרנט הציבורי. היתרון של סיום במסד הנתונים הוא הפשטות. יש פחות מארח אחד, כך שאין מכונות נוספות והעלויות שקשורות אליהן. יכול להיות שהאפשרות הזו לא תהיה זמינה אם שרת מסד הנתונים נמצא ברשת מוגנת שאין לה גישה ישירה מהאינטרנט.

שימוש בשרת מנהרה (tunnel server)
כשמשתמשים בשרת מנהרה, Looker מתחבר לשרת מסד הנתונים דרך שרת מנהרה נפרד ברשת מוגבלת. היתרון של סיום המנהרה בשרת נפרד הוא ששרת מסד הנתונים לא נגיש מהאינטרנט. אם שרת המנהרה נפרץ, הוא נמצא במרחק שלב אחד משרת מסד הנתונים. מומלץ להסיר את כל התוכנות והמשתמשים הלא חיוניים משרת המנהרה, ולעקוב אחריו מקרוב באמצעות כלים כמו IDS.

שרת המנהרה יכול להיות כל מארח של Unix או Linux ש:
- אפשר לגשת אליו מהאינטרנט באמצעות SSH
- יכולת לגשת למסד הנתונים
שלב 2: יצירת רשימת היתרים של כתובות IP
השלב השני הוא לאפשר לתנועה ברשת להגיע לשרת המנהרה או למארח מסד הנתונים דרך SSH, שבדרך כלל נמצא ביציאת TCP 22.
צריך לאפשר תנועה ברשת מכל אחת מכתובות ה-IP שמופיעות כאן לאזור שבו מארחים את המכונה של Looker. כברירת מחדל, המדינה תהיה ארצות הברית.
מכונות שמתארחות ב- Google Cloud
מופעים שמתארחים ב-Looker מתארחים ב- Google Cloud כברירת מחדל. במכונות שמתארחות ב- Google Cloud, מוסיפים לרשימת ההיתרים את כתובות ה-IP שתואמות לאזור שלכם.
כאן אפשר למצוא רשימה מלאה של כתובות ה-IP של המכונות שמתארחות ב- Google Cloud
מונקס קורנר, קרוליינה הדרומית, ארה"ב (us-east1)
34.23.50.13735.211.210.6435.211.95.5535.185.59.10034.111.239.10235.237.174.1734.73.200.23535.237.168.21634.75.58.12335.196.30.11035.243.254.166
אשבורן, צפון וירג'יניה, ארה"ב (us-east4)
34.150.212.934.150.174.5434.85.200.21735.221.30.17735.245.82.7334.86.214.22635.245.177.11235.245.211.10934.86.118.23934.86.136.19035.194.74.18534.86.52.18835.221.3.16335.221.62.21834.86.34.13535.236.240.16835.199.50.23734.145.252.25535.245.141.4235.245.20.1634.145.147.14634.145.139.2234.150.217.2035.199.35.17635.245.72.3534.85.187.17535.236.220.22534.150.180.944.85.195.16834.86.126.12434.145.200.834.85.142.9534.150.217.9635.245.140.3634.86.124.23435.194.69.23935.230.163.2635.186.187.4834.86.154.13434.85.128.25035.245.212.21235.245.74.7534.86.246.18734.86.241.21634.85.222.934.86.171.12734.145.204.10634.150.252.16935.245.9.213
קאונסיל בלאפס, איווה, ארה"ב (us-central1)
104.154.21.23135.192.130.12635.184.100.5134.70.128.7434.69.207.17635.239.118.19734.172.2.22734.71.191.21034.173.109.5035.225.65.334.170.192.19034.27.97.6735.184.118.15534.27.58.16034.136.4.15335.184.8.25535.222.218.14034.123.109.4934.67.240.23104.197.72.4034.72.128.3335.226.158.6634.134.4.9135.226.210.85
דה דיילס, אורגון, ארה"ב (us-west1)
34.127.41.19934.82.57.22535.197.66.24435.197.64.5734.82.193.21535.247.117.035.233.222.22634.82.120.2535.247.5.9935.247.61.15135.233.249.16035.233.172.2335.247.55.3334.83.138.10535.203.184.4834.83.94.15134.145.90.8334.127.116.8535.197.35.18834.105.127.12235.233.191.8434.145.93.13035.233.178.16634.105.18.120104.199.118.1435.185.228.21634.145.16.15134.82.91.7534.82.142.24534.105.35.1934.83.231.9634.168.230.4735.247.46.21434.105.44.2535.185.196.7534.145.39.11334.168.121.44
לוס אנג'לס, קליפורניה, ארה"ב (us-west2)
35.236.22.7735.235.83.17735.236.51.71
מונטריאול, קוויבק, קנדה (northamerica-northeast1)
35.234.253.10335.203.46.25534.152.60.21035.203.0.635.234.252.15035.203.96.23534.152.34.22934.118.131.3635.203.113.51
לונדון, אנגליה, בריטניה (europe-west2)
34.105.198.15135.246.117.5834.142.123.9634.89.124.13934.89.127.5134.105.209.4435.242.138.13335.197.222.22035.189.111.17334.105.219.15434.105.181.13334.89.25.535.246.10.20634.105.131.13334.142.77.1834.89.54.8435.189.94.10535.246.36.6735.234.140.7735.242.174.15835.197.199.2034.89.3.12034.105.156.10735.246.79.7234.105.139.3834.105.147.15734.105.195.12934.105.194.21034.142.79.12334.142.55.5834.142.85.24934.105.148.3835.246.100.6635.246.3.16534.105.176.20935.189.95.16734.89.55.2
פרנקפורט, גרמניה (europe-west3)
35.242.243.25534.159.247.21135.198.128.12634.159.10.5934.159.72.7734.159.224.18734.89.159.13834.159.253.10334.159.244.4335.246.162.18734.89.141.19034.159.65.10634.159.197.3134.89.194.13434.159.252.15534.141.65.21634.159.124.6235.246.130.21334.89.206.2134.89.185.20134.159.171.4635.246.217.22835.242.236.11534.159.148.253
מומבאי, הודו (asia-south1)
35.200.234.3434.100.205.3734.93.225.1234.93.221.13735.244.24.19835.244.52.179
איימסהאבן, הולנד (europe-west4)
35.204.118.2835.204.216.734.90.52.19135.204.176.2934.90.199.9534.90.145.22634.141.162.735.204.56.18935.204.11.22934.34.66.13134.32.195.8934.32.173.138
מחוז צ'אנגחואה, טייוואן (asia-east1)
104.199.206.20934.80.173.21235.185.137.114
טוקיו, יפן (asia-northeast1)
34.85.3.19834.146.68.20334.84.4.218
ג'ורונג מערב, סינגפור (asia-southeast1)
34.143.210.11634.143.132.20634.87.134.20234.101.158.8834.101.157.23834.101.184.52
ג'קרטה, אינדונזיה (asia-southeast2)
34.101.158.8834.101.157.23834.101.184.52
סידני, אוסטרליה (australia-southeast1)
34.87.195.3634.116.85.14034.151.78.4835.189.13.2935.189.9.8135.244.68.217
אוזאסקו (סאו פאולו), ברזיל (southamerica-east1)
34.151.199.20135.199.122.1934.95.180.12234.95.168.3834.151.235.24134.95.181.1935.199.91.12035.247.197.10935.199.86.4835.199.106.16635.198.1.19135.247.235.12835.247.211.235.247.200.24934.95.177.253
מכונות שמתארחות ב-Amazon Elastic Kubernetes Service (Amazon EKS)
במכונות שמתארחות ב-Amazon EKS, צריך להוסיף לרשימת ההיתרים את כתובות ה-IP שתואמות לאזור שלכם.כאן אפשר למצוא רשימה מלאה של כתובות IP של מכונות שמתארחות ב-Amazon EKS
מזרח ארה"ב (צפון וירג'יניה) (us-east-1)
18.210.137.13054.204.171.25350.17.192.8754.92.246.22375.101.147.9718.235.225.16352.55.239.16652.86.109.6854.159.176.1993.230.52.22054.211.95.15052.55.10.236184.73.10.8552.203.92.11452.3.47.18952.7.255.5454.196.92.552.204.125.24434.200.64.24318.206.32.25454.157.231.7654.162.175.24454.80.5.1735.168.173.23852.44.187.2218.213.96.4023.22.133.20634.239.90.16934.236.92.873.220.81.24154.197.142.23834.200.121.563.83.72.4154.159.42.1443.229.81.10134.225.255.22054.162.193.16534.235.77.1173.233.169.6354.87.86.11318.208.86.2952.44.90.201
מזרח ארה"ב (אוהיו) (us-east-2)
3.135.171.2918.188.208.2313.143.85.223
מערב ארה"ב (אורגון) (us-west-2)
44.237.129.3254.184.191.25035.81.99.30
קנדה (מרכז) (ca-central-1)
52.60.157.6135.182.169.2552.60.59.12835.182.207.12815.222.172.643.97.27.5135.183.191.13315.222.86.12352.60.52.14
אירופה (אירלנד) (eu-west-1)
54.74.243.24654.195.216.9554.170.208.6752.49.220.10352.31.69.11734.243.112.7652.210.85.11052.30.198.16334.249.159.11252.19.248.17654.220.245.17154.247.22.227176.34.116.19754.155.205.15952.16.81.13954.75.200.18834.248.52.454.228.110.3234.248.104.9854.216.117.22552.50.172.40
אירופה (פרנקפורט) (eu-central-1)
18.157.231.10818.157.207.3318.157.64.19818.198.116.1333.121.148.1783.126.54.154
אסיה ואזור האוקיינוס השקט (טוקיו) (ap-northeast-1)
54.250.91.5713.112.30.11054.92.76.24152.68.245.253.114.138.054.249.39.36
אסיה ואזור האוקיינוס השקט (סידני) (ap-southeast-2)
13.238.132.1743.105.238.713.105.113.36
דרום אמריקה (סאו פאולו) (sa-east-1)
54.232.58.18154.232.58.98177.71.134.208
מכונות שמתארחות ב-Microsoft Azure
במכונות שמתארחות ב-Azure, צריך להוסיף לרשימת ההיתרים את כתובות ה-IP שתואמות לאזור שלכם.כאן אפשר למצוא רשימה מלאה של כתובות ה-IP של המכונות שמתארחות ב-Microsoft Azure
וירג'יניה, ארה"ב (eastus2)
52.147.190.201
דבלין, אירלנד (northeurope)
20.123.126.28
אירוח מדור קודם
צריך להשתמש בכתובות ה-IP האלה בכל המכונות שמתארחות ב-AWS ונוצרו לפני 7 ביולי 2020.כאן אפשר למצוא רשימה מלאה של כתובות IP לאירוח מדור קודם
ארצות הברית (ברירת המחדל של AWS)
54.208.10.16754.209.116.19152.1.5.22852.1.157.15654.83.113.5
קנדה
99.79.117.12735.182.216.56
אסיה
52.68.85.4052.68.108.109
אירלנד
52.16.163.15152.16.174.170
גרמניה
18.196.243.9418.184.246.171
אוסטרליה
52.65.128.17052.65.124.87
דרום אמריקה
52.67.8.10354.233.74.59
שלב 3: מנהרת SSH
אם הכרטיסייה SSH Servers מופעלת, פועלים לפי ההוראות שבדף הזה כדי להוסיף את פרטי ההגדרה של שרת ה-SSH ל-Looker.
בקטע Admin בדף Connections ב-Looker, לוחצים על הכרטיסייה שרת SSH.

ואז לוחצים על הוספת שרת. Looker מציג את הדף הוספת שרת SSH:

- מזינים שם להגדרת שרת ה-SSH.
- לוחצים על הורדת המפתח כדי להוריד את המפתח הציבורי לקובץ טקסט. חשוב לשמור את הקובץ הזה, כי בהמשך תצטרכו להוסיף את המפתח הציבורי לקובץ המפתחות המורשים של שרת ה-SSH.
- מזינים את שם המשתמש שבו Looker ישתמש כדי להתחבר לשרת ה-SSH.
- מזינים את כתובת ה-IP או את שם המארח של שרת ה-SSH.
- מזינים את מספר היציאה שמשמשת לחיבור לשרת ה-SSH.
שלב 4: הכנת המארח של המנהרה
מוסיפים את המפתח הציבורי לקובץ authorized_keys
כדי לאמת את הסשן של מנהרת ה-SSH, צריך מפתח ציבורי ייחודי ב-Looker (אי אפשר להתחבר ל-Looker באמצעות סיסמה). אם הכרטיסייה שרתי SSH מופעלת במכונה שלכם, אתם יכולים להוריד את המפתח הציבורי לקובץ טקסט. כדי לעשות את זה, לוחצים על הכפתור הורדת המפתח כשמזינים את פרטי ההגדרות של ה-SSH. אם אתם מגדירים את מנהרת ה-SSH בעזרת מנתח נתונים של Looker, הוא יספק לכם מפתח ציבורי ייחודי.
תצטרכו להכין את המארח (שרת מסד הנתונים או שרת המנהרה) על ידי יצירת משתמש looker והוספת המפתח הציבורי של Looker לקובץ .ssh/authorized_keys של Looker. כך עושים זאת:
בשורת הפקודה, יוצרים קבוצה בשם
looker:sudo groupadd lookerיוצרים את המשתמש
lookerואת ספריית הבית שלו:sudo useradd -m -g looker lookerמעבר למשתמש
looker:sudo su - lookerיוצרים את הספרייה
.ssh:mkdir ~/.sshהגדרת הרשאות:
chmod 700 ~/.sshעוברים לספרייה
.ssh:cd ~/.sshיוצרים את הקובץ
authorized_keys:touch authorized_keysהגדרת הרשאות:
chmod 600 authorized_keys
בכלי לעריכת טקסט שאתם מעדיפים, מוסיפים לקובץ authorized_keys את מפתח ה-SSH שקיבלתם מהאנליסט של Looker. המפתח חייב להיות כולו בשורה אחת. במקרים מסוימים, כשמאחזרים את המפתח מהאימייל, תוכנת האימייל מוסיפה מעברי שורה. אם לא תסירו אותם, לא תוכלו ליצור את מנהרת ה-SSH.
מוסיפים את ssh-rsa לקובץ sshd_config
ב-OpenSSH, האפשרות ssh-rsa מושבתת כברירת מחדל, מה שעלול לגרום לשגיאות בהגדרת מנהרת SSH. כדי לפתור את הבעיה, צריך להוסיף את ssh-rsa לרשימת האלגוריתמים המקובלים של השרת. כך עושים זאת:
- עורכים את הקובץ
sshd_config. בדרך כלל אפשר למצוא את זה בכתובת~/etc/ssh/sshd_config. מוסיפים לקובץ
sshd_configאת הנתונים הבאים:HostKeyAlgorithms +ssh-rsa PubKeyAcceptedAlgorithms +ssh-rsa
הגדרת MTU ב-Redshift
משתמשי Amazon Redshift צריכים להגדיר את לקוח Redshift ואת שרת ה-SSH שלהם ל-MTU של 1,500.
הערות אבטחה של המנהרה
כשמנהרת SSH מסתיימת בשרת של מסד הנתונים, החיבור מ-Looker נראה כמו חיבור מקומי בשרת של מסד הנתונים. לכן, הוא עוקף את מנגנוני האבטחה שמבוססים על חיבורים ומובנים בפלטפורמות של מסדי נתונים כמו MySQL. לדוגמה, נפוץ מאוד שניתנת גישה מקומית למשתמש root ללא סיסמה.
כברירת מחדל, פתיחת הגישה ל-SSH מאפשרת גם העברה של כל היציאות, תוך עקיפת חומות האש בין Looker לבין מארח מסד הנתונים שמסיים את מנהרת ה-SSH. יכול להיות שסיכון האבטחה הזה ייחשב כבלתי קביל. אפשר לשלוט בהעברה ליציאה אחרת וביכולת להתחבר לשרת המנהרה באמצעות הגדרה נכונה של הרשומה .ssh/authorized_keys למפתח הציבורי של Looker.
לדוגמה, אפשר להוסיף את הטקסט הבא לפני מפתח ה-SSH של Looker בקובץ authorized_keys. שימו לב שחובה להתאים אישית את הטקסט הזה לסביבה שלכם.
no-pty,no-X11-forwarding,permitopen="localhost:3306",permitopen="localhost:3307",
command="/bin/echo Login Not Permitted"
לדוגמאות ולפרטים מלאים, אפשר לעיין במסמכי התיעוד של Linux בנושא man ssh ו-man authorized_keys.
השלבים הבאים
אם הכרטיסייה SSH Servers מופעלת במכונה שלכם, חוזרים אל הדף Add SSH Server ובוחרים באפשרות Test & Request Fingerprint כדי לאמת את החיבור לשרת ה-SSH. ב-Looker יופיע מסך עם הגדרת ה-SSH החדשה ואפשרויות להורדה או לצפייה במפתח הציבורי, ולצפייה בטביעת האצבע הייחודית של הגדרת שרת ה-SSH.
אחר כך, בדף Connection Settings של מסד הנתונים:
- מפעילים את המתג שרת SSH ובוחרים את הגדרת שרת ה-SSH מהרשימה הנפתחת.
- בשדות מארח מרוחק ויציאה, מזינים את כתובת ה-IP או את שם המארח ומספר היציאה של מסד הנתונים.
אם אתם מגדירים את מנהרת ה-SSH בעזרת מנתח נתונים של Looker, הודיעו לו שאתם מוכנים לבדוק את מנהרת ה-SSH. אחרי שהם יאשרו שהמנהרה נוצרה, הם יספקו לכם את מספר היציאה של מנהרת ה-SSH בצד של Looker.
אחר כך, בדף Connection Settings של מסד הנתונים:
- מזינים את הערך
localhostבשדה מארח מרוחק. - בשדה Port, מזינים את מספר היציאה של מנהרת ה-SSH בצד של Looker, שסופק על ידי מנתח הנתונים של Looker.
משביתים את האפשרות Verify SSL Cert בדף Connections של מסד הנתונים.
אין תמיכה באישורי SSL כשמגדירים מנהרת SSH למסד הנתונים מ-Looker. במקום זאת, מפתח ה-SSH שהוספתם בשלב 4 מספק את אבטחת לחיצת היד בין Looker למסד הנתונים.