Menggunakan tunnel SSH

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

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

Langkah 1: Pilih host tempat tunnel akan dihentikan

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

Menggunakan server database

Jika Anda tidak menggunakan server tunnel, Looker akan terhubung langsung ke server database melalui tunnel SSH melalui internet publik. Mengakhiri di database memiliki keunggulan kesederhanaan. Hanya ada satu host yang terlibat, sehingga tidak ada mesin tambahan dan biaya terkaitnya. Opsi ini mungkin tidak dapat dilakukan jika server database Anda berada di jaringan terlindungi yang tidak memiliki akses langsung dari Internet.

Menggunakan server tunnel

Saat Anda menggunakan server tunnel, Looker akan terhubung ke server database melalui server tunnel terpisah di jaringan yang dibatasi. Mengakhiri tunnel di server terpisah memiliki keunggulan untuk menjaga server database Anda agar tidak dapat diakses dari Internet. Jika server tunnel disusupi, server tersebut akan dihapus satu langkah dari server database. Sebaiknya hapus semua software dan pengguna yang tidak penting dari server tunnel dan pantau dengan cermat menggunakan 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 untuk menjangkau server tunnel atau host database melalui SSH, yang biasanya 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, negara 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 mengetahui daftar lengkap alamat IP untuk instance yang dihosting di Google Cloud

Moncks Corner, South Carolina, Amerika Serikat (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, Northern Virginia, 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

The Dalles, Oregon, Amerika Serikat (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

Changhua County, 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 mengetahui 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

Amerika Serikat 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 mengetahui daftar lengkap alamat IP untuk instance yang dihosting di Microsoft Azure

Virginia, Amerika Serikat (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 mengetahui 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 Server SSH diaktifkan, ikuti petunjuk di halaman ini untuk menambahkan informasi konfigurasi server SSH Anda ke Looker.

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

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

Kemudian, pilih Tambahkan Server. Looker akan menampilkan halaman Tambahkan Server SSH:

  1. Masukkan nama untuk konfigurasi server SSH.
  2. Pilih Download Kunci untuk mendownload kunci publik ke file teks. Pastikan untuk menyimpan file ini, karena Anda nanti harus menambahkan kunci publik ke file kunci yang diotorisasi di server SSH.
  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: Siapkan 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 di 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 kepada Anda.

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

  1. Di command line, buat grup bernama looker:

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

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

    sudo su - looker
    
  4. Buat direktori .ssh:

    mkdir ~/.ssh
    
  5. Tetapkan izin:

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

    cd ~/.ssh
    
  7. Buat file authorized_keys:

    touch authorized_keys
    
  8. Tetapkan izin:

    chmod 600 authorized_keys
    

Dengan menggunakan editor teks favorit Anda, tambahkan kunci SSH yang diberikan oleh analis Looker ke file authorized_keys. Kunci harus berada di satu baris. Dalam beberapa kasus, saat Anda mengambil kunci dari email, jeda baris akan disisipkan oleh program email Anda. Jika Anda tidak menghapusnya, Anda tidak akan dapat membuat tunnel SSH.

Menambahkan ssh-rsa ke file sshd_config

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

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

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Catatan keamanan tunnel

Saat tunnel SSH dihentikan di server database, koneksi dari Looker akan tampak sebagai koneksi lokal di server database. Oleh karena itu, mekanisme keamanan berbasis koneksi yang terintegrasi dalam platform database seperti MySQL akan dikalahkan. Misalnya, akses lokal sering kali diberikan kepada pengguna root tanpa sandi.

Secara default, membuka akses SSH juga memungkinkan penerusan port apa pun, sehingga 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 di awal kunci SSH Looker dalam file authorized_keys Anda. Perhatikan bahwa teks ini HARUS disesuaikan untuk 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 untuk mengetahui contoh dan detail selengkapnya.

Langkah berikutnya

Jika tab SSH Servers diaktifkan di instance Anda, kembali ke halaman Add SSH Server, lalu pilih Test & Request Fingerprint untuk memverifikasi koneksi Anda ke server SSH. Looker akan menampilkan layar dengan konfigurasi SSH baru dan opsi untuk mendownload atau melihat kunci publik, serta untuk melihat sidik jari unik konfigurasi server SSH.

Kemudian, di halaman Setelan Koneksi database Anda:

  1. Aktifkan tombol SSH Server, lalu pilih konfigurasi server SSH Anda 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 mengonfirmasi bahwa tunnel telah dibuat, mereka akan memberi Anda nomor port untuk sisi Looker dari tunnel SSH.

Kemudian, di halaman Setelan Koneksi 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 di langkah 4 memberikan keamanan handshake antara Looker dan database Anda.