Menggunakan tunnel SSH

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

Langkah 1: Pilih host tempat tunnel akan dihentikan

Langkah pertama untuk menyiapkan akses tunnel SSH ke 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 Anda melalui tunnel SSH di internet publik. Mengakhiri di database memiliki keunggulan kesederhanaan. Satu host lebih sedikit, sehingga tidak ada mesin tambahan dan biaya terkaitnya. Opsi ini mungkin tidak dapat dilakukan jika server database Anda berada di jaringan yang dilindungi yang tidak memiliki akses langsung dari Internet.

Menggunakan server tunnel

Saat Anda menggunakan server tunnel, Looker terhubung ke server database Anda melalui server tunnel terpisah di jaringan yang dibatasi. Menghentikan tunnel di server terpisah memiliki keuntungan karena membuat server database Anda tidak dapat diakses dari Internet. Jika server tunnel disusupi, server tersebut akan dihapus dari server database. Sebaiknya Anda menghapus semua software dan pengguna yang tidak penting dari server tunnel dan memantaunya dengan cermat menggunakan alat seperti IDS.

Server tunnel dapat berupa host Unix atau Linux 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 mencapai 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, 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, 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

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 wilayah Anda ke daftar yang diizinkan.

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

US East (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

US East (Ohio) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

US West (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, AS (us-east2)

  • 52.147.190.201

Hosting lama

Gunakan alamat IP ini untuk semua instance yang dihosting di AWS dan yang 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.

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

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

  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 harus 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: 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, Anda dapat mendownload kunci publik ke file teks dengan memilih tombol Download Key saat Anda memasukkan informasi konfigurasi SSH. Jika Anda mengonfigurasi tunnel SSH dengan bantuan analis Looker, analis Looker akan memberi Anda kunci publik yang unik.

Anda harus menyiapkan host (baik server database maupun 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 home-nya:

    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 Anda ke file authorized_keys. Kunci harus berada dalam satu baris. Dalam beberapa kasus, saat Anda mengambil kunci dari email, jeda baris akan dimasukkan oleh program email Anda. Jika Anda tidak menghapusnya, tunnel SSH tidak akan dapat dibuat.

Tambahkan ssh-rsa ke file sshd_config Anda

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. 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 tampak seperti koneksi lokal di server database. Oleh karena itu, hal ini mengalahkan mekanisme keamanan berbasis koneksi yang dibangun ke dalam platform database seperti MySQL. Misalnya, akses lokal sering kali diberikan kepada pengguna root tanpa sandi.

Secara default, membuka akses SSH juga memungkinkan penerusan port apa pun, sehingga menghindari 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 Anda, dapat dikontrol dengan mengonfigurasi entri .ssh/authorized_keys dengan benar untuk kunci publik Looker.

Misalnya, teks berikut dapat ditambahkan ke 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 Server SSH diaktifkan di instance Anda, kembali ke halaman Tambahkan Server SSH, lalu pilih Uji & Minta Sidik Jari 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 dari konfigurasi server SSH.

Kemudian, di halaman Setelan Koneksi database Anda:

  1. Aktifkan tombol SSH Server dan 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.

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 Verifikasi Sertifikat SSL di halaman Koneksi 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 menyediakan keamanan handshake antara Looker dan database Anda.