MySQL :: MySQL 5.7 Reference Manual :: 5.1.4 Server System Variables
# service mysqld restart --require_secure_transport Stopping mysqld: [ OK ] Starting mysqld: [ OK ] $ mysql -uroot mysql> SELECT @@require_secure_transport; +----------------------------+ | @@require_secure_transport | +----------------------------+ | 1 | +----------------------------+ 1 row in set (0.00 sec)
( ´-`).oO(余談だけど、/etc/init.d/mysqld [re]startの後ろにロングオプションつけると、mysqld_safeにそのまま渡してくれるんですよこれ豆知識。
mysql> status -------------- mysql Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using EditLine wrapper Connection id: 4 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.8-rc MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 1 min 28 sec Threads: 1 Questions: 6 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.068 --------------
UNIXソケット接続の場合はSSLもへったくれもないのでこれは制限されない。
$ mysql -uroot --protocol=tcp mysql> STATUS -------------- mysql Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using EditLine wrapper Connection id: 8 Current database: Current user: root@localhost SSL: Cipher in use is DHE-RSA-AES256-SHA Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.8-rc MySQL Community Server (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 5 min 54 sec Threads: 1 Questions: 22 Slow queries: 0 Opens: 107 Flush tables: 1 Open tables: 100 Queries per second avg: 0.062 --------------
MySQL 5.7から、コマンドラインクライアントもデフォルトで--sslを使おうとするので、特に何も指定しなくても勝手にSSLでつなぎに行く。
これを明示的に無効にしてやる(または、5.6以前のコマンドラインクライアントは--sslをつけない限りSSLを使おうとしないので、そっちで接続しようとすると)
$ mysql -uroot --protocol=tcp --skip-ssl ERROR 3159 (HY000): Connections using insecure transport are prohibited while --require_secure_transport=ON.
おお、これは良い感じだ。
CREATE USER や GRANTステートメントのREQUIRE SSLがユーザー単位なのに対し、こっちはサーバー全体で一括指定。SET GLOBALによるオンラインの変更も可能。
…まさかこれ暗黙のデフォルトで1にしたりとかしないですよねー? (・∀・)ゞ
0 件のコメント :
コメントを投稿