Previous  Index  Next


2014 年 10 月 29 日




anchor

Murus
(Freeware)
OS10.9Mavericks対応 OS10.10Yosemite対応

UNIXのネットワークセキュリティのために開発されたPFファイアウォールをMacのGUIで使用するためのGUIフロントエンドアプリ。

PFファイアウォールのPFとはパケットフィルタリングのこと。

ファイアウォールといっても何番のポートだけアクセスを可能にする…という単純なルールのようなものもある。
Macのデフォルトのファイアウォールがまさにそれで、ファイアウォールを有効にしていると新規のアクセスが発生する時に
「◯◯のアクセスを許可するか?」
と聞いてくる。
許可すればそのポートのアクセスを今後許可するという単純なものだが、セキュリティに神経質になっている人たちにはすこぶる評判が悪い。

ポート番号のルールだけでは不十分で、サービス名や接続元、インバウンド(受信)だけでなくアウトバウンド(送信)も別ルールでコントロールしたい、TCPだけでなくUDPも各個に設定したい…などMacのファイアウォールの仕様に関する不満はこれまで山ほど目にした。

ネットワーク自体のセキュリティもちゃんとしていれば、その中の端末のセキュリティはこの程度で十分ではないのか…とも思うが、最近はモバイルの行動半径も飛躍的に広がってかつては想定していなかったところでMacBook Proなどを使用するということもあるだろうから、やはり設定は詳細にあったほうがいいのかもしれない。

PFファイアウォールは 元々OpenBSD用に開発されたファイアウォールだから、BSDの流れをくむMacにもデフォルトで実装されている。
ただし今のところMac OS XのGUIはその設定を用意していない。

パケットフィルタリングのルールは見たことがある人ならすぐにピンとくると思うが、非常に自由度が高い反面、非常に複雑で初心者にはどこをいじったらいいのか見当もつかない。

実は以前にもPFの設定をいじれるアプリも紹介したこともあるし、そうしたものは今でも利用できるのだが残念ながら初心者にオススメできるような代物ではない。
初心者はやはりシステムデフォルトのファイアウォールを使っているのが間違いがない…ということになるかもしれない。

しかしこのMurusはそれをなんとかしようという野心的なアプリだと思う。

設定のパネルは非常に視覚的に理解できるように工夫されている。
ルールの新規設定は全てサービスのアイコンを制限したいところにドロップして、その中で制限したい接続元をドロップして追加していくというスタイルになっている。
GUIでフィルタリングを理解させるならやはりこれくらいに視覚的工夫が必要だと思う。

さらに面白いのは
「ルールって何のことかよく分からないし、分かりたくもない」
という大雑把な初心者ユーザのためにプリセットメニューも用意されている。

これも7段階のプリセットメニューをスライドで選択するだけだから、動かしてみて自分には制限が厳しすぎると思ったら、スライドを開放に近いところにひと目盛りずつずらしていけばいい。

これなら細かい仕組みもルールの内容も理解する必要はない。





Murusはインストーラでインストールする
インストールしたい起動ボリュームを選択するだけだ




起動時には毎回rootのパスワードを要求される
これを避ける方法は後述するが用意されている




さてそもそも論になるがMacOS Xにもちゃんとシステム環境設定
セキュリティとプライバシーペインにファイアウォールの設定は用意されている
しかしこの設定は主要な共有サービスと各アプリの接続を「許可する・しない」の選択のみだ
特定のポートとか接続元のグループとかサービス名でフィルタリングすることはできない
「TCPをブロックしたってUDP素通しなら何の意味もない」と極論するユーザもいる
それはAppleも認識しているからプリセット設定のみに絞り込んでしまったのだろうと思う
しかしこの形に変更された時はすこぶる評判が悪かった




このMurusは各サービス・ポート・接続グループ・プロトコルでフィルタリングルールを決定できる
ただしこれまでのその手のソフトはとても視覚的に理解しやすいとは言えなかった
このMurusは初心者にもこの管理ルールを理解してもらおうという野心的な作品
フィルタリングが有効かどうかは右下のパイロットランプの色で識別できる
利用できるサービスが左ペインにアイコン表示されていて管理したいものを右にドロップする
すべてのサービスを接続禁止にして特定のサービス、例えばVNCだけ許可したいという時は
All Servicesを赤バッジ(不許可)にしてVNCだけ黄色バッジ(条件付き許可)
にすれば特定のVNC以外何も通さないルールができあがる




そのバッジの色はアイコン左肩に隠れているルーペアイコンボタンをクリックして設定を呼び出す
特定のIPを中央ペインにドロップすると許可、右ペインにドロップすると不許可になる
Everyoneを不許可にすれば赤バッジになって誰も接続を許さないルールになる




このルールはインバウンド(受信)側だけでなくアウトバウンド(送信)側でも各個に設定できる
デフォルトのファイアウォールの弱点は送信側のルールがザルなためにスパイウエアを
防げないという問題があったがこれなら自分が許可した覚えがないものは接続させない




これらのルールが有効になっているかどうかはTestボタンで確認できる




そのルーペアイコンの中にはそれぞれのオプション設定があってログを残すかどうかを選べる
また上にはそのサービスの使用ポートとサービスの内容が説明されている




例えば前述のALL SERVICESは「TCP・UDPを含むすべての
ネットワークサービスでポートは1〜65535番」
と説明されている




SSHは「シェルサーバとSFTPで使用されるリモートログインでポート22番」という説明になっている
勉強になるなぁ…




未登録の左ペインアイコンでも同様にそれぞれのサービスの
説明とポート番号、使用プロトコルを確認できる




そしてここが重要なのだが自分でカスタムルールを作る時はこのプラスボタンで新しいアイコンを作って
そのルーペボタンの中で自分なりのサービスの説明・使用ポート・使用プロトコルを設定できる
つまりポート番号だけでなくプルトコルも自在に各個制限できるということだ
ポート番号の記述の仕方は複数のポートを設定する場合は間にスペースを、1000番から1002番を
設定したい場合は1000:1002というように記述する




余談ながらTelnetはWindowsのリモートコマンドというようなことをここに書いてしまったが
現状はデフォルトで使用できるのはWindowsだけということで、しかし実際は
その出自は「UNIXのレガシィシェルサービス」なんだそうだ
勉強になるなぁ…




さてこのPFファイアウォールを止めたい時はStopボタンで止めることができる
止めれば通知センターからお知らせのポップアップが表示される




止めたPFファイアウォールをまた開始したい時はStartボタンで開始できる
この時に起動スクリプトをインストールせよというレコメンドが表示される
前述の起動時にいちいちrootのパスワードを要求されるあのフォームを
表示しないようにするにはこれのインストールが必要になる
サーバに設定したい場合は是非ものになると思うが再起動時に自動的にサービスを
立ち上げる設定にするならこれは必要になると思う




Presetボタンを押すとこんな表示が出てここでも起動スクリプトの
インストールを促されるがとりあえずこれは閉じる




そうするとプリセットのスライドバーが現れる
つまりこれは以上の紙数で説明した「ルールの設定なんか一切理解したくない!」
という頑ななユーザのために用意された「超カンタンプリセット安全設定!」
ちなみに一番安全度が高いレベル7はWeb閲覧とメール以外は一切許可しないという設定
「パソコンなんてネットとメールができればたくさん!」というユーザに推奨の設定だ
下のアクティベートボタンクリックでこれが有効になる




逆にレベル1の設定はフィルタリングもログも取らないという設定
意味があるのかないのかよくわからないがMurusはアクティブで
一切フィルタリングしないという設定が可能だ
通常はこのレベル1から7の間で自分の使用法に一番合ったもの選択する








2014 年 10 月 26 日




anchor

Yosemite続報〜iOS8にアップデートしたらiPhoneがWi-Fiで同期できない問題の解決法3〜結局アップデートが決め手やね〜Finderの重さが辛い…ことえり廃止に伴うキーマッピングの変更について

iOS8にiPhoneをアップデートして以来iPhoneがWi-Fi同期できなくなっていた。
以前ここでその対応策を何回か取り上げた。
iOS8にアップデートしたらiPhoneがWi-Fiで同期できなくなってしまった〜その解決法

iOS8にアップデートしたらiPhoneがWi-Fiで同期できなくなってしまった〜その解決法2〜とりあえずiCloudバックアップをやめてみる

いろいろやってみたが、結局毎回iPhoneを再起動しないといけないとか決め手になる改善策は見つからなかった。 というかYosemiteにアップデートする予定がない人は、iPhoneやiPadをiOS8にアップデートしてはいけないというのが結論だ。

実際のところYosemiteをインストールしてもまだこのWi-Fi同期の不具合は改善されなかったので大いに失望したのだが、結局iOSを8.1にアップデートしたところで概ね問題は解決した。
リリースしながら直していく…Appleも肝が据わってきたなw





iTunesを起動してもiPhoneを認識しないという問題はYosemiteをインストールするだけでは解決しなかった
iOS8.1アップデートでやっと解決した
以前iPhone再起動で改善すると書いたがその後また再発するので毎回再起動しないといけなくなる
結局Yosemiteインストールの予定がない人はiOSも7のままで使えということになるかも…




iCloudのバックアップが5GBのデフォでは容量不足でバックアップが
止まってしまいこれも同期の障害になっていたのはバグだったのかもしれない
iCloudバックアップを復活させたら今度は警告の黄色になっているがバックアップ自体は完了した



そのほかYosemiteインストールの雑感を。

Mountain Lion移行後どんどん重くなってくるFinderがYosemiteで改善されるかという期待は残念ながら裏切られた。
Yosemiteになっても相変わらずFinderは重い。

特に以前も取り上げたが、弊サイトを置いているMacServerさんのWebサーバにアップロードする時とか、出先から自宅のサーバにVPNでつないでファイルをアップロードする時とかは絶望的に遅い。
旧OSでは今でもサクサクアップロードできるのでサーバ側の問題ではない。

ドライブをマウントしてもいつまで経ってもファイルリストが表示されないし…
随分待たされてリストを表示したのでアップロードしたいファイルをドロップしてもいつまでも「コピーの準備中」の表示のまま数十分…
やっとアップロードが始まったと思ったら途中で止まって結局Finderを強制終了して最初からやり直しとか…
もうこういうネットワークドライブに対するファイル操作に関しては全く使い物にならなくなった。

ローカルのディレクトリを表示するのもいちいちデイジーギヤがぐるぐる回って待たされる。

歳を取ったせいか最近気が短くなった。

このデイジーギヤグルグルを見るとすぐに
「もう、いい!」
と強制終了してターミナルを起動するようになってしまった。

マウントされているネットワークドライブに対するアップロードはcpコマンドでサクサクできることを以前取り上げた。
WebDAVやVPN、AFPのサーバーにファイルをアプロードする時に知っておくと便利なcpコマンドの使い方

最近ネットワークドライブだけでなくローカルなファイル移動もターミナルでやるようになってきた。
そのうちFinderは要らなくなるかもしれない。

こんなクソ重いファイルブラウザいらねーやw





最近弊サイトの更新が辛い…それはネタがないとかじゃなくて
記事を書き終わった後アップロードに異常に時間がかかるためだ
ネットワークドライブをマウントしても中身が見えるのに数分〜下手をすると数十分…
デイジーギヤが回転するのを眺めつつ待ち続けてやっと見えたらファイルをドロップしても
コピーの準備に数分…アップロードが始まらない場合もあり…
Finderを再起動して最初から…という無限ループにはまっている




結局ターミナルを起動してcpコマンドでファイルのコピー、移動、アップロードもやってしまう…
最近ローカルのディレクトリのファイルの移動もターミナルで やるようになってきた
そのうち本当にFinderは必要なくなるかも…
素早く一覧を把握できるのがGUIのメリットなんだからよろしく頼みますよAppleさん…



『ことえり終了のお知らせ…
ことえりローカルルールのキーボードマッピングに慣れてしまった私はどうしたらいいのか…』

ことえりではラ行の入力にRA、RI、RU、RE、ROだけでなくLA、LI、LU、LE、LOも使える。
これはことえりのローカルルールでWindowsのキーボードもJISのキーボードももLは小文字の入力に割り当てられている。

しかし漢字Talk以来ことえりのラ行変換にすっかり指が慣れてしまっている私はどうしたらいいのか…
もう歳なんだからいい加減新しいことを覚える気ないし…あと10年もしたらMacいじりなんかやめて盆栽いじりのリア充になるんだから…

などととボヤいたらBBSに『さくら』さんから情報を頂いた。
『System/Library/Input Methods/JapaneseIM.app/Contents/Resourcesにある RomajiRule_Default.txtの la li lu le lo を
同じところにある RomajiRule_Kotoeri.txt の la li lu le lo の記述と同じにすれば大丈夫かと思います。』

これは良いことを聞いた…
と試してみたが結論から言うとこれはうまくいかなかった。
単体でラ行変換だけだったらうまくいくのだが、続けて変換しようとするとやはり小文字入力になってしまう。

しかし教えていただいたRomajiRuleテキストにちゃんとことえりルールが残されていることを知ったのは収穫だった。
ということはこれをアクティブにする方法もあるはずだ。

そのうち探してみよう。





頂いた情報によるとIMの実体は/System/Library/Input Methods/JapaneseIM.appでこの中にルールがあるという
右クリックでパッケージの内容を表示で開いてみると…




ありましたよありましたよ…RomajiRule_DefaultとRomajiRule_Kotoeriというルールを書いたテキストが…




比較すると確かにLを使った振る舞いが書かれている




そこでこのデフォルトの方のラ行のルールをことえりルールの方からコピペして書き換えてみる




システムファイルなので書き換えはもちろんroot権限を要する




すると確かにLALILULEROでラ行の入力ができそうな感じだが…




「かんりょう」とLを使って入力するとこの結果…
なかなかこの問題は単純ではないようだ…




ルールファイルを名前を変えて入れ替えることも考えたが
コピーを作るとACLがかかっていることに気がついた
システムファイルだから当然ともいえるが…
以前ACLがかかったファイルを書き換えて大変な目にあったことがあるのでさすがにこれは断念した



ということでことえりルール復活作戦は現在のところ頓挫中だが、そのうち真剣に考えてみる。
確かこういうのを切り替えるオンラインウエアを見かけた気もするし…

ていうかLキーはラ行入力ではなく、小文字入力に使うのが日本語キーボードのデファクトスタンダードなんだからいい加減慣れろよ…というツッコミは 聞こえない…あーあーきこえない (∩ ゚д゚)



2014 年 10 月 25 日




anchor

Yosemiteインストールメディアを作ってMac miniもアップデート〜にしたらVPNサーバが自動起動できなくなった〜打つ手なし・゚・(つД`)・゚・

先日MacBook ProをMavericksからYosemiteにアップデートして、使えなくなったアプリもほとんどないし概ね良好なんじゃないかと思い自宅機Mac miniもYosemiteにアップデートした。

今回は上書きインストールではなくOSをクリーンインストールしたかったので以下の手順を実施した。

1)先日Mac mini内蔵に失敗した東芝のSSHDを外付けハードディスク用の外付けハードディスクケースを購入しエマージェンシーディスク兼Yosemiteインストールメディアに転用
2)20GBと980GBにパーティション切り
3)このディスクをMac miniにUSB接続し20GBの方にYosemiteインストールアプリの中のインストーライメージ本体をコピーしてインストールメディアにする(この手順は後に詳述)
4)980GBの方に一発Mac miniのバックアップをTime Machineで取っておく
5)システムインストールが完了したら移行アシスタントの指示に従ってTime Machine から復元を選択して外付けハードディスクからユーザ情報を復元
無事Yosemiteクリーンインストールができました…お疲れ様でした。


という手順で進行する。

インストールメディアは各所で取り上げられているように、8GB以上の容量があるUSBメモリスティックなどでも構わない。
私の場合、先日も取り上げた東芝SSHDが連続して故障した問題で、使い道がない1TBのハードディスクが2個転がっているので、これを有効活用しよう・且つ1TBの残りのところにCarbon Copy ClonerもしくはTime Machineでバックアップを取ればワンストップのディスク一つで新規インストールとユーザ環境復元ができると考えてこれを使うことにした。

実際800GB前後のデータを溜め込んでいる…しかもサーバ用途も兼用の4人のユーザアカウントを持ったマルチユーザ機のインストールと環境復元が、インストールメディアの差し替えなどもなしに数回クリックしただけでほぼ1日でできてしまう…すごい時代になったものだと思う。





東芝のハイブリッドディスクはMac miniにつなぐと70日で故障する問題が3回連続して発生した
この修理品が手元に戻ってきていたがMacBook ProはもうFusionDrive化しているので必要ないし
結局使い道がない1TBディスクが二つ転がっている状態だった
そこでUSB3.0対応の外付けハードディスクケースを買ってきて
緊急用の起動ディスク兼インストールメディアにすることにした
このケースだがアルマイト削り出しの立派なケースだが900円といういい時代になったものだと思う




このディスクをパーティション切りしてインストールメディアにする
Yosemiteも8GB以上の容量があれば問題ないそうだがなんせ1TBディスクだ
剛毅に20GBおごってあげることにする(意味ない?w)
GUIDパーティションで2つに切って下の適用ボタンでパー切り




パーティション切りが完了したらパーティションマップが
GUIDパーティションテーブルになっていることを確認(ここ大事)




すでにYosemiteインストールアプリのダウンロードが完了していることが前提
アプリケーションフォルダの中にあるOS X Yosemiteインストール.app
のパッケージの中のInstallESD.dmgというディスクイメージの中身をメディアにコピーする
そのコマンドはアプリの中にcreateinstallmediaという名称で用意されているので
それを起動するコマンドをターミナルに以下のように入力する
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/
(インストールするボリュームの名前) --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction





と、ここでなぜか失敗する
コマンドの打ち間違いかと思い何度もトライするが原因は違った
MavericksのMac miniでやるとうまくいったのでMavericksでないとダメというオチかもしれない
しかしこのインストールアプリ一度バックアップにコピーしてアプリケーションフォルダに
戻したものなのでライセンスコントロールのために失敗したのかもしれない
そうだとするとアプリのバックアップは意味がないのだがなんとなく後者が正解な気がする




App StoreからダウンロードしたアプリそのままのMac mini環境で
同じコマンドをターミナルに打ったらあっさり成功した
成功したらこのようにプログレスを表示するのですぐわかる




こうしてインストーラが立ち上がってくるのを確認
さらにこのディスクがBootableである事もシステム環境設定で確認したら一旦インストーラを止める




パーティションを切った残りの980GBの領域にMac miniの全アカウントのバックアップを取る
私はTime Machineを使ったがCarbon Copy Clonerなんかもありだと思う




バックアップが完了したらインストール開始
以下の手順は先日紹介したのとあまり変わらないがインストーラから起動したら
すぐに「続ける」ボタンを押さないでメニューバーのユーティリティーから
ディスクユーティリティーを起動して内臓ディスクを初期化する
これで晴れて新規インストールになるのでインストール完了後
Time Machineから環境を移行するか?」と聞いてくる
あとはインストーラの指示に従って進行すればいい




さてYosemiteインストール後気になっていることを幾つか…
まずVPN経由で画面共有でMac mini自身を取ろうとするとこういう警告が出て失敗する
以前からたまに出ていたもので何度かトライすれば繋がっていたのだがYosemite移行以来一度も接続に成功しない
あまり使わない組み合わせなのでVNC接続に失敗しても運用上は問題ないのだがなんとなく気分が悪い




こちらは「なんとなく気分が悪い」では済まない問題
先日VPN ActivatorでVPNサーバがアクティブになるのを確認したと書いたが
確かにアクティブになるのだが再起動するとvpndが自動起動しなくなってしまった
VPN ActivatorをONにすれば再起動なしにこの通りVPNは開始するが…




再起動後このようにvpndは起動しなくなった
サーバーの要件としては再起動後必要なサービスは人の手に寄らずに自動起動しないといけないはずだ
その都度VPN ActivatorでアクティベートしてやればVPNサーバ機能は
問題なく使えるのだがもし外から再起動なんかしたらおしまいということだ
家族と共有機なので誰かが再起動してもやはりシューリョーということになる




このVPNサービスの本体のvpndは/usr/sbin/の中にある




このスタートアップのアクセス権が変わったのかもしれないと思いそれを修正するコマンドを試した
がやはり起動時に起動してこない




パスはちゃんと通っているようでvpndとコマンドを打っただけでちゃんとプロセスは起動してくる
Yosemiteになってこの/usr周りのアクセス権が色々変更されたようで
/usr/local/binを退避させるとインストール時間が短縮できるよ」というTipsが流布したが
これをを実行した一部のユーザがインストール後二度と起動できなくなってしまい
泣く泣く内臓ディスクを消去したという話も聞く
vpndも使いたいならOS X Serverを買えということなのかもしれない…



このVPNサービスの問題だが/usrフォルダ周りのバイナリの起動に関してYosemiteは色々バグを持っているようだ。
これはその影響なのかOS X Serverを購入していないユーザにはUNIXサーバ機能は原則使わせないというライセンスコントロールの締め付けなのか今のところわからないのだが、いろいろ試してみたが現状打つ手がない。

VPNに限らず幾つかのサービスがYosemiteから動かなくなってしまったようで、サーバとしてMacを使っている人には結構泣きなアップデートなのかもしれない。

今後のアップデートで改善されないのなら、またぞろPowerPCのMac miniを出してきてVPNサーバを切り離す手順を検討することになると思う。
もしくはMavericksへのバージョンダウンも視野に入れないといけないかもしれない。
問題はVPN ActivatorがSnowLeopard以上でないと動かないのでどうやってアクティベートするかという点だが…

たった2000円のサーバOSなんだから、OS X Serverを買えば簡単に解決できるんだけど、折角ここまで自力でやってきたのにいまさらサーバOSを購入するというのもなんがか負けのような気がして…





以下余談
Yosemiteになってひとつ気が付いたことだが起動時Swapファイルがゼロになる
バーチャルメモリに書き出していない時もMavericksではいきなり1GBのSwapを確保していたが
Yosemiteは必要になるまでSwapを作らないという本来の動きに戻ったようだ
少しめでたい


2014 年 10 月 20 日




anchor

OS10.10 YosemiteをインストールしたらCS4のPhotoshopIllustratorが「ライセンシングが動作していません:エラー150:30」が出て起動できなくなった件の対処法

先日MacBook ProのOSをYosemiteにアップデートしたところ、PhotoshopIllustratorが動かなくなった件を書いた。

このメッセージが
「この製品のライセンシングが動作していません
エラー150:30」

というほとんど意味不明なものだった。

このライセンシング異常はディスクを初期化して、Time Machineなどから環境を復元した時にPhotoshopなどを起動するとよく出るメッセージだ。

今回はYosemiteは新規インストールではなくMavericksで動いていたボリュームに上書きインストールしただけなのだが、それでなぜライセンシングのエラーが出ているのかはよくわからない。
アクセス権の修復などのライセンシング異常の時の通常の対策は全て失敗した。
Adobeのサイトにも、そういう場合の最終手段はPhotoshopIllustratorの再インストール…と書いてある。

Time Machineからボリューム修復した時の経験則を頼りに、おそらくそれで解決するだろうと信じてインストールを開始。

しかし数回失敗した。
その顛末は以下。





Yosemiteインストールは順調に進行したのでちょっと浮かれていたのだが
Photoshopを起動しようとした時に出たこのエラーメッセージでちょっとへこんだ
しかも修復の手順を一通り試したが失敗…
ここは経験則に則って再インストールしかない…




ということでCS4のインストールを開始したのだがこのインストールに数回失敗した




インストールが途中で止まってしまう
いつもAdobe Airのところで止まってしまうのでインストの項目のチェックを外した




今度は順調に進んだかに見えたが最後に止まってしまう
Adobe Media Playerのところで止まるようなのでこのチェックも外した




これでやっと動くようになった
ただ上記モジュールのエラーは出るのでYosemiteインストール後CS4の動きが
一部おかしいという情報もあるのでその原因がこれらのRunTimeやモジュールの
互換性の問題かもしれないと感じた
詳細はまだ未検証




同じくインストーラのチェックを外してIllustratorもインストールに成功




こちらもいろいろメッセージを出しながら動作はしている

anchor

パスワードの定期変更は有効という幻想はなぜ繰り返し湧き起こってくるのかわかった希ガス〜数量とコストという概念が理解できない人たち

パスワードの定期変更は有効かというテーマで何度か書いたことがある。

以前の職場でも今の職場でも事務用パソコンのログインパスワードの定期変更、事務用スケジュール共有ソフトのログオンパスワードが定期変更の運用をされていて、実際とても迷惑しているからその恨みも込めて無意味であると思う根拠を書いていた。

パスワードの定期変更は意味があるのかないのか?
最近では個人情報の大規模漏洩が問題になっているのでそういう視点での再検証が必要だと感じた。
それで一旦は終わった問題という気がしていたが、もう一度書くことにした。

発端はこちらのまとめに上記の私の記事もまとめられていたからだ。
パスワードの定期変更は無意味という意見 - Togetterまとめ

このまとめはの発端はセキュリティ対策として他の条項と同じく
「パスワードの定期変更を一般に広く啓蒙すべきか?」
という話だったと思う。
多くの人が
「パスワードの定期変更を強調するのは手間などのコストがかかる割には効果はほぼなく、逆にパスワードを定期変更している不便という負荷をユーザにかけるためにパスワードを書いた付箋をモニターに貼ったりというようなモラルハザードが起こって、百害あって一利なし、むしろ有害」
「パスワード定期変更を啓蒙することで『パスワードさえ変更していれば安全』という誤解を生んで逆に有害」

という意見が多く、パスワードの定期変更の意義はほぼないことがもう定説になりつつあるように思っていた。

ところがこちらの大学の先生が
「パスワードの定期変更は『全く無意味』ってあらゆる状況で完全に否定できるのか」
とまぜっかえし始めたところからまた蒸し返しになってきた。

#TKDKG 先生の定期的ひよひよ変更プレイを今月もご覧ください! #パスワード - Togetterまとめ

それに対して誰かが
「誰も無意味なんて言ってませんがな、手間とコストの割にはセキュリティ効果が低すぎるしセキュリティのためには他にもっと優先すべき課題があるはずという話をしているんだが?」
とうっかり反論したために
「『パスワードの定期変更は無意味』と書いたブログ、サイト、ツイッターのツイートがこんなにたくさんある!これでも『誰も無意味なんて言ってません』としらを切る気か!」
と感情的にまとめられたのが冒頭のまとめで、その中に弊サイトのパスワード定期変更に関する記事もリンクを貼られているというしだいだ。

この先生もう3日も炎上しているようだが、レベル的には子供の喧嘩レベルの話でそんなところで引き合いに出されて迷惑している。


もうめんどくさいので、途中は省いて結論だけ書く。

パスワードの定期変更が効果がある局面は非常に限定的で、確率的にはほぼあり得ない状況を想定しており、それでもほぼあり得ないと言っても絶対にあり得ないわけではないので
「パスワードの定期変更が絶対に意味がないことを証明してみろ!」
とかいう議論も(詭弁ではあるが)できなくはない。
悪魔の証明のための議論は時間の無駄でしかないが。

過去記事で想定していなかったというか、最近話題になっている事例に当てはめると
「どこかの巨大企業から住所氏名・メールアドレス・パスワードの個人情報が大量流出した」
というケースがあり得ると思う。

某ベ*ッセから流出したパスワードのリストがリスト業者の間で売買されているという。
するとどういう実害があるか?

或る日突然、あなたの家に頼んでもいない「とらじろうの学習帳」がどっさり送られてくるかもしれない。
しかしこの問題の本当のリスクはそういうことではなく、同じメールアドレスとパスワードを使いまわして登録しているツイッター、フェイスブック、mixi、AppleID、PayPal、楽天、AmazonなどのIDがどんどん乗っ取られてしまい、そこらじゅうのSNSに身に覚えのない、だが自分アカウントのスパム投稿が氾濫したり、iTunes StoreやAmazonやPayPalからガンガン高額請求がきたりということだと思う。

だからパスワードは定期変更すべきということになるのだろうか?

このケースの問題点はパスワードを定期変更していないことではなく、パスワードの使い回しをしていることだ。
同じメールアドレスとパスワードを幾つものサービスで登録している。
これを定期変更したら、高額請求書やなりすましアカウントのスパムを防げるのかというとまず意味がない。
今では大抵の個人は一人で数十ものeコマースサイト、SNS、Webアプリサービスに登録している。
毎日愛用しているものばかりではなく、十年前に試しに登録して一度だけ使ってその後使わなくなってしまったものも含む。
この大学の先生はそういうアカウントも毎月とか90日に一回パスワード変更をしているんだろうか?

そんなことに手間をかけて消耗するよりも、パスワード管理アプリ(パスワードジェネレータ)を使用してランダムなパスワードをすべてのサービスに割り当てておき、それをワンパスワードで管理する方がはるかに手間も少なく安全性も高いはずだ。
そういうケースで「パスワードの定期変更を推奨します」なんて言ったって何の意味もないと思う。
そんなアドバイスをされて10年前に一回だけ試したSNSのアカウントのパスワードを毎月変更するようになるかといえば、そんなネットユーザは多分日本に両手で数えられるぐらいしかいないに違いない。


総当たり攻撃への防御や職場などのネットワークパスワードが漏洩した場合の、パスワード定期変更の無意味さはすでに過去の記事で検証済みだ。

パスワードの定期的変更は意味があるか

パスワードの定期変更は有効という幻想はなぜ繰り返しわき起こってくるのだろう?

「漏洩したパスワードを悪用されないために、たとえ90日に一回の変更でも全くしないよりしたほうが安全なはずだ。
それを全く意味がないというのは極論だ!…」

こんなところかなぁ、定期変更推奨論者の言い分は…

これも面倒なので結論だけを書くとパスワードが漏洩してからすぐに発覚するとは限らないということだ。
漏洩から数日経っているかもしれない。
30日に一回パスワードを変更するルールにしておけばこれは守られるのだろうか?
あるいは漏洩の翌日に発覚したラッキーな場合は有効なのか?

パスワードクラッカーの友達は残念ながらいないので直接聞いてみたわけではないが、もし自分がその立場だとしたら手に入れたパスワードを試すのに24時間も時間をかけないと思う。

1000件のリストだって数時間で全部当たれる。
この数時間のうちにバックドアを仕込んだり、盗めるものは全部盗んで24時間後にはすっかり撤収してもう接続すらしていないだろう。
その後でリスク回避のためパスワードを定期的に変更しましょうなんていってても、何の関係もないし何も守れない。ましてや30日後のパスワード変更なんて明後日の方向の話だ。

この大学の先生の発想はITの話をしているのにスピードのレンジが、どうも印刷物レベルのゆったりした感覚で勝負は最初の数時間なのに、30日に一回のパスワード変更に一体何を期待しているんだろうか?

漏れてはいけないパスワードなら厳重な管理をするべきだし、総当たり攻撃が脅威なら十分な強度を持ったパスワードを設定するべきだ。

外部からの不正入手されたパスワードを使用したアクセスを警戒するなら、ルーティングとかIP規制とかの対策をとるべきだし、そうした施作と明後日の議論のパスワード定期変更が「同等・同列の安全策」とは到底思えない。

パスワードの強度・ルーティングなどのネットワークのセキュリティ強化、パスワード管理の厳格化とパスワードの定期変更をまるで同レベルの効果があるセキュリティ対策のように言って
「そっちを啓蒙するならパスワード定期変更も同じように教育しなければいけない‥」
とかいうのはどう見てもそれぞれの対策の効果を理解していないか、何か商売上の思惑があるかのどちらかにしか見えないのだ。

「パスワードの定期変更が全く無意味なんて言えないじゃないか!たまたま漏洩したその日がパスワード変更の日だったら効果はあると言えるじゃないか!」
という議論は確かに成り立つかもしれない。
だから
「『パスワードの定期変更は全く無意味だ』というのは極論でそんなこと言ったらどんな対策だって破れないものはないじゃないか」
という言い方だってできる。
でもこれは
「内部被曝が怖いからゼロベクレルの食品でなければ何も食べない! あーあーきこえない (∩ ゚д゚)」
というのと同じような議論なんだよなぁ。
自然界にゼロベクレルの食品なんて存在しない…原発事故が起きる以前から全ての食品はわずかに天然の放射能は含んでいる…そのための安全基準だとかいう反論は彼らには一切届かない。

「フクシマ産のものは、たとえけし粒でも口にしない! あーあーきこえない (∩ ゚д゚)」
というのと
「パスワードの定期変更で絶対に全ての脅威を防げないとも言えないじゃないか… あーあーきこえない (∩ ゚д゚)」
これ似てるよね。

パスワードの定期変更でたまたまタイミングが合って漏洩したパスワードが無効になって助かるラッキーなパターンを期待するんじゃなくって、その対策の安全度とそれにかかる手間などのコストの量の比較の問題を言っているんだけど、量なんか関係なくゼロベクレルでなければ絶対に食べない!というんじゃ正しい比較判断もできないと思う。

ましてや
「パスワードの定期変更さえしていれば安全」
というジイ様あたりにありがちな誤解を拡大再生産するデメリットさえあることも考えると、パスワードの定期変更を強調するのはむしろ有害ではないか…と思ってしまうのだ。

そこらのニュアンスを説明するのがめんどくさいので…
一絡げで「パスワードの定期変更なんか無意味!」と簡単に結論して議論を打ち切りたくなるんだよな。

ここまで書くのにいつになく、時間がかかっている。
どうも筆が進まないと思ったら、要するにこの話題は面白くないし愉快でもないし私自身あまり興味を持てないので、こんな話に時間をかけたくない…と思っていることに気がついた。

なんとなく火の粉が飛んできた気がしたから、立場は明らかにしとかないといけないと思ったが、この件の議論には巻き込まれたくない。


ちなみに私の個人環境のパスワードの定期変更はやっていない。
自宅のネットワークを入れた当時から同じパスワードを使用している。
要するにそういうことだ。



2014 年 10 月 19 日




anchor

OS X 10.10Yosemiteをインストールしてみた〜思った以上に前OSと互換性があるので使えないアプリもほとんどなく懸念材料の大部分は解消された〜Safariの表示が遅い…などの解決法

さてこれである。

世間はOX10.10のインスコ祭りになっているが、私はしばらく様子見で…ということをいつもなら決め込むところだが今回は解禁初日にダウンロードして週末にインストール、使えるアプリ・使えないアプリのチェック、問題の対応など世間並みのヒトバシラーのようなことをやっている。

いろいろ気になっていることの情報を事前に集めていたので、ほぼ問題なさそうだという確信があったからだし、バギーなMavericksにちょっと嫌気がさしていたということもある。

入れてみておおむね良好なのだが幾つか問題点もあったので、その対応法も合わせてメモしておく。





そのダウンロードは10時間と出ていたが実際には8時間程度でできると思われる
私の回線環境が高速ではないのでなんとも言えないが
今のところこの速度はサーバ側の制約のように思う
ダウンロードが済んだらすぐにインストーラが立ち上がる




数分のディスクイメージマウントの後再起動がかかり「残り18分」と表示が出る
「おお、さすがYosemite!たった18分でインストールできるのか!OS9より速いではないか!」
と思ったがそんなわけがない…長い18分だった




途中こんなのも出たりするがくじけるな!
何度でもチャレンジだ!…




ということでやっと辿り着いた10.10Yosemiteの「このMacについて」の画面
ついにリビジョン番号も二桁になったOS X




そしてディスク容量も微妙に節約してくれるエコな(?)OSでもある
これも余計な装飾を省いたエコなインターフェイスのおかげか…




懸念材料の一つは擬似Fusionドライブに換装していたMacBook Proでも
動くかという問題でここを一番慎重に情報収集していた
問題ないとの結論を得たので今回珍しく解禁初日のヒトバシラーとなった
プレビューバージョンではTrim Enablerで問題を起こすという情報もあったが…




Onにして再起動後Trim Enablerのパッチも問題なくアクティブになった
自作FusionDriveユーザも心配しないでアップデートできると思う




ほとんどのアプリは問題なく動いているがAPI依存度が
大きいLittle Snitchのようなアプリはアップデートが必要だった
とりあえずアンインストールしてこの件あとで対処する




PhotoshopのようなAdobe製品はJavaRuntimeのインストールを要求される




そのAdobeのPhotoshopだがOSの上書きアップデートであるにもかかわらず
「ライセンシングが動作していません エラーコード150:30」という警告が出て起動できなくなった
Time Machineなどで全域を復元するとよく出るエラーだが上書きインストールでなぜこれが出るのかは不明
ライセンシング復元手順はことごとく失敗したので再インストールしかないと思う
この件もあとで対処する




もうひとつ残念だったことはYosemiteでついにApplejackが使えなくなってしまったことだ
インストールしなおしてもパスが通っていないのでシングルユーザモードで使えない
これは後で触れるbashの仕様変更のためと思われる




インストールしたなりのデスクトップの様子
フォルダアイコン、ボリュームアイコンなどのシステムアイコンがかなりイメージが変わった
フォルダのエイリアスはオリジナルアイコンが消えて全てデフォのフォルダアイコンに変わってしまった
エイリアスを作り直すことで元に戻る
それとcDockが動かなくなってしまったので透明ドックがデフォルトに戻ってしまった
これは対応バージョンを待つしかない




またバッテリの残量監視アプリとして
便利に使っていたBattery Time Remainingも表示できなくなってしまった
以前使っていたSlimBatteryMonitorに戻した




Yosemiteでは日本語入力アシスタントのことえりが廃止されるという噂は事実だった…
といってもことえりの辞書は引き継がれるし見た目はほとんど変わらないのでユーザには影響は少ない




「ことえり」という名称が消え日本語入力メソードの選択が「日本語・ひらがな」になってしまった
変わったのは名称だけではない…Lでラ行の入力ができたことえりのローカルルールが廃止され
Lはぁぃぅぇぉなどのかな小文字の入力用になってしまった
Windowsから来た人はこの方が慣れているだろうから問題ないが私のようにOS8時代から
このことえりローカルルールに慣れてしまった人は当分タイプミスに悩まされるに違いない




これはYosemiteの問題というよりMavericksから続く問題をYosemiteも引きずってるいるという感じだが
Safariの表示が異常に遅くまた読み込みを完了しないと
表示が真っ白のままで虹色ボールが回り続けて操作を受け付けないという問題がある
特にGoogle検索ページやはてななどのWebアプリページで表示の遅さが際立っている
この問題の解決法を…




システム環境設定ネットワークに入ってイーサネット詳細の中の
TCP/IPに入ってIPv6の設定を一旦自動からリンクローカルに切り替えてSafariを起動終了後自動に戻す
 




Wi-Fiなど他のインターフェイスでも接続する場合はそれぞれこの操作を繰り返す
これでSafariの表示が速くなるはずだ




Safariで表示中の特定のページの表示がかなりCPUパワーを食っている場合がある
これが出続ける間は上記の操作を繰り返すことで解消できるはず…
ていうかこのIPv6周りのゴタゴタはもういい加減にしてほしい




変換候補のタブ小窓が消えなくなったりなかなかグダグダな感じだ
これはシステムの再起動をしないと消せなかった




そうはいってもいま使用している大部分のアプリは問題なく動く
これも懸念していたVPN Activatorで設定するとvpndが起動してくるのも確認
これでVPNサーバのMac miniも安心してYosemiteにアップできる




cDockで透明化していたドックはYosemiteでデフォルトに戻ってしまった
この白いドックが嫌いなんだなぁ…




と思ったらシステムにドックのスキンを変える設定があった
システム環境設定一般の中にメニューバーとドックを暗くするという設定が新設された




やたっ!これでドックをスモークガラス風の黒にできる!
これでアイコンの視認性が上がってドックを小さいままで運用できるはず…




ところがメニューバーも黒くなってしまいモノクロアイコンがすべて見えなくなってしまった
メニューバーのモノクロアイコンはAppleの推奨じゃなかったんだろうか?
これって立派なチョンボだよね…ということで泣きながらこの設定は元に戻した
ドックだけ黒くできればよかったんだけど…




一番痛かったのはこのサイトの更新に主に使用しているFraise
ファイルを読み込ませると100%落ちるようになってしまったこと
このテキストエディタ気に入ってたんだけどもうGitでもメンテナンスされていないようだし仕方がない
いまのところ一番使用感が似ているCotEditorで問題なく更新できてるし…




私の場合こちらの方法でURIからターミナルを自動起動して
悪意あるコードを実行されるのを防ぐTipsを設定している
これはbashrcの追記でユーザアカウントだけでなくシングルユーザモードでも表示されていた
この設定が当然ながらYosemiteでも引き継がれている




ところがYosemiteからbashrcに追記してもこれがシングルユーザモードで表示されなくなった
どうやらアカウントのbashとシングルユーザモードのbashは環境ファイルのパスも分ける変更がされたらしい
例の大規模なbashの脆弱性の問題と関係があるのかないのかセキュリティが強化されたということらしい
このため従来のコマンドサーチパスが無効になってしまいついにAppleJackも動かなくなってしまった
頼りになるコマンドだったのに残念だがもうそういうものは必要なくなったと思いたい
プロジェクトサイトを確認したがAppleJackももうメンテされていないようなので諦めるしかない


2014 年 10 月 15 日




anchor

ZOC
(Shareware)
OS10.6SnowLeopard対応 OS10.7Lion対応 OS10.8Mountain Lion対応
OS10.9Mavericks対応 OS10.10Yosemite対応 WindowsXP~7対応

Mac、Windowsで使えるsshだけでなくローカルシェル、telnet、telnet/SSLなどが使えるターミナルエミュレータアプリ。

モデム接続などもサポートし、スキンも様々なデザインをプリセットに持っている非常に多機能なターミナルエミュレータなのだが、この中でも私が心惹かれたのはtelnetをデフォルトでサポートしている点だ。

UNIX系のサーバを管理するのにsshを使う。
Windowsサーバを管理するのにtelnetを使う。
細かいことをいうとそんなにスッキリ分かれているわけではないし、telnetを許可しないで運用するWindowsサーバも多いのだがそういう細かいことはこの際置いておく。
要するにUNIXはssh、Windowsサーバはtelnetと大まかに理解しておけばいい。

Mac OS XはUNIXだからデフォルトのターミナルシェルは何もインストールしなくても、何も設定しなくてもそのままsshをサポートしている。
Mac同士でシェルを使って遠隔を取る時にはsshを使うし、ssh仕様のUNIXサーバにはそのままつなげる。
めでたい。
しかしWindowsからUNIXサーバにつなぐ場合は、Windowsのコマンドプロンプトはtelnetしかサポートしていない。
そこでWindowsにはTera Termという強力なツールがある。
これを使えばtelnetもsshも両刀使える。

翻ってMacだ。
sshはデフォでサポートしている。
Mac同士やUNIX・Linuxサーバにつなぐのも問題ない。
しかしWindowsサーバにつなぐ時にtelnetだけのサーバにはつなげない。
Macでもtelnetが使えたらいいのに…

と、実はそんなに深刻に思っていたわけではない。
実際には仕事でWindowsサーバにつなぐ時はWindowsの端末をVNCで遠隔を取ったりVMware FusionなどでエミュレートしたWindowsからつないでいるので、別にMacでtelnetが使えないから困っているわけでもない。
VNCやエミュレータ越しのWindows経由というのが隔靴掻痒という感じがしないでもないが、実用的に使えるので別に困らない。

しかしMacユーザの性というのは
「WindowsではアレができるのにMacではできない…」
というのが我慢できない。
Macでもtelnetを使える方法はないか…

このZOCがWindowsでいうところのTera Termにあたる。

さっそくVAIOにtelnetでつないでみた。

繋がらない…(´・ω・`)

そう、以前にもここで取り上げたがWindows7になってtelnetはデフォルトでは使用できなくなっている。
以前ここでWindows7でtelnetクライアントを使用する設定について取り上げたが、今回はWindows7のtelnetサーバの設定についてもキャプチャーで触れる。
ステップは多くてメンドクサイが別に難しくはない。





ZOCでtelnet接続を使用したい場合はきわめて簡単
telnetサーバのドメインまたはIPアドレスを入力してコネクションタイプでtelnetを選択するだけでいい
ポートはデフォルトの23番以外を使う時に入力するので23でいいなら何も入力しなくていい




…のハズなのだが繋がらない…
そうテストに使ったVAIOはWindows7
今どきのWindowsはデフォルトでtelnetを殺してあるので設定が必要だ




まずtelnetを以下の手順でインストールする
コントロールパネルから「プログラムと機能」を開く
その左のペインに「Windowsの機能の有効化または無効化」を開く




以前telnetクライアントを有効化するのにここでチェックを入れる方法を紹介したが
サーバも同じ要領でここにチェックを入れて有効化する
OKを押すと少し待たされてインストールが完了する
有効化は再起動が必要




ファイアウォールを使用している場合はコンパネの「Windowsのファイアウォール」に入って
「Windowsファイアウォールを介したプログラムまたは機能を許可する」を開く




