OpenSSH のアップデート for Mac OS X Tiger
素人なのに研究室のPCのセキュリティ関係を一手に引き受けさせられていますこんにちは。
Mac OS X は標準でOpenSSHをベースとしたSSHサーバ機能が付いているので、面倒な設定や新しいソフトを入れる事無しにSSHを使えるのがWindowsに比べて大きなアドバンテージの一つと言えます。しかし、最新版(Mac OS X 10.4.7)でのOpenSSHのバージョンは3.8.1p1で、これはOpenSSHの最新版では無いらしい。しかも、嫌すぎることに致命的な脆弱性があるんだと。 そんな事を監査の人に言われて、「アップデートしなさい」と言われるも、元がLinuxのソフトなので一筋縄で行くかとみたいな。Finkを使えば最新版の導入は自動でやってくれるが、元々ある古いバージョンのsshd (サーバプログラム)が勝手に動いてしまって、これでは意味が無い。Finkで生成されたバイナリをパクって上書きとかしてみるも、やっぱりまともに動かない。と言う事で、自分でコンパイルして、かつ無理矢理元々のプログラムに上書きするようにして何とかしました。以下そのまとめ。 注: これ書いてる人、LinuxもMacも素人の上に身近に聞ける人もいないという環境で、一から孤独にGoogle先生相手に調べた結果をつなぎ合わせただけです。だからコマンドの解釈とかも正しいのかどうか知らなくて、「あくまで自分の中ではこういう意味付けをしている」というだけ。当然、これやってぶっ壊れても知らないよ。というか、Linuxの各種ディストリビューションへのインストール方法を詳しく説明したサイトなら簡単に見つかるけど、Mac OS X となるとほとんど無いね……。 使用OSのバージョンは10.4.6(10.4.7で動く事確認済)。おそらくTigerならOK。Panther→Tigerで仕様が結構変わったらしいので、Panther以前でうまくいくかは不明。あと、コンパイルするためにDeveloper Toolsというものを予めインストールしておく必要有り。デフォルトではインストールされていないはずなので、Mac OS XのインストールDVDからどうにかしてインストールしてみてね。 で、本題。基本的には、 http://www.unixuser.org/~haruyama/security/openssh/INSTALL_nihongo.txt に書いてある方法に従う。冒頭に、 Zlib と OpenSSL がインストールされている必要があります. とあって、両方ともデフォルトでMac OS Xにはインストールされているっぽいのだが、嫌すぎる事に最新版のOpenSSHには対応していないっぽいので、インストールしないとダメ。あと管理者権限のあるユーザーでやらないと無理。 ・zlibのインストール 入手→http://www.zlib.net/ 下の方に、zlib source code, version X.X.X, tar.gz format(X.X.Xは最新バージョンが入る、以下同様)というところがあるのでそこから取る。これを書いている現在では、zlib-1.2.3.tar.gzというファイルが入手できる。このファイルをホームディレクトリへ移動しておく。 インストール ターミナルを開いて、以下のように入力。 $ tar xvzf zlib-1.2.3.tar.gz tar xvzf 「ファイル名」でそのファイルを展開、sudo 「コマンド」でそのコマンドを管理者として実行(だからパスワードがいる)という感じで。 ・OpenSSLのインストール 基本的には似ている。 入手→http://www.openssl.org/source/ リストの一番上の[LATEST]って書いてあるものを落とせば問題無いだろう、今現在openssl-0.9.8b.tar.gzってのが入手できる。やっぱりホームディレクトリへ移動しておく。 インストール ターミナルからこんな感じで。 $ tar xvzf openssl-0.9.8b.tar.gz ・OpenSSHのインストール ようやく本題。うまくいかなかった場合、多分zilbかOpenSSLのインストールで失敗していると思う。 入手→http://www.openssh.com/ja/portable.html ダウンロードの一覧から適当なサイトを選ぶとファイルの一覧が出てくる。新しいものほど下にあるっぽい。今のところ、openssh-4.3p2.tar.gz(openssh-4.3p2.tar.gz.ascってのとは違う)を入手しておくと無難。今まで通りホームディレクトリへ。 インストール ここまでうまくいっていれば何とかなるはず。 $ tar xvzf openssh-4.3p2.tar.gz これで終了。ただ、問題が。これでインストールしたOpenSSHをサーバとして使おうとすると、通常のパスワード認証を受け付けない(原因不明)のです。何で? とりあえずクライアントして使う分には問題無いですが……。 これは認証に公開鍵方式を使う事で解決できた。以下のURLにある説明が参考になる。 http://www.geocities.jp/turtle_wide/tools/sshpass.html ちょっと違う点として、 ・通常のパスワード認証が使えないのでscpコマンドで公開鍵を送る事ができない。メール添付なりUSBメモリに入れて運ぶなり黒魔術白魔術その他の手段でどうにかしてサーバ(リモート)側PCに持っていかなければダメ。公開鍵はいくら見られてもセキュリティ的には問題無いので、移動する手段は問われないのです。 ・公開鍵が置いてある.sshフォルダは隠しフォルダなのでFinderからは普通は見えない。そこで生成した公開鍵は予めターミナルからmvコマンドで見える所(例:ホームディレクトリ)に移動しておくか、Finderのメニューから「移動」→「フォルダへ移動」を選んで、~/.ssh と入力して強引に表示させるかする必要がある。これはリモート側に公開鍵を置く場合も同様。 ・リモート側の作業もローカルからリモートログインしてやることはできないので、リモートPCを直接いじって何とかして下さい。 ・touchコマンドとその次のchmodコマンドは最初の1回だけやればOK(authorized_keysファイルが既にあればやる必要無し) ・参考URLではパスワード無しの設定が書かれているが、セキュリティ的にはパスワードがあった方が良いかも。ssh-keygenコマンド実行時、Enter passphraseのところで好きなパスワードを入れれば良い。 これをそのサーバにアクセスする可能性があるPC全てでやる必要がある。面倒。秘密鍵をコピーすればいける気もするが、何となく躊躇してやっていない。まあ、一回やってしまえば以後は存在を気にする事無く使えるし、単純なパスワード認証よりもセキュリティ的に信頼がおける方法ではあるのですが……。 全てデフォルトでOS X に入っているOpenSSHが古いのが悪いのですが、もしかすると古いバージョンがベースであるというだけで、脆弱性に対するパッチは適用されているのかもしれない(というかそれがセキュリティ対策においてあるべき姿勢だと思う)、という努力を全て無に帰すような事実に途中で気付いたが、敢えてその可能性についてはきちんと調べないのでした。
by fyama_tani
| 2006-07-08 17:44
| 雑記
|
小説の紹介とか化学に関する事とかを織り交ぜながら適当に。
カテゴリ 以前の記事 2011年 10月 2011年 08月 2011年 06月 2011年 05月 2011年 04月 2011年 03月 2011年 02月 2011年 01月 2010年 12月 2010年 11月 2010年 10月 2010年 09月 2010年 08月 2010年 07月 2010年 06月 2010年 05月 2010年 04月 2010年 03月 2010年 02月 2010年 01月 2009年 12月 2009年 11月 2009年 10月 2009年 09月 2009年 08月 2009年 07月 2009年 06月 2009年 04月 2009年 03月 2009年 02月 2008年 12月 2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 10月 2007年 09月 2007年 08月 2007年 07月 2007年 06月 2007年 05月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 2006年 06月 2006年 05月 2006年 04月 最新のトラックバック ライフログ タグ 検索 その他のジャンル ファン 記事ランキング ブログジャンル 画像一覧 |
ファン申請 |
||