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

京成日暮里駅
普段沖縄へは羽田空港 -> ANA, SKY, JAL のいずれかで那覇空港に移動しますが、一度 Jetstar – ジェットスター を試してみたいと思っていました。便数が限られるこ
緋寒桜 (ひかんざくら)
沖縄出張 (No. 17 – きしもと食堂) の後は八重岳に向かいました。私が北部に行く時は大抵曇りが多いのですが、何とも好天に恵まれました。記憶にある沖縄の濃い青色の空です。麓付近に着く
エチオピア テレビ取材 (2015/05/15)
カリーライス専門店 エチオピア 本店 (No. 14 – 辛さ 70 倍メドレー 2) で全メニューを辛さ 70 倍で制覇した後は、1 ヶ月に 1, 2 度訪れますがやはり辛さ 70 倍で
Lavender
正式には肩関節周囲炎と言うそうですが、出張から帰った 6/9 (土) は何となく左肩に違和感を感じていましたが、可動域が狭まったり痛みを伴う様なことはありませんでした。さすがに疲れもたまったのかと想い
猫丸庵 メニュー (2)
沖縄本島 (No. 51 – コッコロコハウス) の続きです。約 1 年半前に沖縄入りした際、沖縄本島 (No. 1 – 猫丸庵 〜 根夢) で通り過ぎることはありましたが、今
湧出 (1)
伊江島 (No. 3 – 伊江島タッチュー Part 2) の続きです。城山 (ぐすくやま) から降りて登山口の売店を少し眺めた後は、移動を開始しました。湧出 (わじー)湧出は伊江島の北側
カレーライス (ハウス ザ・カリー) + あきたこまち (白米)
自宅 de カレーライス (ハウス ザ・カリー <辛口> Part 1) の続きです。出来上がりの猛烈に食欲をそそる香りの誘惑に負けず、1 日寝かしました。今回は白米のあきたこまちが残って
瀬底大橋 (5)
沖縄本島 (No. 23 – Cafe やぶさち) の続きです。ゴールデンウィーク後半は、沖縄本島 (No. 8 – 渡久地港) で NG だった水納島に今度こそ行こうと計画し
豚骨塩 チャーシューメン (1)
哲麺 (豚骨味噌 白髪ネギラーメン 味こいめ 脂あっさり) に続いて、今度は豚骨塩に挑戦です。普段はカウンターの奥側の席が多いですが、入口近くには不思議な絵柄の貼り紙が目に付きました。2014/11/
沖縄そば定食 (おきなわそばセット)
うちなぁ料理と古酒家 ニライカナイ (沖縄ちゃんぽん) 以来 2 週間ぶりに再び訪れました。前回の時点でメニューが変わっていました。内容というよりはレイアウトの変更がほとんどの様でしたが、うまく撮れな
Valid HTML5 Valid CSS3 Another HTML Lint