Tunneling SSH di aplikasi Anda

097b349ab1d78c15744c3a89ff457939

Menggunakan tunneling SSH untuk mengamankan koneksi MySQL

   Artikel ini didedikasikan untuk mengamankan koneksi klien-server MySQL menggunakan fungsionalitas yang disediakan oleh protokol Secure Shell (SSH). Tepatnya, konsep tunneling SSH digunakan. Kami akan meninjau langkah-langkah yang diperlukan untuk membangun aplikasi klien MySQL yang aman dan mengimplementasikannya sendiri.
   Lalu lintas MySQL bukan satu-satunya jenis data yang dapat disalurkan oleh Secure Shell. SSH dapat digunakan untuk mengamankan protokol berbasis TCP lapisan aplikasi apa pun, seperti HTTP, SMTP, dan POP3. Jika aplikasi Anda perlu mengamankan protokol semacam itu dengan menyalurkannya melalui koneksi SSH yang dilindungi, artikel ini akan bermanfaat bagi Anda.

   Latar belakang

   Bayangkan kita sedang mengembangkan aplikasi perusahaan yang perlu mengirim permintaan ke sejumlah server SQL di seluruh dunia dan mendapatkan tanggapan dari mereka (bayangkan itu adalah sistem bank yang sangat kuat yang menyimpan informasi tentang jutaan akun).
 
   Semua data antara aplikasi dan server SQL ditransfer melalui Internet “sebagaimana adanya”. Karena sebagian besar protokol yang digunakan oleh server SQL tidak memberikan integritas dan kerahasiaan data (dan mereka yang melakukannya, melakukannya dengan cara yang tidak transparan), semua permintaan dan tanggapan yang ditransfer mungkin (dan pasti, mereka akan!) Menjadi terlihat oleh pasif musuh. Musuh yang aktif dapat menyebabkan masalah yang jauh lebih serius – dia dapat mengubah data dan tidak ada yang akan mendeteksinya!
   SSH (Secure Shell) adalah protokol yang dapat membantu mengatasi masalah ini. Salah satu fiturnya yang luar biasa adalah kemampuannya untuk menyalurkan berbagai jenis koneksi melalui satu koneksi yang aman dan terlindungi integritasnya.Sekarang Anda tidak perlu khawatir untuk mengamankan data yang ditransfer melalui Internet – SSH akan menanganinya untuk Anda. Secara khusus, SSH akan menangani aspek keamanan berikut:
 

Enkripsi data yang kuat sesuai dengan algoritme standar industri terbaru (AES, Twofish)

  • Otentikasi komputer klien dan server
  • Perlindungan integritas data
  • Stabilitas sehubungan dengan berbagai jenis serangan jaringan
  • Kompresi data yang sedang disalurkan
  • Kemandirian penuh dari sistem operasi dan spesifikasi jaringan
   Tunneling (atau penerusan) bekerja dengan cara berikut:
       Klien SSH membuka port mendengarkan pada beberapa antarmuka jaringan lokal dan memberi tahu server SSH bahwa dia ingin meneruskan semua koneksi yang diterima pada port ini ke beberapa host jarak jauh.
Ketika koneksi lain diterima di port mendengarkan, klien SSH memberi tahu server SSH tentang fakta ini dan mereka bersama-sama membuat terowongan logis untuk itu. Pada saat yang sama, server SSH membuat koneksi TCP baru ke host jarak jauh yang telah disepakati di langkah 
1.Klien SSH mengenkripsi semua data yang diterimanya dari koneksi yang diterima dan mengirimkannya ke server SSH. Server SSH mendekripsi data yang diterima dari klien SSH dan mengirimkannya ke host jarak jauh. Harap dicatat, bahwa klien SSH bertindak sebagai server TCP untuk koneksi yang diterimanya, dan server SSH bertindak sebagai klien TCP untuk koneksi yang dibuatnya ke host jarak jauh.
Satu koneksi SSH dapat menyalurkan sebanyak mungkin koneksi lapisan aplikasi sesuai kebutuhan. Ini berarti bahwa Anda dapat mempertahankan server Anda dengan memindahkan semua port mendengarkan (misalnya, database dan port server aplikasi) ke jaringan lokal, sehingga hanya port SSH yang terbuka. Jauh lebih mudah untuk mengurus satu port, daripada selusin port mendengarkan yang berbeda.
   Mari kembangkan aplikasi kecil yang mengilustrasikan penggunaan kemampuan penerusan SSH. Kami akan mempertimbangkan tugas penting untuk mengamankan koneksi antara aplikasi klien MySQL dan server MySQL. Bayangkan kita perlu mendapatkan informasi dari server basis data, yang terletak seribu mil jauhnya dari kita, dengan cara yang aman.
 BACA JUGA 

enterprise call center software

free paraphrasing tool

google survei berhadiah

   SecureMySQLClient adalah aplikasi yang kami rencanakan untuk diterapkan. Ini termasuk modul-modul berikut:

Modul sisi klien SSH dengan kemampuan penerusan
Modul sisi klien MySQL Antarmuka pengguna untuk mengonfigurasi pengaturan aplikasi dan menampilkan hasil kueri. Server SSH berjalan di jaringan jarak jauh dan terlihat dari Internet. Server database (MySQL) berjalan di jaringan yang sama dengan server SSH dan mungkin tidak terlihat dari Internet.
 

   Proses melakukan pertukaran data aman antara SecureMySQLClient dan server Database berjalan sebagai berikut:

Modul klien SSH menegosiasikan koneksi aman ke server SSH dan menetapkan penerusan dari beberapa port lokal ke server MySQL jarak jauh.Modul klien MySQL terhubung ke port mendengarkan yang dibuka oleh modul klien SSH. Klien dan server SSH menyiapkan terowongan logis untuk koneksi yang diterima. Klien MySQL mengirim SELECT ke port yang dibuka oleh mod klien SSH
 

Bagikan:

Tags:

Tinggalkan komentar