Home » Program » バージョン隠蔽 (sendmail) (Tag: )

インターネット上にサービスを公開しているサーバは、そのバージョン情報を表示しないことが 1 つの安全策として語られています。

最近の DoS の傾向を見ているとそれ程有用性が高いとも感じませんが、1 つのポリシーとしては依然有効と見ています。ここでは、sendmail の対応方法について説明します。

SmtpGreetingMessage (sendmail.cf)

変更前:

O SmtpGreetingMessage=$j Sendmail $v/$Z; $b

変更後:

O SmtpGreetingMessage=$j Drive Network SMTP Server Ready

マクロ $v と $Z がバージョン情報を展開するため、削除するか好みのメッセージに変更します。$v は sendmail バイナリバージョンで、$Z は sendmail.cf 内の DZ の値が展開されます。

Received: (sendmail.cf)

変更前:

HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
        $.$?{auth_type}(authenticated$?{auth_ssf} bits=${auth_ssf}$.)
        $.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}
        (version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u
        for $u; $|;
        $.$b$?g
        (envelope-from $g)$.

変更後:

HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
        $.by $j$?r with $r$. id $i$?{tls_version}
        (version=${tls_version} cipher=${cipher} bits=${cipher_bits}); $|;$.
        $b

上記の例では、$v, $Z 以外に smtp auth に関する行や envelope-from の行をすべて削除しています。アカウント情報の漏洩につながりかねないので、削除した方が無難と考えます。

helpfile

diff:

16c16
< #smtp This is sendmail version $v
---
> smtp  This is sendmail version $v
23,24c23,24
< #smtp To report bugs in the implementation see
< #smtp         http://www.sendmail.org/email-addresses.html
---
> smtp  To report bugs in the implementation see
> smtp          http://www.sendmail.org/email-addresses.html
63c63
< quit          Exit SMTP.
---
> quit          Exit sendmail (SMTP).
71c71
< verb          by humans and other implementations.
---
> verb          by humans and other sendmail implementations.
133,136c133,136
< control       restart         Restart.
< control       shutdown        Shutdown.
< control       status          Show Status.
< control       mstat           Show Status (machine readable format).
---
> control       restart         Restart sendmail.
> control       shutdown        Shutdown sendmail.
> control       status          Show sendmail status.
> control       mstat           Show sendmail status (machine readable format).

$v 以外にも sendmail に関する文字も消すことで、バージョンだけでなくプログラム名も隠蔽することが出来ます。

helpfile は変更後ただちに反映しますが、sendmail.cf は変更後 sendmail の再起動が必要です。

Random Select

hp dv5
メーカー保証に見放されながらも hp dv5 revival で見事に復旧したので、せっかくですから Windows 8.1 がインストール出来るか検証してみることにしました。Windows Vist
どなん (1)
先日の出張 (05/27 ? 06/09) でついに初めて飲みました。飲みましたというより、なめました。景色 (久高島) でも触れましたが、与那国島好きな私としては一度は試してみたい泡盛でした。沖縄本
FreeBSD Logo
sendmail 送信元 IP アドレス自動切替え (Part 1) の続きです。プログラム概要は以下の通りです。現在の送信元 IP アドレスと IP アドレスプールを取得。ブラックリストデータベース
タコライスチーズ野菜 (1)
沖縄本島 (No. 13 – 珈琲専門店 原点) の続きです。沖縄らしい食べ物のうち、タコライスは沖縄そば以上に好きな存在ですが最近ご無沙汰でした。どうせならと、それ以上にご無沙汰している
VAIO Fit 13A (背面)
Windows 8 -> 8.1 でスタートボタンが復活しても大いに肩透かしを受けた感じが一般的の様ですが、私は右クリックをした場合は重宝していますが Classic Shell を入れる程不
立山連峰 (4)
富山出張 (No. 4 ? スターバックス コーヒー 富山環水公園店) の続きです。出張 2 日目は移動日として東京に帰りました。初日に富山空港の外に出た瞬間に気が付きましたが、正面一帯に立山連峰が見
Lavender
正式には肩関節周囲炎と言うそうですが、出張から帰った 6/9 (土) は何となく左肩に違和感を感じていましたが、可動域が狭まったり痛みを伴う様なことはありませんでした。さすがに疲れもたまったのかと想い
FreeBSD Logo
FreeBSD kernel compile でも紹介した通り、常に kernel 再構築によりカスタムカーネルで稼動させています。私はカスタムカーネルの名称を `hostname -s` にする習慣
日替り (縞ほっけ)
久しぶりに 日本一美味しいサバの塩焼き でご紹介した いさば を訪れました。ここ最近はとなりの 元祖 博多チャンポン ハカタノチカラ が続いていたので、久しぶりの焼き魚です。当然の様にサバを目当てに訪
石垣牛炙り握り
石垣島 (No. 2 – まかない屋) の続きです。軽めな量がらも気持ちは満たされた "まかない屋" を後にして 730 交差点に戻り、美崎町を中心に少し散策しました。
Valid HTML5 Valid CSS3 Another HTML Lint