Rumah  >  Artikel  >  pangkalan data  >  Apakah langkah pengukuhan untuk pangkalan data cache Redis?

Apakah langkah pengukuhan untuk pangkalan data cache Redis?

WBOY
WBOYke hadapan
2023-06-01 20:28:191573semak imbas

Perlindungan data dan penyulitan sensitif

1. Penyimpanan kata laluan (penting)

Isu keselamatan: Kata laluan pelayan Redis asli memerlukan pas dan masterauth disimpan dalam teks yang jelas untuk redis.

Penyelesaian: Gunakan PBKDF2 untuk menyulitkan kata laluan pelayan dan simpan ke redis.conf.

Memandangkan isu prestasi, penggunaan PBKDF2 akan lebih memakan masa untuk setiap pengesahan Selepas semakan, selepas pengesahan pertama berjaya, memori akan dicache dengan SHA256 dan permintaan seterusnya akan disahkan menggunakan SHA256. pertama.

2. Sokongan penggantian kunci (penting)

Isu keselamatan: Kunci rahsia yang terlibat dalam penyulitan dan penyahsulitan tidak boleh dikodkan dengan keras ke dalam kod.

Penyelesaian: Kunci rahsia menyokong penggantian biasa.

➤redis server redis-server:

Tambahkan item konfigurasi pada fail konfigurasi: cipher-dir

Konfigurasikan nama penuh folder tempat redis_shared.key dan root. kunci terletak Laluan, contohnya: cipher-dir /opt/redis/etc/cipher

➤redis client: redis-cli

Tambah parameter -cipherdir, menunjuk ke tempat redis_shared.key dan root.key terletak Laluan penuh folder

Contohnya: redis-cli -h 127.0.0.1 -cipherdir /opt/redis/etc/cipher -a sessionrdb@dbuser@Changeme_123 -p 32091

➤redis client End SDK: jedis*.jar

Dalam proses yang sama, antara muka Jedis ialah rentetan, dbname@user@pwd, kerana antara muka pihak ketiga (serupa dengan Jdbc) tidak boleh disulitkan.

3. Penghantaran kata laluan (penting)

Isu keselamatan: Native Redis boleh mendapatkan maklumat bahagian pelayan yang sensitif melalui arahan dapatkan konfigurasi.

Penyelesaian: Dilarang menghantar maklumat sensitif seperti kata laluan kepada klien, jadi fungsi seperti config get requirepas/masterauth/requireuserpass perlu dilumpuhkan.

4. Pengubahsuaian kata laluan (penting)

Isu keselamatan: Ubah suai kata laluan penghantaran teks biasa: set konfigurasi masterauth pwd

Penyelesaian: Memori Redis menyimpan masalah kata laluan teks biasa: masterauth menggunakan Penyulitan AES128, kata laluan disimpan dalam AES128

Keselamatan kata laluan

1 Produk mendayakan fungsi semakan kerumitan kata laluan pangkalan data secara lalai

Isu keselamatan : Redis menukar kata laluan Tiada semakan kerumitan.

Penyelesaian: Sediakan alat pengubahsuaian Redis yang berasingan untuk menukar kata laluan, beri perhatian khusus kepada perkara berikut:

1. Lakukan semakan kerumitan kata laluan.

2. Apabila memasukkan nama pengguna atau kata laluan yang salah, tiada gesaan sebab yang terlalu jelas seperti "Kata Laluan salah" atau "Nama pengguna tidak wujud" akan muncul untuk menghalang penyerang daripada meneka nama pengguna/kata laluan sistem.

3. Untuk menukar kata laluan, sahkan kata laluan lama.

4. Kata laluan pangkalan data tidak boleh sama dengan nama pengguna.

5. Sembunyikan kata laluan apabila menukar kata laluan secara interaktif.

6. Adalah disyorkan dalam dokumentasi untuk menukar kata laluan secara interaktif.

2. Untuk mengelakkan peretasan kekerasan, konfigurasikan bilangan percubaan log masuk akaun yang gagal

