相互運用

Mac の root パスワードを管理する

Chris Stoneff

 

概要:

  • Mac で権限を昇格する
  • root アカウントを有効にする
  • sudo コマンドを通常ユーザーが使用できるようにする

OS X を実行している Macintosh の基本的な状態は、ユーザー アカウント制御 (UAC) を有効にしている Windows Vista とよく似ています。管理者権限がなく、root アカウント (管理者アカウント) が無効にされて、管理者特権を必要とする操作を実行する際には権限を昇格するよう求められます。Windows Vista で、管理者アカウントを管理したり、必要なときに使用したりする方法についてはおそらくご存じでしょう。しかし、Mac に不慣れな場合は、このような方法がすぐにはわからないことがあります。

Mac では、管理機能を (特にターミナルで) 実行するには、認証が必要な sudo コマンドを発行する必要があります。ですが、認証は簡単に行えます。既定では、ユーザーが自分のパスワードを再入力するだけで必要な認証を実行できるように構成されています。

簡単すぎると言う方もいるでしょう。なぜなら、Windows と同様に、ユーザーのパスワードが推測、盗難、または解読され、そのパスワードを使用してシステムにローカルまたは SSH でアクセスできれば、攻撃者は root アカウントを有効にした場合と同じようにコンピュータを乗っ取ることができるからです (root アカウントは Windows の管理者アカウントに相当します)。さらに悪いことに、攻撃者が sudo –s コマンドを使用してシェルを起動すれば、システム ログには何も記録されません。

では、必要に応じて Mac ユーザーに必要な権限を与えると同時にセキュリティを強化するには、どうすればよいでしょうか。奇妙なことですが、これは root アカウントを有効にすることで実現できます。

OS X では、既定で root アカウントが無効にされていますが、この構成は一般的な安全対策に従ったものです。既に説明したように、この状態ではユーザーが自分の資格情報を再入力するだけで昇格された権限を取得できるという問題があります。ユーザーが自分の資格情報を再入力するだけでは root レベル (管理者) のアクセス権を取得できないようにするには、root アカウントにパスワードを設定して root アカウントを有効にする必要があります。これを実行するには、ディレクトリユーティリティを使用するか、ターミナルで次のコマンドを発行します。

sudo passwd root

次に、指示に従って新しいパスワードを入力します (図 1 参照)。パスワードは必ず定期的に変更してください。

fig1.gif

図 1 root アカウントのパスワードの作成 (画像をクリックすると拡大表示されます)

root アカウントを有効にすると、ユーザーは、自分のパスワードを入力するだけでは root レベル (管理者) のアクセス権を取得できなくなります。その結果、管理機能を実行するには別の昇格されたアカウントを呼び出さなければならないので、特権をより細かく設定できるようになります。このアカウントは、サードパーティ製のソリューションを使用して、通常のユーザー アカウントから切り離して管理および保護できます。このようなソリューションを使用すると、アカウントのパスワードをランダムに作成して安全に保存したり、委任および監査されたインターフェイスを使用して必要に応じてパスワードを取得したりすることができます。

root アカウントを有効にしたら、root レベルのアクセス権を必要としているユーザーが sudo コマンドを実行できるようにする必要があります。OS X には、通常ユーザー、管理者ユーザー、および root ユーザーという 3 つのユーザーのレベルがあることに留意してください。既定では、通常ユーザーは sudo コマンドを発行できず、管理者ユーザーと root ユーザーのみが発行できます。管理者ユーザーのアクセス許可を与えずに、sudo コマンドを必要に応じて通常ユーザーが発行できるようにする場合は、OS X システムの通常ユーザーに対して sudo コマンドを有効にする必要があります。これを実行するには、/private/etc/sudoers ファイルを編集して特定のユーザーを含めるか、図 2 の %wheel で始まるサンプル行からコメント記号を削除して wheel グループにユーザーを追加します。

fig2.gif

図 2 特定のユーザーに対する sudo コマンドの有効化 (画像をクリックすると拡大表示されます)

この記事で説明した方法を使用すると、定期的またはパスワードの回復後に、新しいパスワードをランダムに生成する自動プロセスで、Mac システムの root アカウントのパスワードを管理できます。その結果、システムは、企業のポリシーだけでなく、Payment Card Industry (PCI) Data Security Standard (支払いカード業界データ セキュリティ基準)、米国企業改革法 (SOX)、医療保険の携行性と責任に関する法律 (HIPAA) などで定められている管理方法に準拠した状態を保つことができます。さらに、ユーザーや管理者が自分のパスワードを再入力するだけで軽率に特権を昇格することも防止できます。

Chris Stoneff は、セキュリティとシステム管理に関するソフトウェアを開発している Lieberman Software のプロダクト マネージャです。彼を最も駆り立てるのは、物事のしくみを理解することだけでなく、なぜ物事がそういうしくみなのかを知ることです。