[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:00325] Debian shadow-passwd install
吉山です.
昨日,学校と自宅の Debian 環境を shadow passwd 化しました.何が
便利になったとか何の性能が上がったという事はないのですが,何よりセ
キュリティ問題の大半を解決できるのが嬉しいです(特に学校の環境).
そこで,私なりの Debian shadow-passwd HOWTO を紹介します.
---
Debian shadow passwd 化計画
1.shadow passwd とは
2.Debian-1.x への shadow passwd システムの導入
3.設定
1.shadow passwd とは
昨年末,ネットワークに接続された日本中(世界中?)のコンピュー
タに対して,sendmail-5.x のセキュリティホールを悪用した大規模な
アタックがありました.また,先日も inn-1.4 のセキュリティホール
を悪用したアタックがありました.いずれのケースも,UNIX 系OSの
パスワード(のキー)を記録している /etc/passwd ファイルを,それ
ぞれの方法で特定のサイトへと転送するという方法で行なわれました.
これらの解決策は共通しています.1つの方法はそれぞれセキュリティ
ホール対策を行なったバージョン sendmail-8.x, inn-1.5 をインストー
ルする事,もう1つの方法は /etc/passwd を shadow 化する事です.
通常,UNIX 系OSでは /etc/passwd ファイルの内容はそのマシンに
おける全てのユーザ/グループが読む事ができます.なぜこのようになっ
ているのかの正確な理由は分かりません./etc/passwd ファイルがパス
ワード情報以外の情報を保持しているからでしょうか.この為,login
的な認証を行なわないネットワークサービス (mail, WWW, news など)
のサーバプログラムに何らかのセキュリティホールがあると,
/etc/passwd ファイルから全ユーザの情報がネットワーク経由で外部に
流出する事になります.shadow 化されていない場合は,パスワード情
報も一緒に流出する事になります.
/etc/passwd の shadow 化とは,/etc/passwd の各アカウントのパス
ワード情報の部分を root 以外読み出し不可のファイル /etc/shadow
に移す事です.これにより,先に挙げたネットワークサービスのサーバ
プログラムを非 root 権限で実行させるだけで,パスワード情報の保護
が行なわれる事になります.最近の商用 UNIX (Solaris2.x, IRIX6.2
など) は全て,shadow passwd を採用しています.
Debian GNU/Linux 1.3 (以下 Debian 1.3) には,従来 experimental
な取り扱いだった shadow 化 passwd パッケージが正式に採用されまし
た.しかし,残念な事に 1.3 のリリースは予定よりも遅れています.
そこで,passwd パッケージだけ新しい物と取り替えましょう.Debian
のパッケージ管理システムは優秀です.パッケージ単位のアップグレー
ドが実に簡単にできます.
shadow 化された passwd ファイルを見てみましょう.
---
root:x:0:0:root:/root:/bin/bash
shutdown:x:0:0:shutdown:/etc:/etc/halt.console
reboot:x:0:0:shutdown:/etc:/etc/reboot.console
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
......
nobody:x:65534:65534:nobody:/tmp:/bin/sh
yosshy:x:1000:1000:Akira Yoshiyama,Kobe Univ.,078-803-xxxx,0720-22-xxxx,:/home/yosshy:/usr/bin/tcsh
wnn:x:10000:1:Wnn:/usr/lib/wnn:
---
というようになります.パスワードキーがある第二フィールドが全て x
になっているのが分かります.
この場合,認証を行なう login, xdm などのプログラムや,
/etc/passwd や /etc/group を管理するコマンド群もこの shadow 化に
対応したものに変更しなければなりません.
2.Debian-1.x への shadow passwd システムの導入
まず,パッケージが2つ必要です.以下のパッケージが Debian をミ
ラーしているサイトにありますので,そちらから FTP して下さい.
日本の Debian ミラーサイト
ftp2.linux.or.jp
debian.mis.hiroshima-u.ac.jp
必要なパッケージ
passwd_961025-1.deb
login_961025-1.deb
これらは Debian-1.3(bo) のディレクトリ,~debian/bo/binary/base
にあります.探してみて下さい.
入手したら,Debian システムにパッケージを導入しましょう.
まず,この2つのパッケージは,
# dpkg --info passwd_961025-1.deb
Depends: libc5 (>= 5.4.0-0), login (>= 961025-1)
となっていますので,passwd の前に login をインストールしなければ
なりません.
root でログインし,以下のようにしてインストールして下さい.
# dpkg -i login_961025-1.deb
# dpkg -i passwd_961025-1.deb
パッケージのインストールが終ったら,shadow passwd を有効/無効に
するスクリプト shadowconfig を実行します.
このスクリプトを実行する際には,xdm が動作していてはいけません.
もし xdm が稼働している場合は,/etc/init.d/xdm stop で xdm を停
止して下さい.
このスクリプトは引数が必要です.
on: shadow passwd 化を行なう
off: 非 shadow passwd 化を行なう
shadow passwd を有効にします.
# shadowconfig on
これで,Debian システムの shadow passwd 化は終了です.
3.設定
/etc/passwd の管理は従来と同じ vipw,ユーザの登録/削除等は
useradd, userdel コマンドを使用します.詳しくは dpkg -L passwd
で示されるコマンド群のマニュアル,または /usr/doc/passwd/ 下のド
キュメントを参照して下さい.
以下では,私のインストールした2つの環境への導入で遭遇した問題
に対する対処法を説明します.
3.1.NIS
結論から言うと,NIS も問題なく使えます.ただし,私が学校の
Debian 環境に shadow passwd をインストールしたところ,NIS に登録
されている一般ユーザアカウントでログインできなくなりました.
調べてみたところ,NIS 参照を示すエントリの第二フィールドにコマ
ンド pwconv が付加したと思われる x コードが付いていました.
---
+:x::::
---
この x を vipw コマンドを使用して消したところ,無事 NIS 経由の
アカウントでログインできるようになりました.
3.2.xdm
私の自宅の環境は,デフォルトで xdm が立ち上がるように設定して
あります.shadow passwd パッケージをインストールして機能を有効に
したところ,ファイル /etc/init.d/xdm のパーミッションが 644 になっ
てしまいました.中身を xdm-shadow 対応に書き(置き?)換える時に
そうなってしまったようです.これも chmod 755 /etc/init.d/xdm で
解決しました.
この新しいスクリプト /etc/init.d/xdm では,それまでの xdm の代
わりに xdm-shadow を起動/停止するようになっています.
---