Menggunakan tunnel SSH

Untuk enkripsi terkuat antara Looker dan database, Anda dapat membuat tunnel SSH ke server tunnel atau server database itu sendiri.

Tunnel SSH tidak tersedia untuk database yang tidak memiliki alamat host tunggal, seperti database Google BigQuery dan Amazon Athena. Pengguna BigQuery dan Athena harus langsung menuju ke konfigurasi database.

Langkah 1: Pilih host untuk mengakhiri tunnel

Langkah pertama untuk menyiapkan akses tunnel SSH untuk database Anda adalah memilih host yang akan digunakan untuk menghentikan tunnel. Tunnel dapat dihentikan pada host database itu sendiri, atau pada host terpisah (server tunnel).

Menggunakan server {i>database<i}

Jika Anda tidak menggunakan server tunnel, Looker akan terhubung langsung ke server database Anda melalui tunnel SSH melalui internet publik. Penghentian database memiliki keuntungan yaitu kemudahan. Yang terlibat adalah satu {i>host<i} yang lebih sedikit, sehingga tidak ada mesin tambahan dan biaya-biaya terkaitnya. Opsi ini mungkin tidak memungkinkan jika server basis data Anda berada di jaringan yang dilindungi yang tidak memiliki akses langsung dari Internet.

Menggunakan server tunnel

Saat Anda menggunakan server tunnel, Looker akan terhubung ke server database Anda melalui server tunnel terpisah di jaringan yang dibatasi. Menghentikan tunnel di server terpisah memiliki keuntungan karena server database Anda tidak akan dapat diakses dari Internet. Jika server tunnel disusupi, satu langkah saja akan dihapus dari server database. Kami menyarankan Anda menghapus semua perangkat lunak dan pengguna yang tidak penting dari server tunnel dan memantaunya secara cermat dengan alat seperti IDS.

Server tunnel dapat berupa host Unix/Linux apa pun yang:

  1. Dapat diakses dari Internet menggunakan SSH
  2. Dapat mengakses database

Langkah 2: Buat daftar IP yang diizinkan

Langkah kedua adalah mengizinkan traffic jaringan menjangkau server tunnel atau host database melalui SSH, yang umumnya berada di port TCP 22.

Izinkan traffic jaringan dari setiap alamat IP yang tercantum di sini untuk region tempat instance Looker Anda dihosting. Secara default, ini adalah Amerika Serikat.

Instance yang dihosting di Google Cloud

Instance yang dihosting Looker dihosting di Google Cloud secara default. Untuk instance yang dihosting di Google Cloud, tambahkan alamat IP yang cocok dengan region Anda ke daftar yang diizinkan.

Klik di sini untuk melihat daftar lengkap alamat IP untuk instance yang dihosting di Google Cloud

