שימוש במנהרת SSH

כדי להצפין את הנתונים בין Looker למסד הנתונים ברמה הגבוהה ביותר, אתם יכולים ליצור מנהרת SSH לשרת מנהרה או לשרת של מסד הנתונים עצמו.

שלב 1: בוחרים מארח שבו רוצים לסיים את המנהרה

השלב הראשון בהגדרת הגישה למנהרת SSH למסד הנתונים הוא לבחור את המארח שישמש לסיום המנהרה. אפשר לסיים את המנהרה במארח של מסד הנתונים עצמו או במארח נפרד (שרת המנהרה).

שימוש בשרת של מסד הנתונים

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

שימוש בשרת מנהרה (tunnel server)

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

שרת המנהרה יכול להיות כל מארח של Unix או Linux ש:

  1. אפשר לגשת אליו מהאינטרנט באמצעות SSH
  2. יכולת לגשת למסד הנתונים

שלב 2: יצירת רשימת היתרים של כתובות IP

השלב השני הוא לאפשר לתנועה ברשת להגיע לשרת המנהרה או למארח מסד הנתונים דרך SSH, שבדרך כלל נמצא ביציאת TCP‏ 22.

צריך לאפשר תנועה ברשת מכל אחת מכתובות ה-IP שמופיעות כאן לאזור שבו מארחים את המכונה של Looker. כברירת מחדל, המדינה תהיה ארצות הברית.

מכונות שמתארחות ב- Google Cloud

מופעים שמתארחים ב-Looker מתארחים ב- Google Cloud כברירת מחדל. במכונות שמתארחות ב- Google Cloud, מוסיפים לרשימת ההיתרים את כתובות ה-IP שתואמות לאזור שלכם.

כאן אפשר למצוא רשימה מלאה של כתובות ה-IP של המכונות שמתארחות ב- Google Cloud

מונקס קורנר, קרוליינה הדרומית, ארה"ב (us-east1)

  • 34.23.50.137
  • 35.211.210.64
  • 35.211.95.55
  • 35.185.59.100
  • 34.111.239.102
  • 35.237.174.17
  • 34.73.200.235
  • 35.237.168.216
  • 34.75.58.123
  • 35.196.30.110
  • 35.243.254.166

אשבורן, צפון וירג'יניה, ארה"ב (us-east4)

  • 34.150.212.9
  • 34.150.174.54
  • 34.85.200.217
  • 35.221.30.177
  • 35.245.82.73
  • 34.86.214.226
  • 35.245.177.112
  • 35.245.211.109
  • 34.86.118.239
  • 34.86.136.190
  • 35.194.74.185
  • 34.86.52.188
  • 35.221.3.163
  • 35.221.62.218
  • 34.86.34.135
  • 35.236.240.168
  • 35.199.50.237
  • 34.145.252.255
  • 35.245.141.42
  • 35.245.20.16
  • 34.145.147.146
  • 34.145.139.22
  • 34.150.217.20
  • 35.199.35.176
  • 35.245.72.35
  • 34.85.187.175
  • 35.236.220.225
  • 34.150.180.94
  • 4.85.195.168
  • 34.86.126.124
  • 34.145.200.8
  • 34.85.142.95
  • 34.150.217.96
  • 35.245.140.36
  • 34.86.124.234
  • 35.194.69.239
  • 35.230.163.26
  • 35.186.187.48
  • 34.86.154.134
  • 34.85.128.250
  • 35.245.212.212
  • 35.245.74.75
  • 34.86.246.187
  • 34.86.241.216
  • 34.85.222.9
  • 34.86.171.127
  • 34.145.204.106
  • 34.150.252.169
  • 35.245.9.213

קאונסיל בלאפס, איווה, ארה"ב (us-central1)

  • 104.154.21.231
  • 35.192.130.126
  • 35.184.100.51
  • 34.70.128.74
  • 34.69.207.176
  • 35.239.118.197
  • 34.172.2.227
  • 34.71.191.210
  • 34.173.109.50
  • 35.225.65.3
  • 34.170.192.190
  • 34.27.97.67
  • 35.184.118.155
  • 34.27.58.160
  • 34.136.4.153
  • 35.184.8.255
  • 35.222.218.140
  • 34.123.109.49
  • 34.67.240.23
  • 104.197.72.40
  • 34.72.128.33
  • 35.226.158.66
  • 34.134.4.91
  • 35.226.210.85

