Help us understand the problem. What is going on with this article?

MySQL WorkbenchからArcfourを無効化したSSHサーバ経由でデータベースに接続する

More than 3 years have passed since last update.

はじめに

CentOSの標準設定など、多くのSSHサーバではArcfour暗号化やMD5ダイジェストが利用されています。

Arcfourは商標権の関係からRC4を改名したものです。近年解読可能との指摘があり、TLSの分野ではRFC 7465により使用が禁止されました。そのためSSHにおいてもセキュリティポリシーにより使用禁止とするところが出てきています。
MD5ダイジェストについても脆弱性が指摘されて久しいです。

しかし、MySQL Workbenchをはじめとするデータベース管理ソフトのSSHトンネル経由の利用では依然としてArcfourやMD5に依存しているものがあります。
MySQL Workbenchの2016年1月現在の最新版において、RC4とMD5を無効化する対策を講じたサーバ経由でデータベースに接続することはできません。

workbench_error.png

対応策

MySQL WorkbenchはParamikoというPythonのSSHライブラリを利用しており、インストール先フォルダにあるこれを入れ換えることによりそのようなサーバにも接続できるようです。

Paramikoをダウンロードする

GitHubのリポジトリよりParamikoをダウンロードします。最新版1でかまいません。

ダウンロードしたら展開します。

Paramikoライブラリをコピーする

ライブラリは下記の場所にあります。

OS 所在フォルダ
Windows (インストール先2)\python\site-packages\paramiko
OS X /Applications/MySQLWorkbench.app/Contents/Resources/Libraries/paramiko

このフォルダをリネーム等により退避させた上で、Paramikoのアーカイブにある「paramiko」フォルダをそのままコピーします。

workbench_dir.png
paramiko.png

Linuxの場合

MySQL Workbenchを実行しているマシンがLinuxである場合、システムにインストールされたParamikoライブラリを使用します。したがって、システムに最新版のParamikoをインストールします。

参考文献

Paramiko Update Tutorial - MySQL Workbench Team Blog


  1. 本稿執筆時点でバージョン1.16.0 

  2. 初期設定では C:\Program Files\MySQL\MySQL Workbench 6.3 CE 

kuropen
Androidアプリ開発からキャリアスタートし、現在はPHPを中心としたWeb開発を行っています。
https://kuropen.org
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away