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

iPhone 6 Plus (3)
iPhone 6 Plus (機種選定・契約変更) の続きです。契約変更は 10/31 (金) に済ませ、土・日でじっくり慣らすことにしました。スマートフォンを使い始めて 4 年ですが、いよいよ iP
緑黄色野菜サラダ + 野菜ジュース
沖縄出張 (No. 21 ? てぃーだ社員食堂 Part 1) で 4 日程、野菜中心のランチを楽しませてもらっていますが、今日は友人と外に繰り出しました。前回出張時の 沖縄出張 (No. 19 ?
brochure.pdf (PDF.js Viewer)
すでにお気づきの方も多いですし対処方法も多々報告されている様ですが、Firefox 19 から、PDF ファイルの表示に違和感を感じました。ウィンドウ自体のデザインが変わっただけでなく、フォントも変で
FreeBSD Logo
Migrate 32bit to 64bit (FreeBSD, GDBM) に続いて、ionCube PHP Loader も問題が発生する要因の 1 つです。従来より amd64 で動作している環
八重山そば
石垣島 (No. 5 – 平久保崎灯台) の続きです。沖縄そばとはやや異なる八重山そば自体は、沖縄出張時に近所の 宮良そば (旧店名 八重山そばさくま) で食べたことがあり、その細麺具合が
偽アカウント (例)
ここ最近 Facebook で知らない女性から何件か申請 (友達リクエスト) がありました。もちろんまるで知りません。過去にも何度かありましたが、ここ最近申請があるケースの特徴は、Facebook に
東綾瀬公園 (2)
今年は観測史上 2 番目に桜の開花が早いとのことでした。個人的には、ここ 1 年程は実際の気候とカレンダーが 1 ヶ月近くずれ続けている気がしています。それはともかく、自宅の近所には通路と公園を兼ねた
マルゲリータ (9)
沖縄本島 (No. 20 – BACAR OKINAWA Part 1) の続きです。いよいよピザの準備に入ります。奥に大きな釜が見えます。キッチン ? の下が冷蔵庫の様で、丸まった状態の
WS-C2960S-48TS-L (1)
Cisco Catalyst は SSH でのログインも可能ですが、enable する方法が独特です。aaa new-modelcrypto key generate rsa今回は以下のバージョンでの
白米 (2)
長谷園 eco かまど (三合炊き – 白米二合) の続きです。次の日は白米一合を試してみました。180ml の米を研ぎ、水切り水 220ml で 20 分浸水中強火で 7 分炊く20 分
Valid HTML5 Valid CSS3 Another HTML Lint