דה דיילס, אורגון, ארה"ב (us-west1)

  • 34.127.41.199
  • 34.82.57.225
  • 35.197.66.244
  • 35.197.64.57
  • 34.82.193.215
  • 35.247.117.0
  • 35.233.222.226
  • 34.82.120.25
  • 35.247.5.99
  • 35.247.61.151
  • 35.233.249.160
  • 35.233.172.23
  • 35.247.55.33
  • 34.83.138.105
  • 35.203.184.48
  • 34.83.94.151
  • 34.145.90.83
  • 34.127.116.85
  • 35.197.35.188
  • 34.105.127.122
  • 35.233.191.84
  • 34.145.93.130
  • 35.233.178.166
  • 34.105.18.120
  • 104.199.118.14
  • 35.185.228.216
  • 34.145.16.151
  • 34.82.91.75
  • 34.82.142.245
  • 34.105.35.19
  • 34.83.231.96
  • 34.168.230.47
  • 35.247.46.214
  • 34.105.44.25
  • 35.185.196.75
  • 34.145.39.113
  • 34.168.121.44

לוס אנג'לס, קליפורניה, ארה"ב (us-west2)

  • 35.236.22.77
  • 35.235.83.177
  • 35.236.51.71

מונטריאול, קוויבק, קנדה (northamerica-northeast1)

  • 35.234.253.103
  • 35.203.46.255
  • 34.152.60.210
  • 35.203.0.6
  • 35.234.252.150
  • 35.203.96.235
  • 34.152.34.229
  • 34.118.131.36
  • 35.203.113.51

לונדון, אנגליה, בריטניה (europe-west2)

  • 34.105.198.151
  • 35.246.117.58
  • 34.142.123.96
  • 34.89.124.139
  • 34.89.127.51
  • 34.105.209.44
  • 35.242.138.133
  • 35.197.222.220
  • 35.189.111.173
  • 34.105.219.154
  • 34.105.181.133
  • 34.89.25.5
  • 35.246.10.206
  • 34.105.131.133
  • 34.142.77.18
  • 34.89.54.84
  • 35.189.94.105
  • 35.246.36.67
  • 35.234.140.77
  • 35.242.174.158
  • 35.197.199.20
  • 34.89.3.120
  • 34.105.156.107
  • 35.246.79.72
  • 34.105.139.38
  • 34.105.147.157
  • 34.105.195.129
  • 34.105.194.210
  • 34.142.79.123
  • 34.142.55.58
  • 34.142.85.249
  • 34.105.148.38
  • 35.246.100.66
  • 35.246.3.165
  • 34.105.176.209
  • 35.189.95.167
  • 34.89.55.2

פרנקפורט, גרמניה (europe-west3)

  • 35.242.243.255
  • 34.159.247.211
  • 35.198.128.126
  • 34.159.10.59
  • 34.159.72.77
  • 34.159.224.187
  • 34.89.159.138
  • 34.159.253.103
  • 34.159.244.43
  • 35.246.162.187
  • 34.89.141.190
  • 34.159.65.106
  • 34.159.197.31
  • 34.89.194.134
  • 34.159.252.155
  • 34.141.65.216
  • 34.159.124.62
  • 35.246.130.213
  • 34.89.206.21
  • 34.89.185.201
  • 34.159.171.46
  • 35.246.217.228
  • 35.242.236.115
  • 34.159.148.253

מומבאי, הודו (asia-south1)

  • 35.200.234.34
  • 34.100.205.37
  • 34.93.225.12
  • 34.93.221.137
  • 35.244.24.198
  • 35.244.52.179

איימסהאבן, הולנד (europe-west4)

  • 35.204.118.28
  • 35.204.216.7
  • 34.90.52.191
  • 35.204.176.29
  • 34.90.199.95
  • 34.90.145.226
  • 34.141.162.7
  • 35.204.56.189
  • 35.204.11.229
  • 34.34.66.131
  • 34.32.195.89
  • 34.32.173.138

מחוז צ'אנגחואה, טייוואן (asia-east1)

  • 104.199.206.209
  • 34.80.173.212
  • 35.185.137.114

טוקיו, יפן (asia-northeast1)

  • 34.85.3.198
  • 34.146.68.203
  • 34.84.4.218

ג'ורונג מערב, סינגפור (asia-southeast1)

  • 34.143.210.116
  • 34.143.132.206
  • 34.87.134.202
  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

ג'קרטה, אינדונזיה (asia-southeast2)

  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

סידני, אוסטרליה (australia-southeast1)

  • 34.87.195.36
  • 34.116.85.140
  • 34.151.78.48
  • 35.189.13.29
  • 35.189.9.81
  • 35.244.68.217

אוזאסקו (סאו פאולו), ברזיל (southamerica-east1)

  • 34.151.199.201
  • 35.199.122.19
  • 34.95.180.122
  • 34.95.168.38
  • 34.151.235.241
  • 34.95.181.19
  • 35.199.91.120
  • 35.247.197.109
  • 35.199.86.48
  • 35.199.106.166
  • 35.198.1.191
  • 35.247.235.128
  • 35.247.211.2
  • 35.247.200.249
  • 34.95.177.253

מכונות שמתארחות ב-Amazon Elastic Kubernetes Service (Amazon EKS)

במכונות שמתארחות ב-Amazon EKS, צריך להוסיף לרשימת ההיתרים את כתובות ה-IP שתואמות לאזור שלכם.

כאן אפשר למצוא רשימה מלאה של כתובות IP של מכונות שמתארחות ב-Amazon EKS

מזרח ארה"ב (צפון וירג'יניה) (us-east-1)

  • 18.210.137.130
  • 54.204.171.253
  • 50.17.192.87
  • 54.92.246.223
  • 75.101.147.97
  • 18.235.225.163
  • 52.55.239.166
  • 52.86.109.68
  • 54.159.176.199
  • 3.230.52.220
  • 54.211.95.150
  • 52.55.10.236
  • 184.73.10.85
  • 52.203.92.114
  • 52.3.47.189
  • 52.7.255.54
  • 54.196.92.5
  • 52.204.125.244
  • 34.200.64.243
  • 18.206.32.254
  • 54.157.231.76
  • 54.162.175.244
  • 54.80.5.17
  • 35.168.173.238
  • 52.44.187.22
  • 18.213.96.40
  • 23.22.133.206
  • 34.239.90.169
  • 34.236.92.87
  • 3.220.81.241
  • 54.197.142.238
  • 34.200.121.56
  • 3.83.72.41
  • 54.159.42.144
  • 3.229.81.101
  • 34.225.255.220
  • 54.162.193.165
  • 34.235.77.117
  • 3.233.169.63
  • 54.87.86.113
  • 18.208.86.29
  • 52.44.90.201

מזרח ארה"ב (אוהיו) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

מערב ארה"ב (אורגון) (us-west-2)

  • 44.237.129.32
  • 54.184.191.250
  • 35.81.99.30

קנדה (מרכז) (ca-central-1)

  • 52.60.157.61
  • 35.182.169.25
  • 52.60.59.128
  • 35.182.207.128
  • 15.222.172.64
  • 3.97.27.51
  • 35.183.191.133
  • 15.222.86.123
  • 52.60.52.14

אירופה (אירלנד) (eu-west-1)

  • 54.74.243.246
  • 54.195.216.95
  • 54.170.208.67
  • 52.49.220.103
  • 52.31.69.117
  • 34.243.112.76
  • 52.210.85.110
  • 52.30.198.163
  • 34.249.159.112
  • 52.19.248.176
  • 54.220.245.171
  • 54.247.22.227
  • 176.34.116.197
  • 54.155.205.159
  • 52.16.81.139
  • 54.75.200.188
  • 34.248.52.4
  • 54.228.110.32
  • 34.248.104.98
  • 54.216.117.225
  • 52.50.172.40

אירופה (פרנקפורט) (eu-central-1)

  • 18.157.231.108
  • 18.157.207.33
  • 18.157.64.198
  • 18.198.116.133
  • 3.121.148.178
  • 3.126.54.154

אסיה ואזור האוקיינוס השקט (טוקיו) (ap-northeast-1)

  • 54.250.91.57
  • 13.112.30.110
  • 54.92.76.241
  • 52.68.245.25
  • 3.114.138.0
  • 54.249.39.36

אסיה ואזור האוקיינוס השקט (סידני) (ap-southeast-2)

  • 13.238.132.174
  • 3.105.238.71
  • 3.105.113.36

דרום אמריקה (סאו פאולו) (sa-east-1)

  • 54.232.58.181
  • 54.232.58.98
  • 177.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.167
  • 54.209.116.191
  • 52.1.5.228
  • 52.1.157.156
  • 54.83.113.5

קנדה

  • 99.79.117.127
  • 35.182.216.56

אסיה

  • 52.68.85.40
  • 52.68.108.109

אירלנד

  • 52.16.163.151
  • 52.16.174.170

גרמניה

  • 18.196.243.94
  • 18.184.246.171

אוסטרליה

  • 52.65.128.170
  • 52.65.124.87

דרום אמריקה

  • 52.67.8.103
  • 54.233.74.59

שלב 3: מנהרת SSH

אם הכרטיסייה SSH Servers מופעלת, פועלים לפי ההוראות שבדף הזה כדי להוסיף את פרטי ההגדרה של שרת ה-SSH ל-Looker.

בקטע Admin בדף Connections ב-Looker, לוחצים על הכרטיסייה שרת SSH.

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

  1. מזינים שם להגדרת שרת ה-SSH.
  2. לוחצים על הורדת המפתח כדי להוריד את המפתח הציבורי לקובץ טקסט. חשוב לשמור את הקובץ הזה, כי בהמשך תצטרכו להוסיף את המפתח הציבורי לקובץ המפתחות המורשים של שרת ה-SSH.
  3. מזינים את שם המשתמש שבו Looker ישתמש כדי להתחבר לשרת ה-SSH.
  4. מזינים את כתובת ה-IP או את שם המארח של שרת ה-SSH.
  5. מזינים את מספר היציאה שמשמשת לחיבור לשרת ה-SSH.

שלב 4: הכנת המארח של המנהרה

מוסיפים את המפתח הציבורי לקובץ authorized_keys

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

תצטרכו להכין את המארח (שרת מסד הנתונים או שרת המנהרה) על ידי יצירת משתמש looker והוספת המפתח הציבורי של Looker לקובץ .ssh/authorized_keys של Looker. כך עושים זאת:

  1. בשורת הפקודה, יוצרים קבוצה בשם looker:

    sudo groupadd looker
    
  2. יוצרים את המשתמש looker ואת ספריית הבית שלו:

    sudo useradd -m  -g looker  looker
    
  3. מעבר למשתמש looker:

    sudo su - looker
    
  4. יוצרים את הספרייה .ssh:

    mkdir ~/.ssh
    
  5. הגדרת הרשאות:

    chmod 700 ~/.ssh
    
  6. עוברים לספרייה .ssh:

    cd ~/.ssh
    
  7. יוצרים את הקובץ authorized_keys:

    touch authorized_keys
    
  8. הגדרת הרשאות:

    chmod 600 authorized_keys
    

בכלי לעריכת טקסט שאתם מעדיפים, מוסיפים לקובץ authorized_keys את מפתח ה-SSH שקיבלתם מהאנליסט של Looker. המפתח חייב להיות כולו בשורה אחת. במקרים מסוימים, כשמאחזרים את המפתח מהאימייל, תוכנת האימייל מוסיפה מעברי שורה. אם לא תסירו אותם, לא תוכלו ליצור את מנהרת ה-SSH.

מוסיפים את ssh-rsa לקובץ sshd_config

ב-OpenSSH, האפשרות ssh-rsa מושבתת כברירת מחדל, מה שעלול לגרום לשגיאות בהגדרת מנהרת SSH. כדי לפתור את הבעיה, צריך להוסיף את ssh-rsa לרשימת האלגוריתמים המקובלים של השרת. כך עושים זאת:

  1. עורכים את הקובץ sshd_config. בדרך כלל אפשר למצוא את זה בכתובת ~/etc/ssh/sshd_config.
  2. מוסיפים לקובץ 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 של מסד הנתונים:

  1. מפעילים את המתג שרת SSH ובוחרים את הגדרת שרת ה-SSH מהרשימה הנפתחת.
  2. בשדות מארח מרוחק ויציאה, מזינים את כתובת ה-IP או את שם המארח ומספר היציאה של מסד הנתונים.

אם אתם מגדירים את מנהרת ה-SSH בעזרת מנתח נתונים של Looker, הודיעו לו שאתם מוכנים לבדוק את מנהרת ה-SSH. אחרי שהם יאשרו שהמנהרה נוצרה, הם יספקו לכם את מספר היציאה של מנהרת ה-SSH בצד של Looker.

אחר כך, בדף Connection Settings של מסד הנתונים:

  1. מזינים את הערך localhost בשדה מארח מרוחק.
  2. בשדה Port, מזינים את מספר היציאה של מנהרת ה-SSH בצד של Looker, שסופק על ידי מנתח הנתונים של Looker.
  3. משביתים את האפשרות Verify SSL Cert בדף Connections של מסד הנתונים.

    אין תמיכה באישורי SSL כשמגדירים מנהרת SSH למסד הנתונים מ-Looker. במקום זאת, מפתח ה-SSH שהוספתם בשלב 4 מספק את אבטחת לחיצת היד בין Looker למסד הנתונים.