MySQLへの接続を暗号化させる方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[MySQL]]
*パターン1:SSL(自己証明書)にて暗号化する [#l6ff8c4b]
***説明 [#x182d936]
MySQLサーバーへローカルIPアドレス経由ではなく、インターネ...
SQL文を暗号化するにはSSHでトンネリングする以外にSSL証明書...
***手順 [#m2ad3869]
※CA証明書とMySQLサーバー用のCSRのコモンネームは別々にする
# cd /etc/pki/tls/
# mkdir mysql
# openssl genrsa -out ca-key.pem 2048
# openssl req -new -x509 -nodes -days 1000 -key ca-key.p...
# openssl req -newkey rsa:2048 -days 1000 -nodes -keyout...
# openssl x509 -req -in server-req.pem -days 1000 -CA ca...
# cd /etc/
# cp -p my.cnf my.cnf.`date +%Y%m%d`
# vim my.cnf
---
[mysqld]
ssl-ca=/etc/pki/tls/mysql/ca-cert.pem
ssl-cert=/etc/pki/tls/mysql/server-cert.pem
ssl-key=/etc/pki/tls/mysql/server-key.pem
---
# service mysqld restart <--reloadでは反映されない
# mysql -u root -p
mysql> show variables like '%ssl%'
| Variable_name | Value |
+---------------+--------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/mysql-ssl/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/mysql-ssl/server-cert.pem |
| ssl_cipher | |
| ssl_key | /etc/mysql-ssl/server-key.pem |
※have_sslがYESになっていないとSSL証明書と鍵で複合できて...
mysql> grant all privileges on *.* to ユーザー@localhost...
mysql> flush privileges;
# mysql -u ユーザー -p --ssl-ca=/etc/pki/tls/mysql/ca-ce...
※-h 127,0.0.1はテストで指定する。127.0.0.1を指定しないと...
mysql> show status like 'Ssl_cipher';
Ssl_cipher | DHE-RSA-AES256-SHA|
※上記valueが表示されていればOK
***パケットキャプチャ [#vb566eaf]
別シェルを起動してパケットを確認する。パケットにSQL文が表...
# tcpdump -nxX port 3306
***参考URL [#udd97eeb]
http://inokara.hateblo.jp/entry/2013/04/29/023037
終了行:
[[MySQL]]
*パターン1:SSL(自己証明書)にて暗号化する [#l6ff8c4b]
***説明 [#x182d936]
MySQLサーバーへローカルIPアドレス経由ではなく、インターネ...
SQL文を暗号化するにはSSHでトンネリングする以外にSSL証明書...
***手順 [#m2ad3869]
※CA証明書とMySQLサーバー用のCSRのコモンネームは別々にする
# cd /etc/pki/tls/
# mkdir mysql
# openssl genrsa -out ca-key.pem 2048
# openssl req -new -x509 -nodes -days 1000 -key ca-key.p...
# openssl req -newkey rsa:2048 -days 1000 -nodes -keyout...
# openssl x509 -req -in server-req.pem -days 1000 -CA ca...
# cd /etc/
# cp -p my.cnf my.cnf.`date +%Y%m%d`
# vim my.cnf
---
[mysqld]
ssl-ca=/etc/pki/tls/mysql/ca-cert.pem
ssl-cert=/etc/pki/tls/mysql/server-cert.pem
ssl-key=/etc/pki/tls/mysql/server-key.pem
---
# service mysqld restart <--reloadでは反映されない
# mysql -u root -p
mysql> show variables like '%ssl%'
| Variable_name | Value |
+---------------+--------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/mysql-ssl/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/mysql-ssl/server-cert.pem |
| ssl_cipher | |
| ssl_key | /etc/mysql-ssl/server-key.pem |
※have_sslがYESになっていないとSSL証明書と鍵で複合できて...
mysql> grant all privileges on *.* to ユーザー@localhost...
mysql> flush privileges;
# mysql -u ユーザー -p --ssl-ca=/etc/pki/tls/mysql/ca-ce...
※-h 127,0.0.1はテストで指定する。127.0.0.1を指定しないと...
mysql> show status like 'Ssl_cipher';
Ssl_cipher | DHE-RSA-AES256-SHA|
※上記valueが表示されていればOK
***パケットキャプチャ [#vb566eaf]
別シェルを起動してパケットを確認する。パケットにSQL文が表...
# tcpdump -nxX port 3306
***参考URL [#udd97eeb]
http://inokara.hateblo.jp/entry/2013/04/29/023037
ページ名: