-PR-
解決済み

sendmail を利用できるユーザーを制限する方法

  • すぐに回答を!
  • 質問No.89954
  • 閲覧数284
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 19% (11/56)

sendmail を利用できるユーザーを制限するには、どうしたらよいでしょうか。(メールソフトからの送受信)

出来れば、ユーザーグループ単位で制限したいのですが。

また、ドメイン、IPでの制限でもよいのですが。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル9

ベストアンサー率 71% (59/82)

メールソフトの「SMTPサーバ」の所に当該サーバを指定して
メールを「送信」している人がいて、それを止めさせたい
ということですよね?

メールソフトは当該サーバにSMTPで接続し、sendmailに
メールを渡す。sendmailはそのメールを目的地へ中継する。
これを止めさせたいと。

(受信に関してはそのユーザのアカウントを
作らなければ良いわけですから)


これまでsendmailの設定はどうされていたんでしょうか?
デフォルトのままですか?参考URLのCFというツール
を使えば、「比較的」簡単にsendmailの設定ができます。
(sendmail.cfはそのままでは殆んど解読不能ですので…)

それでも設定項目がかなり多岐に亙っていて、
ちょっと失敗するとメールの送受信ができなくなったり、
近所のメールサーバに大迷惑を掛けたりするので、
注意が必要です。(CFのdocのMANUAL.jpnを良く読んで、
末尾に書いてあるテストを必ず実行するようにして下さい)

SMTP接続の制限だから、
CHECK_HOST_DENYに接続を拒否したいドメイン・IPを
書けばいいと思います。[方法1]

もっと複雑な制御も可能です。[方法2]
普通、組織内の端末からのメールは、
宛先が世界中のどこであれ中継が許可されるべきで、
組織外からのメールは、その宛先が組織内であるときだけ中継が
許可されるべきです。そのような制御のために、組織の内外を
定義する
LOCAL_HOST_DOMAIN、CLIENT_HOST_DOMAINがあります。
(後者の方が少し厳しい制御が可能)
それと、組織外からのメールの中継許可条件を指定する、
ALLOW_RECIPIENT_DOMAIN、
ALLOW_RELAY_TO、ALLOW_RELAY_FROM
があります。

[ケース1]
当該サーバが外部からのメールを受け取る際に、
発信元サーバから直接SMTP接続で受け取っている場合、
(SMTPについて上位組織でファイアウォールを設けていない場合)
方法2に紹介した細かい制御が必要です。(さもないと、SPAM
業者に利用される恐れがあり、そのときは管理者の責任を問われる
でしょう)

[ケース2]
そうでない場合、外部からのメールはより上位のメールサーバが
外部からのメールを一括して受け取って、
組織内の下位のメールサーバに配送しているはずです。その場合は、
方法2の細かい制御は特に必要ありません。

どちらのケースに該当するかは、当該サーバで外部から受信したメール
のヘッダの配送記録を見れば分かると思います。ケース2なら、どのメール
を見ても、当該サーバの配送記録のすぐ下の行には上位のメールサーバが
記録されているはずです。

さて、ここまでCFについて述べたんですが、
CFをいじるのはできれば避けたい仕事の一つです。

そこで、方法1と同じことが、inetdを使うことで、
sendmailの設定ファイルを書換えることなく行なえます。

デフォルトでは、sendmailはシステムブート時に起動され、常駐して
いるはずです。これをブート時に起動されないように変更し、
(Linuxの場合、/etc/rc.d/rc3.d, /etc/rc.d/rc5.d の中のS??sendmailを
削除または移動)/etc/inetd.confに、以下のような行を、無ければ
挿入します。

smtp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/sendmail -bs -oq

ただし、sendmailとtcpdのパスと、sendmailのオプションは自分の環境に
合わせてください。

こうすると、smtp接続要求があったときだけ、inetdデーモンがsendmailを
立ち上げてくれます。で、このinetdデーモンのアクセス制御ファイルが、
/etc/hosts.allowと/etc/hosts.denyなので、これをmanページを見て編集して
ください。

今気付いたんですが、メールの受信をさせたくないというのは、
ユーザアカウントは作っておきたいけど、POPでの受信はさせたく
ないということでしょうか?それなら、同様に、POPデーモンを
inetd経由で立ち上がるように設定して、/etc/hosts.denyで制御可能です。
補足コメント
defd

お礼率 19% (11/56)

inetd で、うまくいきました。
詳しい説明、非常に助かりました。
どうも、ありがとうございました。
投稿日時 - 2001-06-17 07:03:46
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル11

ベストアンサー率 43% (133/306)

単純にドメインを指定するのでよければ、sendmail.cfの最初の方に以下の項目が見付かると思いますので、そこを書き換えます。 # address which should be accepted CZ XXXX.XX.jp YYYY.YY.jp ~~~~~~~~~~ ~~~~~~~~~~ ただしこれだけではSPAM中継基地に悪用される事もありますので、 ## ## upo ...続きを読む
単純にドメインを指定するのでよければ、sendmail.cfの最初の方に以下の項目が見付かると思いますので、そこを書き換えます。

# address which should be accepted
CZ XXXX.XX.jp YYYY.YY.jp
~~~~~~~~~~ ~~~~~~~~~~

ただしこれだけではSPAM中継基地に悪用される事もありますので、

##
## upon SMTP authentication
##

セクションの

C{HostAllow}

から

F{RoamDom}

までの記述を環境に合わせて便宜書き換えます。

その他にも POP before SMTP を組み合わせると、更にセキュリティが向上するかと思います。
導入について解かりやすい解説をされている個人のWebPageを紹介しておきます。


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