"Enter"a basıp içeriğe geçin

MySQL üzerinden Ubuntu 18.04’te TLS – Linux İndir

Geleneksel olarak, veritabanı sunucusu ve ön uç aynı yalıtılmış ağ üzerindeydi. Bu, ön ucun güvenlik konusunda endişelenmeden veritabanıyla şifrelenmemiş bir kanal üzerinden konuşmasına izin verdi. Tüm bunlar, son birkaç yılda bulut ve dağıtılmış sistemlerin ortaya çıkmasıyla değişti. Uygulamalarınız artık tek bir yalıtılmış ağ ile sınırlı değil. Ön uç ile veritabanı arasındaki iletişim artık her zamankinden daha fazla şifrelenmeli ve güvenli hale getirilmelidir. Bunu, yalıtılmış bir ağı sanallaştırmak için bir VPN kullanarak başarabilirsiniz. Ön uç ve veritabanı bu VPN’nin bir parçası olabilir ve aralarındaki bağlantı güvenli olacaktır. Veya veritabanına gönderilen ve veritabanından gönderilen verileri şifrelemek için TLS’yi kullanabilirsiniz, tıpkı web sitelerinin HTTPS kullanarak tarayıcılarla iletişimlerini güvence altına alması gibi. TLS üzerinden verileri sorgulamak ve yayınlamak için MySQL’i kurup kuracağız.

Kılavuz, MySQL kullanımı için ayrılmış statik erişilebilir bir IP’ye sahip, belki de bulutta veya yerel ağınızda bir yerde bir sunucunuz olduğunu varsayar. Sunucu kabuğundaki bu alt bölümde aşağıdaki komutlar yürütülecektir. Hızlı bir şekilde Ubuntu’da MySQL’i kurup kuralım.

$ sudo uygun güncelleme
$ sudo uygun İndirmek hücre sunucusu
$ sudo mysql_secure_installation

Son komut, MySQL için güvenli olmayan bazı varsayılan ayarları değiştirmek için bir komut dosyası çalıştıracaktır. İlk olarak, bir şifre doğrulama eklentisi kurmanız istenecektir. Bu, kullanıcılarınız için belirlediğiniz yeni parolanın yeterince güçlü olup olmadığını kontrol eder. İsterseniz bu eklentiyi devre dışı bırakabilirsiniz. Ardından, MySQL kök kullanıcı parolasını ayarlamanız istenecektir. Devam edin ve kök kullanıcı için güçlü bir parola belirleyin.

y’ye basın | “evet” için Y, “hayır” için başka herhangi bir tuş: n
Lütfen root şifresini burada ayarlayın.
Yeni Şifre:
Yeni şifreyi tekrar girin:

Bundan sonra hemen hemen söyleyebilirsin Evet Betik, test kullanıcısını kaldırır, test veritabanını kaldırır, uzaktan kök oturum açmayı devre dışı bırakır ve son olarak ayrıcalık tablosunu yeniden yükler. Bu yapıldıktan sonra, bir veritabanı ve yeni bir kullanıcı oluşturalım çünkü uzaktan root girişine izin vermiyoruz. Bu veritabanına, sunucudaki bir UNIX/Linux kabuğuna gerçekten SSH (veya oturum açma) gerekmeden uzaktan erişilebilir. Ancak bunu yapmadan önce, MySQL derlememizde yerleşik TLS olup olmadığını kontrol edelim.

TLS’nin mevcut olup olmadığını kontrol edin

TLS, yalnızca MySQL’i içerecek şekilde derlenmişse MySQL’de kullanılabilir. İndirilecek dinamik modül yok. Dolayısıyla, MySQL paketinizde TLS’nin kurulu olup olmadığından emin değilseniz, şunu çalıştırarak kontrol edebilirsiniz:

