Cara mengatur https (sertifikat ssl) untuk mengamankan login phpmyadmin

Cara mengatur https (sertifikat ssl) untuk mengamankan login phpmyadmin

Untuk memperkenalkan tip ini, mari kita mengendus lalu lintas HTTP antara mesin klien dan Debian 8 server di mana kami telah membuat kesalahan yang tidak bersalah untuk masuk menggunakan kredensial pengguna root database di artikel terakhir kami di: ubah dan amankan phpmyadmin login URL

Seperti yang kami sebutkan di tip sebelumnya, jangan coba -coba melakukan ini jika Anda tidak ingin mengekspos kredensial Anda. Untuk mulai mengendus lalu lintas, kami mengetik perintah berikut dan menekan enter:

# tcpdump port http -l -a | egrep -i 'pass = | pwd = | log = | login = | pengguna = | nama pengguna = | pw = | passw = | passwd = | kata sandi = | pass: | pengguna: | Nama pengguna: | Kata Sandi: | Login: | Pass | Pengguna ' -Buffered -B20 

Tidak akan memakan waktu lama untuk menyadari bahwa nama belakang Dan kata sandi telah dikirim melalui kawat dalam format teks biasa, seperti yang dapat Anda lihat di output terpotong tcpdump pada gambar di bawah ini.

Harap dicatat bahwa kami telah menyembunyikan bagian dari akar Kata sandi dengan tanda biru di atasnya:

Mengendus lalu lintas HTTP

Untuk menghindari ini, mari kita kencangkan halaman login dengan sertifikat. Untuk melakukan ini, instal paket mod_ssl Centos distribusi berbasis.

# yum install mod_ssl 

Meskipun kami akan menggunakan Debian/Ubuntu jalur dan nama, prosedur yang sama berlaku untuk Centos Dan RHEL Jika Anda mengganti perintah dan jalur di bawah ini dengan Centos setara.

Buat direktori untuk menyimpan kunci dan sertifikat:

# mkdir/etc/apache2/ssl [on Debian/Ubuntu sistem berbasis] # mkdir/etc/httpd/ssl [on Centos sistem berbasis] 

Buat kunci dan sertifikat:

----------- Pada Debian/Ubuntu Sistem Berbasis ----------- # OpenSSL Req -x509 -Nodes -days 365 -Newkey RSA: 2048 -Keyout/etc/apache2/ssl/apache.kunci -out/etc/apache2/ssl/apache.CRT ----------- ON Centos Sistem Berbasis ----------- # OpenSSL Req -x509 -Nodes -days 365 -NewKey RSA: 2048 -Keyout/etc/httpd/ssl/apache.kunci -out/etc/httpd/ssl/apache.crt 
Output sampel
... +++ ... +++ Menulis kunci pribadi baru ke '/etc/httpd/ssl/apache.kunci '----- Anda akan diminta untuk memasukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda. Apa yang akan Anda masukkan adalah apa yang disebut nama terhormat atau DN. Ada beberapa bidang tetapi Anda dapat meninggalkan beberapa bidang untuk beberapa bidang akan ada nilai default, jika Anda masuk '.', Lapangan akan dibiarkan kosong. ----- Nama Negara (2 Kode Surat) [xx]:DI DALAM Nama Negara Bagian atau Provinsi (Nama Lengkap) []:Maharashtra Nama Lokalitas (mis. Kota) [Kota Default]:Mumbai Nama Organisasi (mis. Perusahaan) [Default Company Ltd]:Tecmint Nama Unit Organisasi (misalnya, bagian) []:Tecmint Nama Umum (mis. Nama Anda atau nama host server Anda) []:Tecmint Alamat email []:[Email dilindungi] 

Selanjutnya, verifikasi kunci dan sertifikat.

# CD/etc/apache2/ssl/[on Debian/Ubuntu sistem berbasis] # cd/etc/httpd/ssl/[on Centos Sistem Berbasis] # LS -L Total 8 -RW-R-R--. 1 root root 1424 Sep 7 15:19 Apache.CRT -RW-R-R--. 1 root root 1704 Sep 7 15:19 Apache.kunci 

Di dalam Debian/Ubuntu, pastikan bahwa Apache Apakah mendengarkan di port 443 untuk situs default (/etc/apache2/situs-tersedia/000-default.conf) dan tambahkan 3 garis terkait SSL di dalam VirtualHost pernyataan:

Sslengine di sslcertificateFile/etc/apache2/ssl/apache.CRT SSLCertificateKeyFile/etc/apache2/ssl/apache.kunci 
Aktifkan SSL di VirtualHost

Di dalam Centos distribusi berbasis, beri tahu Apache untuk mendengarkan di port 443 dan cari arahan mendengarkan di /etc/httpd/conf/httpd.conf dan tambahkan baris di atas di bawahnya.

Sslengine di sslcertificateFile/etc/httpd/ssl/apache.crt sslcertificateKeyFile/etc/httpd/ssl/apache.kunci 

Simpan perubahan, muat SSL Apache modul di Debian/Ubuntu distribusi (dalam Centos Ini dimuat secara otomatis saat Anda menginstal mod_ssl lebih awal):

# A2Enmod SSL 

Memaksa phpMyadmin menggunakan SSL, Pastikan baris berikut hadir /etc/phpMyadmin/config.inc.php atau /etc/phpMyadmin/config.inc.php mengajukan:

$ cfg ['forcessl'] = true; 

dan restart server web:

# Systemctl restart apache2 [on Debian/Ubuntu Sistem Berbasis] # SystemCTL restart httpd [on Debian/Ubuntu sistem berbasis] 

Selanjutnya, luncurkan browser web Anda dan ketik https: /// my (Pelajari cara mengubah URL login phpMyadmin) seperti yang ditunjukkan di bawah ini.

Penting: Harap dicatat bahwa itu hanya mengatakan bahwa koneksi tidak aman karena kami menggunakan sertifikat yang ditandatangani sendiri. Klik Canggih dan konfirmasi pengecualian keamanan:

Aktifkan phpMyadmin https

Setelah mengkonfirmasi pengecualian keamanan, dan sebelum masuk, mari kita mulai mengendus Http Dan Https lalu lintas:

# tcpdump port http atau port https -l -a | egrep -i 'pass = | pwd = | log = | login = | pengguna = | nama pengguna = | pw = | passw = | passwd = | kata sandi = | pass: | pengguna: | Nama pengguna: | Kata Sandi: | Login: | Pass | Pengguna ' -Buffered -B20 

Kemudian login menggunakan kredensial yang sama seperti sebelumnya. Sniffer lalu lintas hanya akan menangkap omong kosong terbaik:

Mengendus lalu lintas http dan https

Itu saja untuk saat ini, di artikel berikutnya kami akan membagikan Anda untuk membatasi akses phpMyadmin dengan nama pengguna/kata sandi, sampai kemudian tetap mengikuti tecmint.