名 称
smrsh − sendmail用 に 制 限 さ れ た シ ェ ル
書 式
smrsh −c command
解 説
smrsh は 、 sendmail(8) の 設 定 フ ァ イ ル で 、 sh の 代 わ り に ’’prog’’ メ ー ラ と し て 使 用 す る 事 を 目 的 と し て い ま す 。 smrsh は 、 シ ス テ ム の 全 体 的 な セ キ ュ リ テ ィ を 改 善 す る た め に 、 sendmail の ’’|program’’ 書 式 に よ り 起 動 す る 事 が で き る コ マ ン ド を 制 限 し ま す 。 つ ま り 、 も し ’’悪 者 ’’ が alias フ ァ イ ル や forward フ ァ イ ル を 経 由 せ ず に sendmail か ら プ ロ グ ラ ム を 実 行 す る 事 が で き た と し て も 、 smrsh を 使 え ば 、 彼 (あ る い は 彼 女 )が 実 行 で き る プ ロ グ ラ ム を 制 限 す る 事 が で き る の で す 。 簡 単 に 言 う と 、 smrsh は 、 実 行 可 能 な プ ロ グ ラ ム を 単 一 の デ ィ レ ク ト リ に 存 在 す る も の と 、 シ ェ ル 組 み 込 み コ マ ン ド の ’’exec’’, ’’exit’’, ’’echo’’ だ け に 限 定 し ま す 。 こ の デ ィ レ ク ト リ は 、 デ フ ォ ル ト で は 、 /usr/libexec/sm.bin で す 。 こ れ に よ り 、 シ ス テ ム 管 理 者 は 利 用 可 能 な コ マ ン ド を 選 択 す る 事 が で き ま す 。 更 に 、 smrsh は 、 ’’end run’’ 攻 撃 を 防 ぐ た め に 、 コ マ ン ド 行 に ’`’, ’<’, ’>’, ’;’, ’$’, ’(’, ’)’, ’\r’ (復 改 文 字 ), ’\n’ (改 行 文 字 ) の 文 字 を 含 む コ マ ン ド は 実 行 し ま せ ん 。 ’’||’’ と ’’&&’’ は 、 許 可 さ れ て お り 、 次 の よ う な コ マ ン ド を 使 用 可 能 で す : ’’"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"’’ プ ロ グ ラ ム 名 の 前 に あ る パ ス 名 は 全 て 取 り 除 か れ る た め 、 ’’/usr/bin/vacation’’, ’’/home/server/mydir/bin/vacation’’, ’’vacation’’ な ど は 全 て ’’/usr/libexec/sm.bin/vacation’’ と 解 釈 さ れ ま す 。 シ ス テ ム 管 理 者 は 、 sm.bin デ ィ レ ク ト リ に 置 く プ ロ グ ラ ム を 選 ぶ 際 に は 慎 重 な 判 断 を す べ き で す 。 適 切 な 物 と し て は 、 vacation(1) や procmail(1) な ど が あ げ ら れ る で し ょ う 。 い か な る 要 望 が あ っ て も 、 シ ェ ル や 、 perl(1) な ど の シ ェ ル に 似 た プ ロ グ ラ ム を sm.bin に 入 れ て は い け ま せ ん 。 こ れ は 、 単 に 任 意 の プ ロ グ ラ ム を 実 行 す る 事 を 制 限 す る だ け で 、 ’’#!’’書 式 を 用 い た 、 シ ェ ル ス ク リ プ ト や perl ス ク リ プ ト を sm.bin デ ィ レ ク ト リ に 入 れ る 事 を 制 限 す る 訳 で は あ り ま せ ん 。
コ ン パ イ ル
コ ン パ イ ル は ほ と ん ど の シ ス テ ム で つ ま ら な い も の で す 。 デ フ ォ ル ト の サ ー チ パ ス (デ フ ォ ル ト で は ’’/bin:/usr/bin’’) を 変 更 す る た め に は 、 −DPATH=\"path\" を 使 用 す る 必 要 が あ り 、 ま た 、 デ フ ォ ル ト の プ ロ グ ラ ム デ ィ レ ク ト リ (デ フ ォ ル ト で は ’’/usr/libexec/sm.bin’’) を 変 更 す る た め に は 、 −DCMDBIN=\"dir\" を 使 用 す る 必 要 が あ り ま す 。
関 連 フ ァ イ ル
/usr/libexec/sm.bin − 制 限 さ れ た プ ロ グ ラ ム 用 の デ ィ レ ク ト リ