インストールした時点でポートは開いている筈だが一応念のためにここにチェックが入っているか確認する




次に管理メニューに入ってアクティブディレクトリの許可・サービスの開始を設定する
デスクトップのコンピュータアイコンかそれが無い場合はスターメニューのコンピュータを右クリック




管理メニューのローカルユーザーとグループユーザーに入る




ここに現在登録されているユーザのリストが見える
telnetを許可したい自分のアカウントを右クリックしてプロパティを開く




登録したいアカウントの全般を開いて「次回ログオン時パスワードの変更が必要」
チェックが外れているのと「パスワードを無期限にする」のチェックが入っているのを確認する




次に「グループ」を開いてTelnetClientsを右クリックしてプロパティを開く




新規で現れたダイアログボックスの「追加」ボタンをクリックする
先のユーザーリストから有効化したいユーザーを選択してここに記入する
OKで追加が有効になる




アカウントが追加されたことを確認
サービスのメンバーはインターナルのアカウントしか許可できない
なのでMac側のアカウント名でログインしたい場合は同じ名前の
アカウントをWindows内に作らないといけない
同じアカウント名にする意味はあまりないと思うが…




次に同じ「コンピュータの管理」の中の「サービスとアプリケーション」でサービスの一覧を開く
ここにTelnetが見えている筈だがインストールしたなりではサービスは無効になっている筈だ




このTelnetサービスをクリックするか右クリックでプロパティを開く
スタートアップの種類は無効になっているのでこれをまず「自動」にする




するとグレーアウトしていた「開始」ボタンが操作可能になるのでクリックする




サービスの状態「開始」になったらサービスは有効になった
この状態でOKボタンで確定する




こうしてZOCの接続パネルにWindows機のIPアドレスを入れて接続するとtelnet接続に成功した




ここでひとつ問題が起きた
telnetからpingを打たせたところ文字化けして結果が読めない
これはZOCの側の問題で日本語をエスケイプしていないので
日本語のコマンドプロンプトの出力を表示できない




そこでこの問題の対応法を探したところこちらにあった
日本語を表示できないならコマンドプロンプトを英語表示にしてしまえば良い
英語だが文字化けした日本語よりはマシだ
コマンドはchcp 437となる437は英語のコードで
日本語は932、chcpだけなら今の言語モードの確認が可能




chcp 437を打ったところこのように英語表記になって文字化けは無くなった




例えばWindowsのIPアドレスを調べるipconfigなんてコマンドは文字化けしていたら使い物にならない




英語化すれば日本語のアダプタ名は化けているがそれ以外はちゃんと表示しているので
概ね使い物にはなるしIPアドレス確認程度なら問題ない
この変更は1回きり有効で次回接続時はまたサーバのデフォルト値に戻ってしまう
そこで次回接続時にもとに戻らないようにする方法はリンク先に記述されている




Telnetに興味があったのでそこばかり解説してしまったがこのZOC
ターミナルエミュレータだから当然内蔵シェルにも接続できる
ドメインを「localhost」とすれば自分のMacのデフォルトbashに接続できる
ツールバーには履歴・接続・切断・スクロールウインドウ・転送などのメニューが並ぶ
スキンもデフォルトでいろいろお洒落なデザインが用意されている




クイックコネクションのボックスでSave as…をクリックするとこの接続情報、つまりIPアドレス、
ドメイン、接続プロトコルの種類、ターミナルのデザインなどの情報を保存できる




次のダイアログで分かりやすい名前をつけて保存すればいい




ツールバーの「ホストディレクトリ」ボタンで保存した接続を
ワンクリックで呼び出すことができるのもかなり便利
こうして便利になってますますものを覚えなくなっていくのであった


2014 年 10 月 12 日




anchor

Scroll Reverser
(Freeware)
OS10.5Leopard対応 OS10.6SnowLeopard対応 OS10.7Lion対応
OS10.8Mountain Lion対応 OS10.9Mavericks対応 OS10.10Yosemite対応

Macのトラックパッド、マウスなどのスクロールの向きをメニューバーアイコンからの操作でワンタッチで逆にしたり戻したリが可能なメニューバーアプリ。

Macを使っている人達ならつとに知っていることだが、MacはLionから大胆にもスクロールの方向を逆にしてしまった。
つまりWindowsやLinuxのX-Windowとは逆に動くようになった。

スクリーンの表示領域よりも大きい画像、ウインドウの内容、テキストなどを見せる時に表示領域をずらしていけば見えていないところも順次表示できるというのがGUIのスクロールの概念で、その動きの基本は
「窓の縁をつかんで下に引きずれば表示領域が下に移動する…」
という「窓の考え方」だ。

だから窓の縁を示す「スクロールバー」に矢印ボタンやスクロールカーソルが表示されるというのがそれ以前のMacやWindowsのGUIの考え方だった。

だがAppleはiPod、iPhone、iPadの急激な普及にともないその専用OSのUIとMacのOSのUIの統一というタイムスケジュールを打ち出してきた。

iPhoneやiPadなどのタッチスクリーンは窓の縁をつかむのではなくコンテンツを直接つかむ。
テキストならテキストを、画像なら画像を、ウインドウのファイルリストを直接つかむという考え方だ。
直接つかんだら、下にスクロールした時にウインドウが下に移動してコンテンツが上に移動するのは人間の感覚とは逆になる。

だからLionから下にスクロールしたらコンテンツも下に動くようになった。
もしウインドウ表示されているコンテンツなら窓の縁は上に動いていることになる。

人間の感覚に合わせた変更だから合理的な変更ともいえるのだが、これは少し困った問題を含んでいる。

Windowsユーザがちょっと借りたMacを操作すると、スクロールが逆に動くのを見て多いに面食らうに違いない。
最初は使いにくくて仕方がないだろう。
WindowsユーザだけでなくSnowLeopard以下のMacを使っているユーザも同様だ。

Windowsユーザが触る間だけ一時的にスクロールの向きを逆にしたい…あるいはSnowLeopard以下のユーザがMavericksなどの最新のMacをいじった時に面食らわないように、このナチュラルなスクロール操作に慣れておきたいのでSnowLeopardのスクロールを逆向きにしたい…
そういう時にこのScroll Reverserが役に立つ。

同じことはシステム環境設定のトラックパッドやマウスの設定でも可能だが、いちいち設定の変更をするのにシステム環境設定パネルを開くのは億劫だ…というくらい頻繁に設定変更をする人には、このメニューバーからプルダウン一発でスクロールの向きが変わるのは便利だと思う。

またトラックパッド、マウスそれぞれ別々に設定を変更することもできる。





Scroll Reverserを起動する時に出てくる起動画面
アップデートを自動チェックするかを聞いているだけのシンプルさで
OKを押せばもうスクロールは逆になっている




Scroll Reverserはメニューバーに常駐する
ここからプルダウン一発で有効・無効を切り替えられるので
頻繁に設定を変更する人には便利なツールだ
垂直のスクロールを逆にして水平方向のスクロールはナチュラルのまま…
がデフォルトだが両方とも逆にすることもできる
またトラックパッドだけ逆にするとかの切り替えもここから可能




全体のオンオフはプルダウンの最初のReverseのメニューチェックの入り切り
チェックありだとスクロールは逆になる
つまり上にスクロールするとコンテンツは下に流れていきスクロールカーソルは上に移動する




チェックを外すとナチュラルになる
つまり上にスクロールするとコンテンツは上に流れていきスクロールカーソルは下に移動する




デフォではチェックが外れている水平方向のリバースにチェックを入れると横スクロールが逆になる
つまり右にスクロールするとファイルリストは左に流れる
チェックを外せば元に戻る


2014 年 10 月 11 日




anchor

iOS8にアップデートしたらiPhoneがWi-Fiで同期できなくなってしまった〜その解決法2〜とりあえずiCloudバックアップをやめてみる

iPhoneをiOS8にアップデートしたら、MacのiTunesで認識しなくなって無線同期ができなくなった。

iPhoneやiPadをiOS8にアップデートして以来、iTunesとWi-Fi経由で同期しない問題の解決法を前回書いた。
iOS8にアップデートしたらiPhoneがWi-Fiで同期できなくなってしまった〜その解決法

上記の方法でWi-Fi経由で全く繋がらなくなっていたiPhone、iPadはとりあえずiTunesに認識されてマウントするようにはなった。
ところがその状態で同期しようとしても毎回同期に失敗する。

しばらく目を離していると、「通信が途切れたために同期に失敗しました」という意味合いの表示が出て再検索をかけるがまたiPhoneが見えなくなってしまう。
iPhoneを認識させるために再起動する。
するとマウントするが、また同期に失敗しiPhoneを再起動し…
この無限ループにはまっていた。

「iCloudのドライブが容量不足のためバックアップに失敗した」
という意味合いのエラーも表示されるのでシステム環境設定のiCloudのドライブ管理画面に入ってみると5GBのフリーバージョンのドライブは空き容量780MBで、ほぼ枯渇しかけている。 最近は写真の共有にも使っていないので、枯渇するほど容量を喰う筈がないのだが…と覗いてみるとなんとiPhoneのバックアップでほとんどの容量を喰っている。

iPhoneの中身は前とそんなに変わらない筈だが、iOS8になってからバックアップを取る領域が拡大されたのかデフォルトの5GBでは足りなくなっていた。
このためにiCloudへのiPhoneのバックアップに失敗していた。

iPhoneがiTunesと同期に失敗する問題は、この容量不足によるバックアップの失敗のせいなのか、それともYosemite対応のiCloud Driveの仕様変更のせいなのかは不明だがどのみちこのiCloudもWi-Fi同期をジャマしているようだ。

とりあえずiPhoneのバックアップ先のiCloudをやめてMacのローカルにバックアップをする設定にした。
これはこれで便利な機能だったけど、バックアップがローカルにあるからって困ることもない。





「iCloudの容量がほとんど残っていないためバックアップに失敗」という表示がMacでもWindowsでも出ていた
その原因がこれiOS8にしてからバックアップがiCloudのストレージを占拠してしかもまだ未完了になっている
これはジャマなので下の削除ボタンで削除した




iTunesのiPhone同期の設定に入って同期先をCloudからローカルディスクに変更した




バックアップが完了したのでバックアップサイズを確認した
バックアップの場所はiTunesの設定のデバイスの中のバックアップリストを右クリックしてFinderで表示できる




バックアップは~/Library/Application Support/MobileSync/Backupの中の任意の16進数番号のフォルダにある
そのサイズを「情報を見る」で確認した結果5.89GBもあった
以前はiCloudにバックアップがとれていたのにiOS8にして2GBもバックアップがデカくなった




以上の手順を踏んでからまたiTunesとiPhoneの再起動を実施
iCloudストレージをカラにしたおかげかバックアップ先をローカルに
したおかげかは不明だがWi-Fi経由で同期ができるようになった
これでもHDビデオなどがあるとやはりセッションが切れてしまうがそういうものを片付ければ動き始めた




しかしそれでもまだ不安定で数回に1回は失敗する感じ
新規でHDビデオを同期する時はやはりUSBでつながないといけない
これもiOS8のバグということか…

anchor

WebDAVやVPN、AFPのサーバーにファイルをアプロードする時に知っておくと便利なcpコマンドの使い方

Webサーバを運用する時に昔だったらFetchのようなFTPクライアントを使っていたかもしれない。
しかしこの昔の FTPってスゴく不安定で時間もかかった。

今はCyberduckのような優れもののFTPクライアントもあるのだが、だんだん時代が便利になってきてWebサーバにもFTPを使わずにファイルブラウザで直接ファイルをプットできるサービスが増えた。

例えばDropboxはWebストレージサービスだが、極端な話このサーバを使ってWebサイトを作ることもできる。
この場合アップロードは同期しているフォルダにアップしたいhtmlファイルを移動するだけだ。

そこまでいかなくても今このサイトを置いているMacServerさんは、ストレージを直接マウントしてローカルストレージと同じようにFinderでファイルを移動するだけでファイルがアップロードできる。

ところがMountain Lionあたりから困った問題が起き始めた。

このサイトを更新するためにMacServerにhtmlファイルを Finderでアップロードしようとすると、いつまでも
「***ヘのコピーの準備中」
の青い床屋バーがくるくる回ったままになって一向にアップロードが始まらなくなる。

コマンド+Option+EscでFinderを再起動すれば問題なくアップロードはできるようになるのだが、次の回にまた床屋バーがくるくる回ったままになって、一向にらちがあかない。
メンテナンスでサイト全ページのファイルをアップロードするとなると半日仕事になってしまう。





MacServerにこのサイトの更新のためにファイルをアップしようとするとこのような表示のまま永久に進まなくなる
数十分待っているとフッとアップロードできることもあるがファイルを一個ずつアップロードするのに
いちいち数十分待っていられないので結局Finderを再起動することになってはなはだ能率が悪い



これはMacServerの問題ではなく出先からVPN経由で自宅のサーバにファイルをアップロードする時も全く同じ問題が起きるので、Finderのバグと思われる。
以前のバージョンでは問題なかったが、Mountain Lionで急にこの問題が頻発するようになった。
Mavericksで改善されるかと期待したのだが、結局今も全く同じなので大いにがっかりした。

そこで
「まあ、Finderがバグがあって使えないのならTerminalを使えばいいのに…」(#マリーアントワネッター)
ということでTerminalコマンドを使ってアップロードをすることにした。

といっても遠隔ボリュームはマウントできているわけだからFTPなどのコマンドを使う必要はない。
普通にコピーコマンドのcpを使ってアップロードをした。

このcpコマンドの使い方は以下のようになる。
【ファイルをコピーする場合】
cp (コピー元のファイルのパス) (コピー先のファイルを置きたいディレクトリのパス)

(ファイルはスペースを挟んで複数指定が可能)

【フォルダごとコピーする場合】
cp -Rv (コピー元ディレクトリのパス) (コピー先のフォルダを置きたいディレクトリのパス)


例えば
Users/ユーザ名/Sites/1.jpg
をマウントした遠隔ボリューム名「target」の中の「Sites」という名前のフォルダにコピーしたい場合は

cp Users/ユーザ名/Sites/1.jpg Volumes/target/Sites

でOKだ。
ファイルは
cp Users/ユーザ名/Sites/1.jpg Users/ユーザ名/Sites/2.jpg Users/ユーザ名/Sites/3.jpg Volumes/target/Sites
という感じで複数指定して一気にアップロードができる。
ただしUNIX的制限から一度に指定できるファイル数は100までだ。

今回Finderのいちいち停まる挙動に我慢ができなくなりcpコマンドでアップロードを完了したのでそのコマンドの使い方をメモしておく。





キャプチャのコマンドはhtmlファイルを遠隔でマウントしたnmutaという名前の
サーバのボリュームの中のディレクトリにアップロードしている
cp Users/hiiragi/Sites/tips1.html Users/hiiragi/Sites/tips2.html Volumes/nmuta/Sites
コマンドはこんな感じでオブジェクトのファイルのパスが先でスペース挟みで複数指定可、
最後にターゲットのボリュームの中のフォルダ名という構文になる
これもネット越しだと時間はかかるがFinderのように途中で停まったりはしないので
ずっと監視していなくても良いのが最大のメリット




cp -Rv Users/hiiragi/Sites/homeimages Volumue/nmuta/Sites
これは-Rvで「ディレクトリの中身も含めて全てコピーする」と
「何をしたかを表示する」というオプションになる
コピー元のパスを書いたhomeimagesというフォルダを
ターゲットのディレクトリ内に中身ごとコピーしている
下には何をコピーしたかのリストが表示される

anchor

SeagateのSSHDを換装したMac miniでそのスピードなどレビューしてみる

先日以下の記事にも書いたように自宅のメディアサーバー兼VPNサーバ兼家族共有機のMac mini/intelの内蔵ディスクをWDのハードディスクからSeagateのハイブリッドディスクに交換した。
2ヶ月周期でハイブリッドが死ぬMac mini…HDDだとやっぱり70日以上稼働しても問題ない…今度はSeagateのSSHDに換装してみるテスト

換装後のデータの引き継ぎも順調に進んで快調に動いている。
体感速度的にはやはりハイブリッドになってかなりテキパキ動くようになった。

そこでベンチマーク的にはどれくらい速くなったのかをBlackmagic Disk Speed Testのテスト結果で比較してみた。





こちらはWDの1TBハードディスクを搭載時のベンチマーク
かなり遅いが大容量のファイルサービスをするAppleTV用ストレージ的な
役割を期待していたのでその面では充分な速度とも言える
ただ共用機として使っている家族からは「スゴく遅くなった」というクレームの対象になった




比較のために東芝のハイブリッドディスクを搭載時のベストスコアを
常時はリードライトともに90〜100Mbbsほどだったが
時々こういう目も醒めるようなスピードが出た




今回換装したSeagateのハイブリッドディスクは東芝のように
突発的にベストスコアを叩き出したりはしない
ただ常時アベレージの80〜100Mbpsのスピードは
出ているので体感的には東芝とあまり変わらない



このようにスピードはまあまあ満足がいくレベルなので、あとは故障さえしなければいいのだがどうなりますことやら…



2014 年 1 0月 6 日




anchor

iOS8にアップデートしたらiPhoneがWi-Fiで同期できなくなってしまった〜その解決法

iPhoneをiOS8にアップデートしたら、MacのiTunesで認識しなくなって無線同期ができなくなった。

USBでつなげばちゃんと認識する。
その状態ならアップデートも同期もできる。
しかしUSBケーブルを抜くとWi-Fiが繋がっているにもかかわらず、iTunesにマウントしない。
Wi-Fiで同期する設定にはなっている筈だが、同期できない。

この場合の対処法は、こちらにあった。
iTunes 10.5 and later : iTunes Wi-Fi 同期に関するトラブルシューティング

手順はきわめて簡単だった。
1)iTunesを再起動する
2)起動したら次にiPhoneを再起動する

以上の手順でiPhone、iPadを認識できなくなったMacBook ProとMac miniの問題が解決した。

同じ症状を経験している人は参考にされたし。





iTunesを11にアップしてiPhone、iPadをiOS8にアップデートしたところ
iTunesのここにあるべきペアリングしたiPhone、iPadが見えなくなった
当然無線で同期もできなくなってしまった




この問題は上記の通りiTunesとiPhone、iPadを再起動することで解決した
iOSデバイスをアップデートしたなりではWi-Fi接続できない問題があるらしい


2014 年 10 月 5 日




anchor

2ヶ月周期でハイブリッドが死ぬMac mini…HDDだとやっぱり70日以上稼働しても問題ない…今度はSeagateのSSHDに換装してみるテスト

6月28日に内蔵ディスクとして使用していた東芝のSSHDが死んでしまったMac mini。
その時に検証のためにWDのHDDに換装していた。
詳細はこちら
186)VPNサーバとして使っていたMac miniのハイブリッドディスクがまたもや2ヶ月でお亡くなりに〜Macとは相性が悪いのかもしれない

そして90日以上様子を見ていたがWDのHDDは現在に至るも全く問題を起こしていない。
ディスクユーティリティでチェックしても全くエラーを出していない。
これでMac mini自体の故障の線はかなり薄くなったと思う。
次はSSHDはどれもこうなるのかという検証に入る。

そのために先日入手していたSeagateの1TBのSSHDに換装した。

もうMac miniの分解は何回目だろうか。
どこが手間がかかるか、どこでつまづくかも熟知してしまったのでマニュアルも何も見ないでも分解組み立ての最短ラップを叩き出した。

それはともかく本日より開始したSeagateのSSHDで70日目に問題が起きないか…結果が出るのは年末というところ。
その頃のまた結果報告をアップするね。





90日以上検証したWDのHDD(左)はやはり何ら問題を起こさなかった
そこで計画通りこれをあらかじめ入手していたSeagateのSSHD(右)に換装する




SSHDは認識に多少時間がかかったがディスクユーティリティでマウントを確認
さっそくHFS+でフォーマットした




そしてMavericksのインストーラもあっさりこのディスクを認識した
OSをクリーンインストールして外付けハードディスクに
移したWDのHDDから移行アシスタントで環境を復元する予定
そのあと動作を一通り確認したらWDのHDDはTime Machineのバックアップディスクになる




ところで今回もこちらの手順でインストールメディア化したハードディスクから
インストールしてもう一つの外付けディスクケースに移したWDのHDDから環境を復元した
バックアップのインストーラアプリから起動できないかやってみたが
自分で自分を復元できないのは仕様らしい
自分のコピーを復元できないのはライセンスの関係からか…結局この方法に落ち着いた


2014 年 10 月 1 日




anchor

Macに久々の大型セキュリティホール!〜ShellShockの脅威について自分なりのまとめと対策〜MavericksだけでなくPowerPCでTiger旧マシンも対策を急げ!【追記あり】

この数日いろいろ忙しかったので更新が止まっていたが、忙しかった理由のひとつがこれだった。

Macにも久しぶりの大型セキュリティホールが発見されたことがニュースになっていたのだが、一般的なMacユーザはどれほど認識しているのだろうか。

UNIXで広く使われているbashのシェルに管理者、アクティブユーザの意図しない任意のコマンドを実行されてしまう脆弱性が発見された。
詳細はこちら。
Shellshock- Bash Bug 脆弱性について知っておくべきこと | Symantec Connect

この脆弱性はbashを使う全てのOSに影響がある。以下のLinuxはパッチを配付している。
Debian
Ubuntu
Red Hat
CentOS
Novell/SUSE

BSDを筆頭にUNIXもbashを使用している。
そしてMac OS Xもその流れなので当然bashを使用している。
故にMacでも危険な脆弱性であるという点では全く同じなのだが、Appleは早々と
「ユーザーが高度なUNIXサービスを設定していない限り、ほとんどのユーザーは安全」
という発表をして逆にミスリードするというチョンボを繰り返している。

bashの脆弱性はシェルの問題なのでShellShockと呼ばれているが、さっそくこれを利用したbotネットが出現している(といううわさ)が登場している。
bashのShellshock脆弱性を利用するボットネットが出現 | スラッシュドット・ジャパン Linux

またこのシェルのセキュリティホールを攻撃するマルウエアも登場している。
【セキュリティ ニュース】「ShellShock」で侵入するマルウェア - DDoS攻撃機能を搭載:Security NEXT

これらの被害の詳細は続報を待たないといけないが、この数日このShellShockの影響やリスクについていろいろ調べていて、決してAppleが言うような「一部の特殊なマニアックなユーザのみの脅威」なんかではなく、全てのMacユーザが脅威にさらされているという確信を持っている。

ファイアウォールで守られたサーバも、ある条件が揃えば任意のコマンドを実行されてしまうOSコマンドインジェクションが可能だということだ。
ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記

またどこで読んだのかリンクを探しているのだが、クッキーなどを使用してインジェクションも可能だという記事も見かけた。
だから「高度なUNIXサービスを設定していない」個人ユーザも安全といえないように思う。

このShellShockとはどういうバグなのかの詳細はこちらに詳しい解説がある。
bash の脆弱性 "Shell Shock" のめっちゃ細かい話(CVE-2014-6721)- もろず blog

bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog

これに対してAppleもbashのパッチをMacのインストーラで簡単に当てられるパッチアップデートを発表したが、一般的なソフトウエアアップデートではなく自分でインストーラをダウンロードしてきて当てないといけない形式の配布にしたところが、いかにも危機感がない。
Apple、Bashの脆弱性を修正する「OS X bash Update」公開 ;マイナビニュース

そのMacのパッチはこちらで入手できる。
OS X bash Update 1.0 - OS X Mavericks

Mavericks以外のバージョンのパッチはこちらから入手できる。
Lion以降がサポートされている。
アップル - サポート - ダウンロード


Appleはおおらかに構えているようだが、いろいろ調べてみてこれは多分Mac OS Xの脆弱性としては2004年のURI脆弱性に匹敵する脅威で、「一般的なユーザにはほとんど関係がない」などと言ってしまっていいものとは私には判断できない。

対策ができる人は速やかに対策をするべきだと思う。





今回の脆弱性はいくつかまとめて見つかっているがその代表のCVE-2014-6271の例
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"という環境変数の文字列を読み込ませる
その変数の入るべきところに「vulnerableと書き出せ」というコマンドを
忍び込ませておくとシェルに「vulnerable」と表示される
これ自体は他愛もないコマンドだが、替わりにもっと悪意のあるコマンドを忍ばせることができる
また環境変数なのでコマンドを打たなくても任意のファイルからbashを呼び出してこれを実行させることができる




上記のAppleのサポートページからパッチをダウンロードしてきてさっそくインストールする




インストール後に同じ文字列をTerminalに置いてみたが
「vulnerableと書き出せ」というコマンドは無効になっているのが分かる




他にもCVE-2014-7169、CVE-2014-7186、CVE-2014-7187などの
ShellShockが発見されているがそれぞれの検証用コードを走らせてみる
「vulnerable」と表示されたらまだ脆弱性が残っているとのこと



この脆弱性の影響を受けるbashのバージョンは上記のリンクまとめサイトに詳細が書かれているが、以下のバージョン。

Bash 4.3 Patch 25 およびそれ以前
Bash 4.2 Patch 48 およびそれ以前
Bash 4.1 Patch 11 およびそれ以前
Bash 4.0 Patch 39 およびそれ以前
Bash 3.2 Patch 52 およびそれ以前
Bash 3.1 Patch 18 およびそれ以前
Bash 3.0 Patch 16 およびそれ以前
Bash 2.0.5b Patch 8 およびそれ以前

Terminalを開いて
bash --version
と打てば現在の自分の使用しているOSに使用されているbashのバージョンを調べることができる。

調べてみると明らかになると思うが現在のMacの全てのバージョンが、この脆弱性の影響を受けるバージョンであることが分かる。
また脆弱性の検証コードは以下の通り(これもbashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyologさんより)

CVE-2014-6271の検証コード
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

CVE-2014-7169の検証コード

env x='() { (a)=>\' bash -c "echo echo vulnerable"; cat echo

CVE-2014-7186の検証コード
bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "vulnerable"

CVE-2014-7187の検証コード
(for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || echo "vulnerable"

以上のAppleからのパッチインストーラでMavericksからLionまでのOS Xは 少なくともこれらの公表されている脅威からは解放される。
MacBook ProとVPNサーバにしているintel/Mac miniはさっそくパッチを当てた。


問題は自宅サーバのiBook G4だ。
Webサーバとして使用しているこのPowerPCのMacはOSはTigerでこれ以上にアップすることはできないことは過去に何度か検証している。

上記パッチはLion(OS10.7)以上しかサポートしていないためTiger(OS10.4)にはパッチが適用されない。

上記の影響を受けるバージョンに該当するか調べると、勿論該当していた。

このiBookはもうサーバのみの使用で、これでWebブラウジングとかをしたりもしない。
CGIを動かしてるわけでもないので切迫もしていないと思うが、ネットワークにつなぐMacは全て対象と考えてiBook G4のbashをパッチ込みでコンパイルし直すという方法を選んだ。

必要なのはbashのソースコード。
GNU Project Archives

これを最新版にアップデートするためのMacPorts
The MacPorts Project -- Download & Installation

またコンパイルに必要なXcode
Xcode 2.4.1 Downloads

そして現在ShellShockに対応したパッチを以下からダウンロードした。
GNU Project Archives

インストールの手順は以下を参考にした。
osx - How do I recompile Bash to avoid Shellshock (the remote exploit CVE-2014-6271 and CVE-2014-716…





Webサーバとして上げているiBook G4のTerminalを起動して
例の脆弱性検証コードを走らせるときっちり脆弱性を表示した




そこでbashを無効化して再コンパイルするためにbashのソースコード、
MacPorts、Xcode、bashパッチをダウンロードする
パッチは上記のプロジェクトリンク先から3.2.49〜3.2.54をダウンロードしてくる
パッチはテキストなので右クリックでダウンロード先に保存する




これらのパッチは上記の通りテキストなので拡張子を.txtから.patchに変更する
コンパイルの都合でファイル名も「bash3.2.49.patch」
というように元ファイル名を確認しながら書き換える




さて脆弱性が該当するG4のbashバージョンを確認した
コマンドbash --versionと打つ
バージョンは2.05b.0でかなり古い




PowerPC向けのXcode、v2.4.1をダウンロードしてきてインストール




Xcodeをインストール成功したらライセンスオプションでビルドすると
書いてあるが「不明なオプション」と表示されて失敗した
さらにMacPortsをアップデートするコマンドは「コマンドが見つからない」…
そう先にMacPortsをインストールしないとこうなります…




MacPortsはプロジェクトページからTiger向けのバージョン2.3.1-10.4-Tiger
のディスクイメージをダウンロード
pkgを起動してインストールした




インストールが完了したらTerminalsudo port selfupdate
と打ってPortsを最新版にアップデートしておく
といってもさすがにPowerPC版にアップデートはないようだが…




sudo port upgrade outdatedでアップグレードも探るが何も無し
一応の手続きなので…




bashのソースコードを解凍する
入手したのはbash-3.2.48.tar.gzなのでデスクトップに置いた場合は
まずcd ~/Desktopとしてカレントディレクトリを移動しておいて
tar xzvf bash-3.2.48.tar.gzと打って解凍する
少し待たされる




解凍が完了したらcd bash-3.2.48と打って
解凍したbashソースコードフォルダの中にカレントディレクトリを移動しておく




次に先にダウンロードして.patchの拡張子にリネームしていたパッチファイルを
コマンドはcp ../*.patch .と打ってこのbashソースのフォルダの中にコピーする
次に既存のbashコマンドバイナリをアーカイブ化しておく
すべて_oldとファイル名のあとについたファイル名に変更して無効化しておく
削除しないでアーカイブ化しておくのは失敗した時にもとに戻せるように…
コマンドはsudo cp /bin/bash /bin/bash_old
sudo cp /bin/sh /bin/sh_old
sudo chmod -x /bin/bash_old
sudo chmod -x /bin/sh_old

そしてmake、installして失敗した…ひとつ手順を抜かしていた




makeする前に先のパッチのコピーが成功しているかどうかも確認しておこう
成功していたらこのようにbash3.2.49.patch〜bash3.2.54.patchのパッチが並んでいる筈だ




ここでfor file in *.patch ; do
patch -p0 < $file
done

とコマンドを打っておく
途中y/nをいくつか聞いてくるがnで進んでリジュームをyで抜けるとうまくいった




先ほど失敗したmake, installのコマンドを実行する
コマンドは./configure --prefix=/ ; make ; sudo make install
結構待たされるが完了したらbash --versionと打ってbashのバージョンを確認する
パッチの適応に失敗したらversion 3.2.48と出るが成功したらversion 3.2.54と出る筈だ




上記の脆弱性検証コードを実行してみる
全滅だったのがひとつをのぞいて全て無効化に成功した
CVE-2014-7187に関しては後日対処する
少し面倒だがPowerPCのMacを引き続きサーバとして使用したいなら必要な手続きだと思う



【追記】Leopard〜SnowLeopardにもパッチを適用する

BBSに「安野遠」さんより指摘いただいた。
『『上記パッチはLion(OS10.5)以上しかサポートしていないためTiger(OS10.4)にはパッチが適用されない』
と書いてあるのですが、
Lionは(OS10.7)ではないかと。』


おっしゃる通りです。
またもやうっかりミスです。
Apple配布のパッチは、OS10.7〜10.9を対象にしていました。

ということは10.5〜10.6のインストール法にも触れないといけない…といっても原則は同じなので10.4でやったのと同じ方法が適用できる。
またBBSに「森本敦」さんからいただいた情報によるとPacifistからインストールファイルを摘出してインストールすれば、10.5、10.6でもインストールできるとのこと。
私のところには検証できる環境がないので、確認できないが「森本敦」さんはSnowLeopard環境でうまくいったとのことだ。





bashアップデートをダウンロードしてきたら、Pacifistで中をのぞくと
インストールすべきディレクトリに必要なファイルが入っているのが分かる
これをそこにインストールする手順は1)bashのインストール先の
ファイルをリネームなどでアーカイブ化してバックアップを取る
2)Pacifistでインストーラを開いて中のサブパッケージの中の
最初の階層のフォルダを全て選択して左上のInstallボタンでインストール
これでサポート外のSnowLeopardでも動いたそうだ






Previous  Index  Next



site statistics