[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 を起動/停止するようになっています.

---