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

  • 4
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

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