sendmailの EXPN, VRFYコマンドを禁止する

OSは Solaris9ですが,たぶん他の OSでも同じだと思います。/etc/mail/sendmail.cfの

# privacy flags
O PrivacyOptions=authwarnings

のところを

# privacy flags
O PrivacyOptions=goaway

というように修正。修正後は HUPシグナルを送って sendmailを再起動させること。.mcファイルを作成して .cfファイルを生成するのが正しい方法のようですが,/etc/mail配下には .mcファイルが見当たりません。色々探すと /usr/lib/mail配下にそれらしい .mcファイルを見つけたのですが,果たして /etc/mail配下の *.cfがここのファイルから生成されたものかどうかはっきりしないので,簡単に修正する訳にもいきません。

メールサーバでもないですし,そもそも SMTPはファイアウォールで落としてもらっているので,それほど神経質にならなくてもいいかと思い,直接 sendmail.cfを編集しました。

というか,そういうことならいっそのこと sendmail自体を止めてしまってもいい気がしてきた。cronの実行結果が届かなくなるくらいで,他に実害ないような気もするし。

不要なサービスを止める

Webサーバを外部に公開するにあたって不要なサービスは止めれ、と言われたのでいろいろ止めてみた。OSは Solaris9です。

chargen

ASCIIデータのストリームを返すサービスらしいが、いまいち用途が不明。/etc/inetd.confの該当行をコメントアウト。

echo

こちらも用途は不明。ICMPの echoとは違うよね。/etc/inetd.confをコメントアウト。

rpc.rwalld

remoteからのメッセージを各端末に送るためのサービスらしいがこれも不要。/etc/inetd.confをコメントアウト。

rpc.statd

リモートマシンの統計情報(サーバ負荷とか)を取得するサービス。これも /etc/inetd.confで止める。
!! SNMP
これも今回の環境では不要なので止める。/etc/rc3.d/S76snmpdxをリネーム。
!! DMI
これも止めた。/etc/rc3.d/S77dmiをリネーム。
!! Webサーバの TRACEメソッド
TRACEなんてメソッドは知らなかったけど、これも危険らしいので禁止する。
Apacheの場合は httpd.confに次の記述を追加する。
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* – [F]