Isu keselamatan: Versi asli Redis mempunyai peretasan kekerasan.

Penyelesaian: Bilangan maksimum kegagalan: maxauthfailtimes (unit masa, julat sah (0, 100,000], nilai lalai 10,000)

Tetapan ini hanya boleh ditetapkan melalui fail redis.conf semasa permulaan Konfigurasi tidak boleh dicapai melalui pengubahsuaian dinamik Operasi set konfigurasi yang sepadan dilumpuhkan

tidak menyokong tetapan kepada 0: bermakna tiada IP akan dikunci

3 akaun dikunci.

Masa kunci kegagalan pengesahan: masa authfaillock (unit: minit, julat sah [0~999], nilai lalai 10)

Apabila ditetapkan kepada 0, ini bermakna penguncian kekal. Nota: Item konfigurasi ini hanya menyokong konfigurasi redis.conf pada permulaan dan tidak menyokong pengubahsuaian dinamik Set konfigurasi yang sepadan disekat

4 Periksa IP yang dikunci

Masalah: Anda perlu semak IP selepas ia dikunci.

Penyelesaian:

Hanya pentadbir boleh melihat senarai IP yang dikunci Pemisah ialah titik bertindih bahasa Inggeris (:)

Contoh 1: konfigurasi dapatkan lockedip

Pulangan: 10.67.147.111;10.67.147.112;
Contoh 2: konfigurasi dapatkan lockedips
Pulangan: 10.67.147.111;
Nota: config tidak dikunci, ralat dikunci dikembalikan: ERR Unsupported CONFIG parameter : lockedips

5 Membuka kunci IP yang dikunci secara manual

Hanya pentadbir boleh melaksanakan arahan untuk membuka kunci IP yang dikunci dan hanya menyokong membuka kunci IP tunggal atau membuka kunci semua IP Penyelesaian:

Contoh 1, buka kunci IP tunggal: set konfigurasi buka kunci 10.67.147.111
Contoh 2, buka kunci semua IP: tetapkan konfigurasi buka kunci “semua”

Nota: konfigurasi dapatkan buka kunci tidak disokong , dan jika dipaksa, mengembalikan kosong, redis-cli prompt: (senarai kosong atau set)

Jika tiada pengecualian dalam IP dalam parameter, kegagalan membuka kunci akan dikembalikan, contohnya:
(ralat) ERR Argumen '10.67.147.111' tidak sah untuk SET CONFIG 'unlockips'

Lakukan buka kunci manual dan jejak rekod, contohnya:
Contohnya: 26 Dis 03:15:19.958 * 10.67.147.11.13 147.111:59417 Log audit

6. Pengauditan Keselamatan

Redis sendiri menyokong pengelogan ke log sistem, seperti /var/log/localmessage. Tetapi ia perlu dikonfigurasikan seperti berikut dalam redis.conf:

syslog-enabled yes

syslog-ident redis

syslog-facility local0

2 . Pelanggan Log masuk ke klien dan rekod IP pelanggan, akaun dan maklumat lain.

3. Operasi penyelenggaraan yang berkaitan mesti mempunyai rekod log yang terperinci.

Contoh: 29118:S 26 Nov 11:19:29.100 * Readdbuser berjaya log masuk;10.145.93.119:52817;

7 : Versi rasmi log Redis tidak akan dibuang, dan cakera mungkin penuh apabila berjalan untuk masa yang lama.

Penyelesaian: Jalankan proses tracemonitor (versi python) secara berasingan, dan uruskan saiz fail log Redis secara kerap, terutamanya pemampatan log dan pemadaman biasa, untuk mengelakkan menggunakan terlalu banyak cakera.

Nota: Platform semasa lalai kepada pengesanan setiap 60 saat, log boleh dimampatkan kepada 20M, dan bilangan maksimum log ialah 50.

Atas ialah kandungan terperinci Apakah langkah pengukuhan untuk pangkalan data cache Redis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam