Penggunaan Pelayan Linux & Penguasaan SSH · Pelajaran

Melindungi Sambungan Pangkalan Data

Konfigurasikan sambungan selamat ke pangkalan data Anda menggunakan SSL/TLS dan hadkan akses berdasarkan alamat IP untuk meningkatkan keselamatan.

Pelajaran 3 daripada 412 langkah

Melindungi Sambungan Pangkalan Data ialah pelajaran Penggunaan Pelayan Linux & Penguasaan SSH percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Penggunaan Pelayan Linux & Penguasaan SSH, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Penggunaan Pelayan Linux & Penguasaan SSH merangkumi sejumlah 4 pelajaran.

Mengapa Melindungi Sambungan Pangkalan Data?

Apabila aplikasi anda menyambung kepada pangkalan data, data sensitif sering dihantar melalui rangkaian. Tanpa keselamatan yang betul, data ini boleh dipintas atau diubah suai.

  • Kerahsiaan: Menghalang paparan data tanpa kebenaran.
  • Integriti: Memastikan data tidak diubah semasa penghantaran.
  • Pengesahan: Mengesahkan identiti klien dan pelayan.

Pelajaran ini memfokuskan pada dua kaedah utama: penyulitan SSL/TLS dan sekatan akses berasaskan IP.

Memahami SSL/TLS untuk Pangkalan Data

SSL/TLS (Secure Sockets Layer/Transport Layer Security) ialah teknologi standard untuk mewujudkan pautan yang disulitkan antara pelayan web dan klien (atau dalam kes kita, antara pelayan pangkalan data dan klien).

  • Teknologi ini menyulitkan semua data yang ditukar bagi melindunginya daripada pengintipan.
  • Teknologi ini menggunakan sijil digital untuk mengesahkan identiti pelayan (dan, secara pilihan, klien).
  • Teknologi ini penting untuk melindungi data seperti kata laluan, butiran kewangan dan maklumat peribadi semasa penghantaran.

Menjana Sijil SSL/TLS

Untuk menggunakan SSL/TLS, pelayan pangkalan data anda memerlukan sijil digital dan kunci peribadi. Kedua-duanya membuktikan identiti pelayan.

  • Sijil ditandatangani sendiri: Paling mudah dicipta untuk ujian atau rangkaian dalaman, tetapi tidak dipercayai secara lalai.
  • Sijil ditandatangani CA: Dikeluarkan oleh Pihak Berkuasa Sijil (CA) dan dipercayai secara global, sesuai untuk persekitaran pengeluaran.

Untuk pelajaran ini, kita menganggap anda telah menyediakan sijil pelayan (server.crt) dan kunci peribadi (server.key).

PostgreSQL: Mendayakan SSL

Untuk mendayakan SSL dalam PostgreSQL, anda perlu mengedit fail postgresql.conf. Fail ini memberitahu pelayan supaya mendengar sambungan selamat dan menunjukkan lokasi sijil anda.

Parameter utama:

  • ssl = on: Menghidupkan SSL.
  • ssl_cert_file: Laluan ke sijil pelayan anda.
  • ssl_key_file: Laluan ke kunci peribadi pelayan anda.

Selepas membuat perubahan, mulakan semula PostgreSQL.

# Snippet from postgresql.conf

ssl = on
ssl_cert_file = '/etc/ssl/certs/postgresql/server.crt'
ssl_key_file = '/etc/ssl/private/postgresql/server.key'
ssl_crl_file = '' # Optional: Certificate Revocation List

# Remember to restart PostgreSQL after changes!

MySQL: Mendayakan SSL/TLS

Untuk MySQL, anda akan mengkonfigurasi SSL/TLS dalam fail my.cnf (atau my.ini pada Windows), biasanya dalam bahagian [mysqld].

Anda menentukan laluan ke sijil pelayan, kunci peribadi dan, secara pilihan, sijil Certificate Authority (CA) jika anda menggunakannya untuk mengesahkan sijil klien.

Selepas membuat perubahan, mulakan semula perkhidmatan MySQL agar perubahan berkuat kuasa.

# Snippet from my.cnf

[mysqld]
ssl_ca = /etc/mysql/certs/ca.pem
ssl_cert = /etc/mysql/certs/server-cert.pem
ssl_key = /etc/mysql/certs/server-key.pem

# Restart MySQL after changes!

Sambungan Klien dengan SSL/TLS

Setelah pelayan dikonfigurasi, klien perlu diarahkan untuk menggunakan SSL/TLS semasa menyambung. Hal ini biasanya melibatkan penentuan pilihan SSL dalam rentetan sambungan atau arahan.

Berikut ialah contoh menggunakan klien psql untuk PostgreSQL, dengan mod SSL ditetapkan secara jelas sebagai wajib:

  • sslmode=require: Memaksa sambungan SSL.
  • sslrootcert: Laluan ke sijil CA untuk pengesahan pelayan.
psql "host=your_db_host user=your_user dbname=your_db \
  sslmode=require sslrootcert=/path/to/ca.crt"

Mengehadkan Akses Mengikut Alamat IP

Selain penyulitan, mengehadkan akses berdasarkan alamat IP klien ialah amalan keselamatan asas. Hal ini memastikan hanya mesin yang dipercayai boleh cuba menyambung ke pangkalan data anda.

Anda boleh mengkonfigurasikannya:

  • Pada peringkat pelayan pangkalan data (contohnya, pg_hba.conf PostgreSQL atau pernyataan GRANT MySQL).
  • Menggunakan tembok api (seperti UFW atau firewalld) untuk menyekat trafik ke port pangkalan data daripada IP yang tidak dibenarkan.

Menggabungkan kedua-dua kaedah ini memberikan pertahanan berlapis.

PostgreSQL: Sekatan IP dengan pg_hba.conf

PostgreSQL menggunakan fail pg_hba.conf untuk pengesahan berasaskan hos. Setiap baris menentukan jenis sambungan, pangkalan data, pengguna dan alamat IP yang dibenarkan.

Medan umum:

  • TYPE: host (TCP/IP), local (soket Unix).
  • DATABASE: all, nama pangkalan data tertentu.
  • USER: all, pengguna tertentu.
  • ADDRESS: Julat IP (contohnya, 192.168.1.0/24) atau satu IP.
  • METHOD: scram-sha-256, md5, peer dan sebagainya.

Jangan lupa untuk memulakan semula PostgreSQL selepas mengeditnya.

# Snippet from pg_hba.conf

# Allow connections from localhost for all users/databases
host    all             all             127.0.0.1/32            scram-sha-256

# Allow 'app_user' from specific IP range to 'app_db'
host    app_db          app_user        192.168.1.0/24          scram-sha-256

# Deny all other connections (implicit if no other rules match)

MySQL: Sekatan IP dengan GRANT

Dalam MySQL, anda mengehadkan akses pengguna dengan menentukan hos yang boleh digunakan untuk menyambung apabila mencipta atau mengubah pengguna menggunakan pernyataan GRANT.

Sintaks 'user'@'host' amat penting:

  • 'localhost': Hanya dari pelayan itu sendiri.
  • '192.168.1.100': Hanya dari alamat IP tertentu.
  • '%': Dari mana-mana hos (gunakan dengan amat berhati-hati!).
  • '192.168.1.%': Dari mana-mana IP dalam julat 192.168.1.x.

Sentiasa gunakan hos yang paling ketat sekatan yang mungkin.

CREATE USER 'app_user'@'192.168.1.10' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'192.168.1.10';
FLUSH PRIVILEGES;

Amalan Terbaik Keselamatan

Melindungi sambungan pangkalan data ialah usaha yang berterusan. Berikut ialah beberapa amalan terbaik:

  • Keistimewaan Minimum: Berikan hanya kebenaran yang diperlukan kepada pengguna dan aplikasi.
  • Kata Laluan Kukuh: Wajibkan kata laluan yang kompleks dan tukarkannya secara berkala.
  • Peraturan Tembok Api: Gunakan tembok api pelayan anda (UFW/firewalld) untuk mengehadkan akses ke port pangkalan data (contohnya, 5432 untuk PostgreSQL dan 3306 untuk MySQL) kepada IP yang dipercayai sahaja.
  • Pengauditan Berkala: Semak log pangkalan data dan konfigurasi akses secara berkala.
  • Kekalkan Perisian Terkini: Gunakan tampalan keselamatan pada pelayan pangkalan data dan sistem pengendalian anda dengan segera.

Uji Pengetahuan Anda

Antara berikut, yang manakah kaedah yang sah untuk meningkatkan keselamatan sambungan pangkalan data?

Imbas Kembali: Lindungi Data Anda

Dalam pelajaran ini, kita telah meneroka teknik penting untuk melindungi sambungan pangkalan data:

  • SSL/TLS: Menyulitkan data semasa penghantaran, sekali gus memastikan kerahsiaan dan integriti. Kita telah melihat cara mendayakannya dalam PostgreSQL dan MySQL serta cara klien membuat sambungan dengan selamat.
  • Sekatan IP: Mengehadkan pihak yang boleh menyambung ke pangkalan data berdasarkan alamat rangkaiannya, menggunakan pg_hba.conf untuk PostgreSQL dan pernyataan GRANT untuk MySQL.
  • Amalan Terbaik: Kita juga telah membincangkan petua keselamatan umum seperti menggunakan kata laluan kukuh dan menjalankan pengauditan berkala.

Dengan melaksanakan langkah-langkah ini, anda mengurangkan risiko akses tanpa kebenaran dan kebocoran data dengan ketara.

Percuma untuk bermula

Pelajari Penggunaan Pelayan Linux & Penguasaan SSH dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Melindungi Sambungan Pangkalan Data” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Penggunaan Pelayan Linux & Penguasaan SSH, termasuk “Melindungi Sambungan Pangkalan Data”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Penggunaan Pelayan Linux & Penguasaan SSH merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Melindungi Sambungan Pangkalan Data”?

Konfigurasikan sambungan selamat ke pangkalan data Anda menggunakan SSL/TLS dan hadkan akses berdasarkan alamat IP untuk meningkatkan keselamatan. Anda berlatih Penggunaan Pelayan Linux & Penguasaan SSH menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Penggunaan Pelayan Linux & Penguasaan SSH?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Penggunaan Pelayan Linux & Penguasaan SSH di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Melindungi Sambungan Pangkalan Data” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Penggunaan Pelayan Linux & Penguasaan SSH ini?

Ya. Setiap pelajaran Penggunaan Pelayan Linux & Penguasaan SSH menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memasang PostgreSQL/MySQL
  2. Pengguna Pangkalan Data dan Kawalan Akses
  3. Melindungi Sambungan Pangkalan Data
  4. Strategi Sandaran dan Pemulihan Pangkalan Data
← Kembali ke Penggunaan Pelayan Linux & Penguasaan SSH