sudo mysql $
mysql>Sunmak Çalışan Gibi%ssl%
+++
| Değişken ismi |Değerler|
+++
| sahip_opensl | özürlü |
| var_ssl | özürlü |
| ssl_ca ||
| ssl_capath ||
| ssl_cert ||
| ssl_cipher ||
| ssl_crl ||
| ssl_crlyolu ||
| ssl_key ||
+++
9 Satıyorlar içeriatama(0.00 ikincisi)

değişken diyorsa sahip_opensl E var_ssl değerler ayarlandı özürlü O zaman SSL’niz var ve hazırsınız (sadece daha fazlasını okuyarak etkinleştirmeniz gerekiyor). Değerler olarak ayarlanmışsa sayı, O zaman paket yöneticinizden veya başka bir yerden farklı bir MySQL sürümü almalısınız.

MySQL yapılandırması

Varsayılan olarak mysql sunucusu yalnızca geri döngü arabirimini, yani ‘localhost’ veya ‘127.0.0.1’i dinler, uzak bağlantılar için genel statik IP’yi de dinlemesini istiyoruz. Bunu yapmak için dosyayı açın, /etc/mysql/my.cnf Ve sonraki birkaç satırı sonuna ekleyin.


[mysqld]
gereksinim_aktarım_güvenli_aktarım =üzerine
BağTebük =<IP statik>

Burada, bunun yerine sunucunuzun gerçek IP’si ile. Hangi IP adresini kullanacağınızdan emin değilseniz, tüm arayüzlerde dinlemek için 0.0.0.0 kullanabilirsiniz. Şimdi yeni yapılandırmanın gerçekleşmesi için sunucuyu yeniden başlatın.

sudo $ mysql hizmeti yeniden başlat

Uzak kullanıcı oluştur

Not: Veritabanını üretimde kullanmak istiyorsanız, bu veritabanına bağlanan istemcinin – ön uç – statik bir IP adresine sahip olma olasılığı vardır. Bu durumda, “%” yüzde sembolünü uygun istemci IP adresiyle değiştirin. “%”, “herhangi bir değer” anlamına gelen bir joker karakterdir. Yapılandırmamızı yapacağız kullanıcım Böylece, potansiyel olarak güvenli olmayan herhangi bir IP adresinden (örneğin, yerel geniş bant bağlantınızın değişken IP adresi) oturum açabilir.

sudo mysql $
mysql>Yapmak veya yaratmaktek kuzey veritabanım;
mysql>Yapmak veya yaratmakkullanıcı“kullanıcım”@% tarafından tanımlanmış ‘Bir kelime’gerekSSL;
mysql>Hibe etmekHerşeyüzerine veritabanım.*ile birlikte“kullanıcım”@%;

Aktar ‘Bir kelime’ Gerçekten güçlü bir parola ile ve bir kullanıcı adımız var kullanıcım Veritabanına tam erişim ile veritabanım.

TLS’yi etkinleştirin (“SSL” olarak da bilinir)

MySQL kabuğunda mysql kök kullanıcısı olarak oturum açtığınızda, bağlantı durumunu \s yazarak kontrol edebilirsiniz:

mysql> \s

MySQL versiyonu 14.14 Dağıtım 5.7.24Ve linux (x86_64)Kullanmak EditLine’ın kapağı

İletişim Kimlik Kartı: 5
akış Veri tabanı:
akış kullanıcı: [e-posta korumalı]
SSL: ölümsüzlükiçerikullanmak
geçerli çağrı cihazı: stdout
kullanmakharici dosya:
kullanmak kısıtlayıcı: ;
Spiker ihraç: 5.7.240ubuntu0.18.04.1 (ubuntu)
protokol ihraç: 10
İletişim: Bir UNIX soketi üzerinden Localhost

Bağlantı ve SSL çevresinde vurgulanan satırlara dikkat edin. Bu, kök kullanıcının yerel oturum açması için iyi olsa da, TLS aracılığıyla oturum açtığımızda kullanıcım Bağlantı türü ham soket değil, TCP/IP üzerinden olacak ve SSL şifreleme kullanılacaktır. Bunu başarmak için basit bir komut var. Ama önce mysql komut istemimizi bırakalım.

Şimdi koş

sudo $ mysql_ssl_rsa_setup Kullanıcı kimliği=mysql
sudo $ mysql hizmeti yeniden başlat

İşiniz bittiğinde, şuna göz atabilirsiniz: have_ssl değişkeni defalarca.

sudo mysql $
mysql>Sunmak varyantlar Gibi%ssl%;
+++
| Değişken ismi |Değerler|
+++
| sahip_opensl | Evet |
| var_ssl | Evet |
| ssl_ca | Bim gibi |
| ssl_capath ||
| ssl_cert | Spikeronay. Bim |
| ssl_cipher ||
| ssl_crl ||
| ssl_crlyolu ||
| ssl_key | Spikeranahtar.pem |
+++
9 Satıyorlar içeriatama(0.01 ikincisi)

Ayrı bir MySQL istemcisinden giriş yapın

TLS anahtarının ve sertifikasının yerinde olduğunu ve TLS’nin etkinleştirildiğini gösteren yeni parametreler var. Artık bu terminalden çıkış yapabilir, yerel bilgisayarınızda MySQL istemcisini açabilir ve eğer yoksa (ve Debian veya Ubuntu kullanıyorsanız) MySQL kabuk istemcisini alabilirsiniz:

sudo apt kurulum mysqlmüşteri
mysql $ kullanıcım s h <MySQLSunucuIP>

onlar değişir kullanıcım Ve sunucunun gerçek kullanıcı adı ve IP adresi ile istediğiniz şifreyi girin ve veritabanına giriş yapmalısınız. Bağlantıya göz atın:

mysql> \s

MySQL versiyonu 14.14 Dağıtım 5.7.24Ve linux (x86_64)Kullanmak EditLine’ın kapağı

İletişim Kimlik Kartı: 5
akış Veri tabanı:
akış kullanıcı: [e-posta korumalı]
SSL: şifre içerikullanmakproblemler VeRSAAES256Cha
geçerli çağrı cihazı: stdout
kullanmakharici dosya:
kullanmak kısıtlayıcı: ;
Spiker ihraç: 5.7.240ubuntu0.18.04.1 (ubuntu)
protokol ihraç: 10
İletişim: <MySQLSunucuIP> TCP üzerinden/IP
Sunucu karakter seti: latin1
db karakter kümeleri: latin1
Müşteri karakter seti: utf8
Bağlantı karakter seti: utf8
TCP bağlantı noktası: 3306
Operasyon zamanı: 13dk52 ikincisi
sicim: 2 Sorular: 32 Yavaş sorgular: 0 açılır: 107 floş masalar: 1
açmak masalar: 100 Her biri için sorgu sayısı ikincisideğiştirilmiş: 0,038

Artık trafiğinizi şifrelemek ve TCP/IP aracılığıyla belirli bir IP’ye bağlanmak için RSA kullandığını görebilirsiniz. MySQL veritabanına bağlantınız artık güvenli.

çözüm

Bu, TLS kullanarak uzak MySQL bağlantılarını güvenli hale getirmenin en basit yoludur. Bunun, phpMyAdmin istemcisini TLS aracılığıyla güvence altına almaktan farklı olduğunu unutmayın. Bu, TLS ve HTTP’nin bir birleşimidir ve web arabiriminin güvenliğini sağlamanızı gerektirir. Web kullanıcı arayüzünü oluşturan phpMyAdmin ile veritabanı arasındaki bağlantı şifrelenmemiş olabilir ve bu, aynı sunucuda oldukları sürece sorun değildir.

TLS bağlantısı, temel alınan CA’lar, sertifikalar ve anahtar yönetimi hakkında daha fazla bilgi şu adreste bulunabilir: Resmi MySQL Belgeleri.

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir