Man page - rssh(1)
Manual
RSSH
名 前書 式
説 明
セ キ ュ リ テ ィ 上 の 注 意
コ マ ン ド ラ イ ン 解 析 器
rssh を か い く ぐ る こ と に 対 す る 安 全 策
OpenSSH の バ ー ジ ョ ン と rssh の 無 視
バ グ
関 連 項 目
名 前
rssh - scp と sftp の 両 方 だ け 、 ま た は そ の 一 方 の み を 許 可 す る 制 限 付 セ キ ュ ア シ ェ ル
書 式
rssh -c scp|sftp-server [ options... ] [ ... ]
説 明
rssh は ホ ス ト へ の ssh (1) を 使 っ た ア ク セ ス の 制 限 を 提 供 す る 制 限 付 き シ ェ ル で 、 シ ェ ル が rssh に 設 定 さ れ た ユ ー ザ に は 、 scp (1) , sftp (1) , cvs (1) , rdist (1) , rsync (1) の う ち の 一 つ 以 上 の コ マ ン ド の み 使 用 を 許 可 す る 。 主 に 、 OpenSSH (http://www.openssh.com を 参 照 ) と 共 に 動 作 す る よ う に 意 図 さ れ て は い る が 、 他 の 実 装 と も 共 に 動 作 す る だ ろ う 。
機 密 を も つ シ ス テ ム の 管 理 者 は 、 こ の シ ェ ル を イ ン ス ト ー ル す べ き で あ る 。 ア ク セ ス が 制 限 さ れ る べ き す べ て の ユ ー ザ に 対 し 、 そ の パ ス ワ ー ド エ ン ト リ を 編 集 し 、 シ ェ ル が rssh に な る よ う に す る 。 例 え ば 以 下 の よ う に す る 。
luser:x:666:666::/home/luser:/usr/bin/rssh
も し -v オ プ シ ョ ン 付 き で 起 動 さ れ た ら 、 rssh は バ ー ジ ョ ン 番 号 を 表 示 し て 終 了 す る 。 rssh へ の そ の 他 の 引 数 は リ モ ー ト の ssh (1) ク ラ イ ア ン ト に よ っ て 指 定 さ れ た も の が 渡 さ れ る 。 一 般 の ユ ー ザ は こ の こ と を ほ と ん ど 意 識 す る 必 要 は な い 。 制 御 を scp (1) ま た は sftp (1) に 渡 す た め に 、 rssh に 渡 さ れ る 引 数 は 、 リ モ ー ト 側 の シ ェ ル が 受 け 取 っ た も の を (そ の ま ま ) 使 わ な け れ ば な ら な い 。 も し rssh が 適 合 し な い 引 数 を 受 け 取 っ た 場 合 に は 、 エ ラ ー メ ッ セ ー ジ を 出 し て 終 了 す る 。 ユ ー ザ が 実 行 し よ う と し た プ ロ グ ラ ム が 許 可 さ れ な か っ た 場 合 は エ ラ ー メ ッ セ ー ジ を 出 力 し て 終 了 す る 。 ま た 、 (コ マ ン ド 置 換 の よ う な )シ ェ ル コ マ ン ド を 実 行 し よ う と し た 場 合 も エ ラ ー メ ッ セ ー ジ を 出 力 し て 終 了 す る 。
rssh に は 設 定 フ ァ イ ル rssh.conf(5) が あ り 、 rssh の 動 き の い く つ か を 設 定 可 能 で あ る 。 詳 細 は man ペ ー ジ を 参 照 の こ と 。
セ キ ュ リ テ ィ 上 の 注 意
コ マ ン ド ラ イ ン 解 析 器
rssh バ ー ジ ョ ン 2.2.3 の 時 点 で は 、 任 意 の コ マ ン ド の 実 行 を 引 き 起 こ す (そ の 結 果 、 rssh の セ キ ュ リ テ ィ を か い く ぐ る ) よ う な コ マ ン ド ラ イ ン オ プ シ ョ ン を 避 け る た め に 、 コ マ ン ド ラ イ ン 全 体 を 解 析 し な く て は な ら な い 。 ソ ー ス コ ー ド を 健 全 に し て お く た め 、 や や 熱 心 す ぎ る ぐ ら い に コ マ ン ド ラ イ ン オ プ シ ョ ン を マ ッ チ ン グ す る 。 実 際 に は こ れ は 問 題 に は な ら な い が 、 理 論 上 は 可 能 だ か ら で あ る 。
本 当 は そ う で は な い に も か か わ ら ず 、 「 安 全 で な い コ マ ン ド ラ イ ン オ プ シ ョ ン を 拒 否 し た 」 と い う 理 由 で rssh の 実 行 を 拒 否 さ れ る と い う 問 題 に 突 き 当 た っ た ら 、 コ マ ン ド ラ イ ン を 次 の よ う に 変 え て み て 欲 し い 。 す べ て の 短 い オ プ シ ョ ン を 1文 字 の オ プ シ ョ ン フ ラ グ で 指 定 す る (例 え ば 、 -ep の 代 わ り に -e -p)、 引 数 と そ れ ぞ れ の オ プ シ ョ ン を ス ペ ー ス で 区 切 る (例 え ば 、 -p123 の 代 わ り に -p 123)。 ほ と ん ど 全 て の 場 合 で 、 こ れ で 問 題 は 解 決 す る 。 お 分 か り の と お り 完 全 な 検 索 は し て い な い が 、 一 般 的 に 有 り 得 る よ う な 問 題 は 見 つ か っ て い な い 。
別 の 解 決 策 は 、 rcp, rdist, rsync に 対 す る 完 全 な コ マ ン ド ラ イ ン 解 析 器 を 実 装 し て お く こ と が だ が 、 そ れ は こ の プ ロ ジ ェ ク ト の 目 的 で な い 。 実 用 上 は 、 既 に あ る 解 析 器 で 十 分 で あ る 」 し か し 、 も し そ う で な い 場 合 を 見 つ け た の な ら 、 詳 細 を rssh メ ー リ ン グ リ ス ト に 投 稿 し て 欲 し い 。 rssh メ ー リ ン グ リ ス ト へ の 投 稿 に 関 す る 詳 細 は rssh ホ ー ム ペ ー ジ か ら 得 る こ と が で き る 。
rssh を か い く ぐ る こ と に 対 す る 安 全 策
rssh は 他 の い く つ か の プ ロ グ ラ ム と 相 互 に 作 用 す る よ う に 設 計 さ れ て い る 。 た と え rssh に 完 全 に バ グ が な く て も 、 他 の プ ロ グ ラ ム の 変 更 が rssh が 提 供 し て い る 保 護 機 能 を 無 視 す る 結 果 と な り 得 る 。 シ ス テ ム 管 理 者 、 す な わ ち あ な た に と っ て 重 要 な こ と は 、 rssh と 共 に 使 う よ う に し た サ ー ビ ス を 現 在 の ま ま に し て お き 、 そ れ ら の コ マ ン ド が ユ ー ザ ー に 任 意 の コ マ ン ド の 実 行 を 許 可 す る よ う な 仕 組 み を 提 供 し て い な い こ と を 確 か に し て お く こ と で で あ る 。 ま た 、 す べ て の リ リ ー ス の 目 標 は バ グ が な い こ と で あ る 一 方 、 完 璧 な も の な ど 無 い …… rssh に は 発 見 さ れ て い な い バ グ が あ る か も し れ ず 、 そ れ は ユ ー ザ ー が rssh を 無 視 す る こ と を 許 し て し ま う か も し れ な い 。
そ の よ う な 脆 弱 性 か ら 、 シ ス テ ム を 守 る こ と が で き る 。 3つ の 基 本 的 な 方 法 が あ る 。
|
1. |
ユ ー ザ ー を chroot jail に 押 し 込 め る |
||
|
2. |
ユ ー ザ ー の ホ ー ム の あ る フ ァ イ ル シ ス テ ム を noexec オ プ シ ョ ン 付 き で マ ウ ン ト す る |
||
|
3. |
一 般 的 な フ ァ イ ル パ ー ミ ッ シ ョ ン を 適 切 に 用 い る |
rssh は 、 ユ ー ザ ー を chroot jail に 入 れ る 能 力 を シ ス テ ム 管 理 者 に 与 え る 。 詳 細 は rssh.conf (5) の man ペ ー ジ と 、 ソ ー ス コ ー ド と 共 に 配 布 さ れ て い る CHROOT フ ァ イ ル を 参 照 の こ と 。 ユ ー ザ ー が 任 意 の コ マ ン ド を 実 行 で き な い こ と を 確 か な も の に し た い な ら 、 chroot jail を 使 用 し 、 提 供 し よ う と し て い る サ ー ビ ス に 必 要 な プ ロ グ ラ ム 以 外 を そ こ に 置 か な い よ う に 気 を つ け る こ と 。 そ う す れ ば 、 標 準 的 な コ マ ン ド の 実 行 を 防 ぐ こ と が で き る 。
そ し て 、 シ ス テ ム の 実 行 フ ァ イ ル が あ る フ ァ イ ル シ ス テ ム と 、 ユ ー ザ ー の フ ァ イ ル を 分 け て お き 、 (も し オ ペ レ ー テ ィ ン グ シ ス テ ム に そ の 機 能 が あ れ ば ) ユ ー ザ ー の フ ァ イ ル の あ る フ ァ イ ル シ ス テ ム を noexec オ プ シ ョ ン 付 き で マ ウ ン ト す る 。 こ う す れ ば 、 目 的 の マ シ ン に (例 え ば scp を 使 っ て )ア ッ プ ロ ー ド さ れ た プ ロ グ ラ ム が 実 行 さ れ る の を 防 ぐ こ と が で き る 。
最 後 に 、 chroot jail の 中 で ユ ー ザ ー が ア ク セ ス で き て は な ら な い も の に つ い て は 、 標 準 的 な Unix/POSIX フ ァ イ ル パ ー ミ ッ シ ョ ン を 使 用 す る こ と 。
OpenSSH の バ ー ジ ョ ン と rssh の 無 視
OpenSSH 3.5 よ り 前 で は 、 一 般 的 に は sshd (8) は ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に あ る フ ァ イ ル を 解 析 し よ う と し 、 ま た ユ ー ザ の $HOME/.ssh デ ィ レ ク ト リ か ら ス タ ー ト ア ッ プ ス ク リ プ ト を 実 行 し よ う と す る 。 rssh は 決 し て ユ ー ザ ー の 環 境 (変 数 )を 使 用 し よ う と は し な い 。 関 連 す る コ マ ン ド (訳 注 : sftp-serverな ど )は 、 コ ン パ イ ル 時 に 指 定 さ れ た コ マ ン ド へ の フ ル パ ス を 指 定 し て execv(3) を 呼 び 出 す こ と で 実 行 さ れ る 。 こ れ は ユ ー ザ の PATH 変 数 に は 依 存 し な い し 、 他 の 環 境 変 数 に も 依 存 し な い 。
し か し な が ら 、 起 こ り う る い く つ か の 問 題 が 存 在 す る 。 こ れ は 完 全 に OpenSSH プ ロ ジ ェ ク ト の sshd の 動 作 の 仕 方 に 原 因 が あ り 、 決 し て rssh の 欠 陥 で は な い 。 た と え ば 、 存 在 す る で あ ろ う 一 つ の 問 題 と し て は 、 OpenSSH の 少 な く と も い く つ か の リ リ ー ス の sshd (8) の man ペ ー ジ に よ れ ば 、 $HOME/.ssh/rc フ ァ イ ル に 書 か れ て い る コ マ ン ド は ユ ー ザ の デ フ ォ ル ト シ ェ ル の 代 わ り に /bin/sh に よ っ て 実 行 さ れ る 。 著 者 が テ ス ト に 使 え る シ ス テ ム で は こ の 問 題 は 発 生 し な い 。 す な わ ち 、 コ マ ン ド は ユ ー ザ に 設 定 さ れ た シ ェ ル ( rssh ) に よ っ て 実 行 さ れ 、 そ れ は 実 行 を 許 可 し な い 。 し か し 、 も し こ れ が あ な た の シ ス テ ム で 有 効 に な っ て し ま っ て い れ ば 、 悪 意 の あ る ユ ー ザ は /bin/sh に 実 行 さ れ る で あ ろ う $HOME/.ssh/rc フ ァ イ ル を ア ッ プ ロ ー ド し て 、 rssh を 無 視 す る こ と が で き る だ ろ う 。
実 際 の と こ ろ 、 も し こ の 脆 弱 性 問 題 が 存 在 す る (OpenSSH の )リ リ ー ス が あ る と す れ ば 、 そ れ は 古 く 、 旧 式 の バ ー ジ ョ ン で あ る 。 最 近 の バ ー ジ ョ ン の OpenSSHを 動 か し て い る 限 り は 、 私 が 言 え る 範 囲 で は 問 題 な い は ず だ 。
も し 使 っ て い る sshd が こ の 攻 撃 に 対 し て 脆 弱 で あ る な ら ば 、 か な り 制 限 が か か る も の の 、 こ の 問 題 に 対 す る 回 避 方 法 が あ る 。 ユ ー ザ の ホ ー ム デ ィ レ ク ト リ は 絶 対 に そ の ユ ー ザ が 書 き 込 め て は *い け な い *。 も し 書 き 込 め て し ま え ば 、 ユ ー ザ は sftp を 使 っ て (.ssh)デ ィ レ ク ト リ の 名 前 を 変 え る か 消 す か し て 、 あ た ら し い 同 名 の デ ィ レ ク ト リ を 作 り 、 好 き な 環 境 フ ァ イ ル (訳 注 : 上 記 $HOME/.ssh/rc フ ァ イ ル の こ と )を そ こ に 書 き 込 め る 。 フ ァ イ ル の ア ッ プ ロ ー ド を 開 放 す る た め に は 、 ユ ー ザ が 書 き 込 め る デ ィ レ ク ト リ が 作 成 さ れ て い な け れ ば な ら ず 、 ホ ー ム デ ィ レ ク ト リ の そ れ 以 外 の 場 所 に は 書 き 込 め な い こ と を ユ ー ザ に 承 知 さ せ な け れ ば な ら な い 。
二 つ 目 の 問 題 は 、 ユ ー ザ が 環 境 に 変 数 を 設 定 で き る こ と を 可 能 に す る $HOME/.ssh/environment フ ァ イ ル を 、 sshd が ユ ー ザ の 認 証 後 に 読 み 込 む こ と で あ る 。 環 境 変 数 LD_LIBRARY_PATH ま た は LD_PRELOAD を 上 手 に 操 作 し て 、 任 意 の 共 有 ラ イ ブ ラ リ を rssh バ イ ナ リ に リ ン ク さ せ る こ と に よ っ て rssh を 完 全 に 欺 く こ と を 許 し て し ま う 。 こ の 問 題 を 防 ぐ た め に 、 rssh は (バ ー ジ ョ ン 0.9.3 の 時 点 で は )デ フ ォ ル ト で は 静 的 に コ ン パ イ ル さ れ る 。 前 述 の 制 限 付 き の 回 避 方 法 は 、 こ の 種 の 攻 撃 も 防 ぐ こ と が で き る 。 OpenSSH 3.5 の 時 点 で は 、 sshd は PermitUserEnvironment オ プ シ ョ ン を サ ポ ー ト し て お り 、 こ れ は デ フ ォ ル ト で "no" に 設 定 さ れ て い る 。 こ の オ プ シ ョ ン は 、 rssh の よ う な 制 限 つ き シ ェ ル が 静 的 リ ン ク の 必 要 な し に 適 切 に 機 能 す る こ と を 可 能 に す る 。 rssh バ ー ジ ョ ン 1.0.1 の 時 点 で 、 configure ス ク リ プ ト は OpenSSH 3.5 が 存 在 す る か を 検 出 し 、 静 的 コ ン パ イ ル を 無 効 に す る 。
バ グ
な い =8ˆ)
関 連 項 目
rssh.conf (5), sshd (8), ssh (1), scp (1), sftp (1)