Moncks Corner, South Carolina, AS (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

Ashburn, Virginia Utara, AS (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

Council Bluffs, Iowa, AS (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

Dalles, Oregon, AS (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

Los Angeles, California, AS (us-west2)

  • 35.236.22.77
  • 35.235.83.177
  • 35.236.51.71

Montréal, Québec, Kanada (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

London, Inggris, Inggris Raya (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

Frankfurt, Jerman (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

Mumbai, India (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

Eemshaven, Belanda (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

Provinsi Changhua, Taiwan (asia-east1)

  • 104.199.206.209
  • 34.80.173.212
  • 35.185.137.114

Tokyo, Jepang (asia-northeast1)

  • 34.85.3.198
  • 34.146.68.203
  • 34.84.4.218

Jurong West, Singapura (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

Jakarta, Indonesia (asia-southeast2)

  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

Sydney, Australia (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

Osasco (São Paulo), Brasil (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

Instance yang dihosting di Amazon Elastic Kubernetes Service (Amazon EKS)

Untuk instance yang dihosting di Amazon EKS, tambahkan alamat IP yang cocok dengan region Anda ke daftar yang diizinkan.

Klik di sini untuk melihat daftar lengkap alamat IP untuk instance yang dihosting di Amazon EKS

AS Timur (N. Virginia) (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

AS Timur (Ohio) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

AS Barat (Oregon) (us-west-2)

  • 44.237.129.32
  • 54.184.191.250
  • 35.81.99.30

Kanada (Tengah) (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

Eropa (Irlandia) (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

Eropa (Frankfurt) (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

Asia Pasifik (Tokyo) (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

Asia Pasifik (Sydney) (ap-southeast-2)

  • 13.238.132.174
  • 3.105.238.71
  • 3.105.113.36

Amerika Selatan (São Paulo) (sa-east-1)

  • 54.232.58.181
  • 54.232.58.98
  • 177.71.134.208

Instance yang dihosting di Microsoft Azure

Untuk instance yang dihosting di Azure, tambahkan alamat IP yang cocok dengan region Anda ke daftar yang diizinkan.

Klik di sini untuk melihat daftar lengkap alamat IP untuk instance yang dihosting di Microsoft Azure

Virginia, AS (us-east2)

  • 52.147.190.201

Hosting lama

Gunakan alamat IP ini untuk semua instance yang dihosting di AWS dan dibuat sebelum 07/07/2020.

Klik di sini untuk melihat daftar lengkap alamat IP untuk hosting lama

Amerika Serikat (default AWS)

  • 54.208.10.167
  • 54.209.116.191
  • 52.1.5.228
  • 52.1.157.156
  • 54.83.113.5

Kanada

  • 99.79.117.127
  • 35.182.216.56

Asia

  • 52.68.85.40
  • 52.68.108.109

Irlandia

  • 52.16.163.151
  • 52.16.174.170

Jerman

  • 18.196.243.94
  • 18.184.246.171

Australia

  • 52.65.128.170
  • 52.65.124.87

Amerika Selatan

  • 52.67.8.103
  • 54.233.74.59

Langkah 3: Tunneling SSH

Jika tab SSH Servers diaktifkan, ikuti petunjuk di halaman ini untuk menambahkan informasi konfigurasi server SSH ke Looker.

Opsi SSH Server tersedia jika instance di-deploy di infrastruktur Kubernetes, dan hanya jika kemampuan untuk menambahkan informasi konfigurasi server SSH ke instance Looker telah diaktifkan. Jika opsi ini tidak diaktifkan di instance Looker Anda dan Anda ingin mengaktifkannya, hubungi spesialis penjualan Google Cloud atau buka permintaan dukungan.

Di halaman Connections di bagian Admin Looker, pilih tab SSH Server.

Kemudian, pilih Add Server. Looker menampilkan halaman Add SSH Server:

  1. Masukkan nama untuk konfigurasi server SSH.
  2. Pilih Kunci Download untuk mendownload kunci publik ke file teks. Pastikan untuk menyimpan file ini, karena Anda akan perlu menambahkan kunci publik ke file kunci resmi server SSH Anda nanti.
  3. Masukkan nama pengguna yang akan digunakan Looker untuk terhubung ke server SSH.
  4. Masukkan alamat IP atau nama host server SSH.
  5. Masukkan nomor port yang digunakan untuk terhubung ke server SSH.

Langkah 4: Menyiapkan host tunnel

Tambahkan kunci publik ke file authorized_keys Anda

Untuk mengautentikasi sesi tunnel SSH, Looker memerlukan kunci publik unik (Looker tidak mendukung login dengan sandi). Jika tab SSH Servers diaktifkan pada instance, Anda dapat mendownload kunci publik ke file teks dengan memilih tombol Download Key saat memasukkan informasi konfigurasi SSH. Jika Anda mengonfigurasi tunnel SSH dengan bantuan analis Looker, analis Looker akan memberikan kunci publik unik.

Anda harus menyiapkan host (baik server database atau server tunnel) dengan membuat pengguna looker dan menambahkan kunci publik Looker ke file .ssh/authorized_keys Looker. Berikut ini caranya:

  1. Di command line, buat grup dengan nama looker:

    sudo groupadd looker
    
  2. Buat looker pengguna dan direktori utamanya:

    sudo useradd -m  -g looker  looker
    
  3. Beralih ke pengguna looker:

    sudo su - looker
    
  4. Buat direktori .ssh:

    mkdir ~/.ssh
    
  5. Setel izin:

    chmod 700 ~/.ssh
    
  6. Ubah ke direktori .ssh:

    cd ~/.ssh
    
  7. Buat file authorized_keys:

    touch authorized_keys
    
  8. Setel izin:

    chmod 600 authorized_keys
    

Dengan menggunakan editor teks favorit Anda, tambahkan kunci SSH yang disediakan oleh analis Looker Anda ke file authorized_keys. Kuncinya harus berada dalam satu baris. Dalam beberapa kasus, saat Anda mengambil kunci dari email, jeda baris akan disisipkan oleh program email Anda. Jika Anda tidak menghapusnya, maka tidak mungkin untuk membangun tunnel SSH.

Tambahkan ssh-rsa ke file sshd_config Anda

OpenSSH telah menonaktifkan ssh-rsa secara default, yang dapat menyebabkan error saat menyiapkan tunnel SSH. Untuk mengatasi hal ini, tambahkan ssh-rsa ke daftar algoritme yang diterima di server Anda. Berikut ini caranya:

  1. Edit file sshd_config Anda. Ini biasanya dapat ditemukan di ~/etc/ssh/sshd_config.
  2. Tambahkan berikut ini ke file sshd_config:

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Catatan keamanan tunnel

Saat tunnel SSH dihentikan di server database, koneksi dari Looker akan terlihat sebagai koneksi lokal di server database. Oleh karena itu, metode ini mengalahkan mekanisme keamanan berbasis koneksi yang dibangun ke dalam platform database seperti MySQL. Misalnya, sangat umum bagi akses lokal untuk diberikan kepada pengguna root tanpa sandi.

Secara default, membuka akses SSH juga memungkinkan penerusan port apa pun, yang mengakali firewall apa pun antara Looker dan host database yang menghentikan tunnel SSH. Risiko keamanan ini mungkin dianggap tidak dapat diterima. Penerusan port ini, dan kemampuan untuk login ke server tunnel, dapat dikontrol dengan mengonfigurasi entri .ssh/authorized_keys untuk kunci publik Looker dengan benar.

Misalnya, teks berikut dapat ditambahkan ke kunci SSH Looker di file authorized_keys Anda. Perhatikan bahwa teks ini HARUS disesuaikan dengan lingkungan Anda.

no-pty,no-X11-forwarding,permitopen="localhost:3306",permitopen="localhost:3307",
command="/bin/echo Login Not Permitted"

Lihat dokumentasi Linux man ssh dan man authorized_keys Linux untuk mengetahui contoh dan detail lengkapnya.

Langkah berikutnya

Jika tab SSH Servers diaktifkan pada instance Anda, kembali ke halaman Add SSH Server, lalu pilih Uji & Minta Sidik Jari untuk memverifikasi koneksi Anda ke server SSH. Looker akan menampilkan layar dengan konfigurasi SSH dan opsi baru untuk mendownload atau melihat kunci publik, serta untuk melihat sidik jari unik dari konfigurasi server SSH.

Kemudian, di halaman Connection Settings database Anda:

  1. Aktifkan tombol SSH Server, lalu pilih konfigurasi server SSH dari menu drop-down.
  2. Di kolom Remote Host dan Port, masukkan alamat IP atau nama host dan nomor port database Anda.

Koneksi database yang menggunakan tunnel SSH tidak dapat menerapkan atribut pengguna ke kolom Host Jarak Jauh dan Port.

Jika Anda mengonfigurasi tunnel SSH dengan bantuan analis Looker, beri tahu analis Looker bahwa Anda siap menguji tunnel SSH. Setelah mereka mengonfirmasi bahwa tunnel telah dibuat, mereka akan memberi Anda nomor port untuk sisi Looker dari tunnel SSH.

Kemudian, di halaman Connection Settings database Anda:

  1. Masukkan localhost di kolom Remote Host.
  2. Di kolom Port, masukkan nomor port untuk sisi Looker dari tunnel SSH yang disediakan oleh analis Looker Anda.
  3. Nonaktifkan Verify SSL Cert di halaman Connections database Anda.

    Sertifikat SSL tidak didukung saat menyiapkan tunnel SSH ke database Anda dari Looker. Sebagai gantinya, kunci SSH yang Anda tambahkan pada langkah 4 akan memberikan keamanan handshake antara Looker dan database Anda.