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

伊江島 (6)
沖縄本島 (No. 4 – 瀬底大橋) の続きです。出発して 15 分弱で肉眼でもはっきりと伊江島が迫ってくるのが分かります。普通に写真を撮っている様に見えるかもしれませんが、風がものすご
デスクトップ (VAIO Type X)
去年までデータセンター作業用に使用していた VAIO Type X は、現在サブマシンとして継続利用しています。電源は On にしたままですが、ふと使用する際にディスプレイを開けると、デスクトップアイ
Drive Network Philosophy
インターネット上にサービスを公開しているサーバは、そのバージョン情報を表示しないことが 1 つの安全策として語られています。最近の DoS の傾向を見ているとそれ程有用性が高いとも感じませんが、1 つ
FreeBSD Logo
PHP 4.4.9 + OpenSSL 0.9.8 系の環境を OpenSSL 1.0.1j にアップデートした際に躓いた点を整理します。configure は通りますが make で以下の様にストッ
ルフージュ (5)
久しぶりに 沖縄本島 (No. 47 – ジャッキー ステーキハウス) でステーキを堪能して昼寝した後は、ある facebook グループのメンバーとの飲み会に向けて安里に向かいました。私
W ステーキ
松屋の 牛焼肉各種定食 増量キャンペーン開催 ! が気になって入ってからスイッチが入り、先週はすっかり肉食ウィークでした。少し前から、丸香やエチオピアに行く手前の靖国通り沿いに見掛ける看板 BISTR
jQuery Logo
SpritePad – Create and edit css spritesfeedback のデザインも秀逸。簡単に実装できる、ボタン画像のマウスオーバーイベント 10+デザインが良い
ESXi 5.1 Install (3)
VMware ESXi 5.1 Install (Part 1) の "ISO イメージ読み込み" のステップで、何度かエラーが発生しました。OpenVPN -> radse
hamburger with fries
サービス向上を勘違いしているマクドナルド (Part 2) の続きです。クォーターパウンダー BLT2013/06 末から、マクドナルドの店頭でクォーターパウンダーの期間限定品が始まった POP を見
水曜日のネコ (3)
よなよなエール を継続して取り扱っている 東急ストア で、先週頃ようやく 水曜日のネコ が陳列されていることに気が付きました。前略 好みなんて聞いてないぜ SORRY はすぐなくなってしまったので、半
Valid HTML5 Valid CSS3 Another HTML Lint