前回は、利用するホスティングサービスを決めるところまで記述した。今回から、実際に行った設定を記述していく。サーバーは2台構成で主に内部にサービスを提供するサーバーと、主に外部にサービスを提供するサーバーに分けているので、設定の対象となるサーバーと OS を、以下のように最初に記述しておくことにした。
対象
内部用サーバー
外部用サーバー
OS
CentOS release 5.10
管理者用アカウントとは
サーバーを契約して使えるようになったら、最初に行うのは管理者用アカウントの追加だ。管理者用アカウントというと漠然としているので、少し整理する。
「管理者用アカウント」という言葉はスーパーユーザーを意味する場合と、システムを管理する人が使うユーザーアカウントを意味する場合がある。
スパーユーザーは Wikipedia に記述があるとおり、システムで特殊な権限を持つユーザーだ。UNIX 系 OS の場合は、通常「root」というアカウントがスーパーユーザーで、システム全体に影響を与える変更を行うことのできる強力な権限を持つ。たとえば、一般ユーザーは権限が与えられていない限り、他ユーザーのファイルを参照・更新・削除できない。しかし、スーパーユーザーはシステムを管理するためのユーザーなので、他ユーザーのファイルを参照・更新・削除できる。
一方、システムを管理する人が使うユーザーアカウントはシステム的には一般ユーザーだ。設定により、そのユーザーアカウントのみスーパーユーザーにスイッチできるように設定してあったり、特定のサービスのファイルを更新できるようにしてあったりするのが一般的だ。
今回の方針は、以下の通りだ。
- スーパーユーザーは強力な権限を持つため、セキュリティを考慮してではコンソール以外ログインできないようにする
- 管理者用のアカウントを用意し、唯一 root にスイッチできるユーザーにする
さくらインターネットの場合、初期ユーザーはスーパーユーザーの root のみ用意されているので、root でログインして管理用のアカウントを作成する。
管理者用アカウントの追加
管理者用アカウントと言っても、root にスイッチできること以外は通常のユーザーと同じなので useradd を使って普通にユーザーを追加するだけだ。
[root@server ~]# useradd [user] [root@server ~]# passwd [user]
[user] には、利用するユーザー名を入れる。admin や system などを管理者用のアカウントとして利用することが多いが、ssh で総当たり攻撃を行う場合に利用されることが多いので、自分が覚えやすく他人が推測しにくい ID を利用した方がよいだろう。
管理者用アカウントを追加したら、ssh 経由でログインできることを確認してログアウトする。以降の設定は、引き続き root ユーザーで行った。
管理者用アカウントの設定
続いて、管理者用のアカウントのみ root にスイッチできるように設定する。Cent OS は PAM(Pluggable Authentication Modules)を利用できるので、PAM の設定ファイルを変更するだけで実現できる。スイッチユーザーするときに利用する、su の PAM の設定ファイルは、/etc/pam.d/su だ。
[root@server ~]# vi /etc/pam.d/su
「auth required pam_wheel.so use_uid」の行、コメントアウトを外す。設定が有効になると、su を実行したときにユーザーが wheel グループに入っていることを確認し入っていなければ拒否するようになる。
# Uncomment the following line to require a user to be in the "wheel" group. auth required pam_wheel.so use_uid
PAM の説明は、ITmedia エンタープライズのLinux Tipsの記事、PAMの仕組みを知りたいがわかりやすいと思う。
次に、group ファイルを編集する。
[root@server ~]# vi /etc/group
wheel の行に、管理者用アカウントの追加を追加すればよい。
wheel:x:10:root,[user]
管理者用アカウントの設定が完了したら、ssh 経由でログインして su で root にスイッチユーザーできることを確認してログアウトする。root にスイッチユーザーできるユーザーが限定されているか気になる場合は、もう1つアカウントを追加して su できないことを確認するとよいだろう。
root がコンソール以外ログインできないようにする設定は、sshd の設定で行うため次回解説する。
ピンバック: sshd の設定を行う | UB Lab.