• 締切済み

特定のホストのみSMTP許可したい

メール踏み台対策を考えています。 iptablesやhosts.deny、その他の方法があれば教えていただきたいのですが、いまの所iptablesが有力候補なのかなと思っています。 sendmailの25番ポートを特定IPのみ許可する設定はできるのですが、そうすると、特定IPからしかメールが受信できなくなってしまいます。 やりたい事は特定のIPからのみ送信許可させたいのです。ID,PWが盗まれても、許可したIPではないためにメールの踏み台にはできない設定にしたいです。 ・外部からのメール受信=全て許可 ・外部等へのメール送信=特定IPのみ許可 という設定ができますでしょうか。

みんなの回答

  • pc_net_sp
  • ベストアンサー率46% (468/1003)
回答No.5

なんとなくやりたい事は分かるのですが、仕様OSは何ですか?? Linuxにもいろんな種類があり、各々設定ファイルの保存場所が異なります。 またWindowsにLinux系モドキアプリを使っているなら、アプリ名や構成情報を教えて下さい。 手始めに、WWW(Apache・HTTPD)で各種のアクセス許可・アクセス拒否のコントロール設定が出来るか練習して下さい。 (考えられるアクセスコントロール全て。) 最後にLinux系OSの場合は、拒否IPを設定してから許可IPを設定しても全て拒否されます。 許可IPを設定してから、考えられる拒否IPを全て入れる方式を取らないといけません。 sendmailですが、SMTPとPOP3個別に設定すれば、思い通りに設定できると思います。 sendmail全体で設定するから、SMTP・POP3両方に反映されている物と考えられます。       

LINUX-man
質問者

補足

ありがとうございます。 LINUX4で古いです。25番のsendmailがメールを受信するので「特定IPのみ」 と指定できても送信と受信の両方の動作がそれぞれのIPアドレスで影響を受けてしまいます。 なので、特定のIPからのみ、送信を許可してるつもりが、受信もその特定のIPからしか受付できなくなってしまうのです。 許可・拒否するものがsendmail(25番)で送信も受信も担っているという点が 一番のネックですね。送受信ポートが別になっていれば簡単なんですけど。 今のところ、考えられた方法は以下の5つです。 1.iptables (一度接続を許可してしまう) 2./etc/mail/access(送信と受信を分けて指定できない) 3.hosts.deny(/etc/mail/access同様) 4.saslauthd(IP制限設定がなさそう) 5.sendmail.def? notnotさんの情報から得られたsendmail.defを見てみるしかなさそうです。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.4

No3です。 SMTP接続されたときのメールの宛先が、 ・ 自ホスト宛である場合は、どこのIPアドレスからでも受け入れる ・ 他ホスト宛である場合は、特定のIPアドレスからしか受け入れない ということであれば、iptablesでできないことは自明です。いったんつながないと宛先がわかりませんので。 上記は sendmailでも設定でIPアドレス限定はできるはずです。「sendmail IP 限定」などで検索してみてください。

LINUX-man
質問者

補足

ご理解ありがとうございます!! たしかに、iptablesでは一度受け入れてしまうので、送信を拒否できても、mailqにエラーメールが残ってしまうようでしたので別の方法を探してました。 sendmail.def?というもので理解できなくて、困惑してますが、 希望する形にできそうですね。。。ちょーっと、むずかしいので。。もうちょっと別の方法を探してみたいです。。すいません。。 /etc/mail/accessが使えれば簡単そうなのですが、接続元に対して受信と送信に対する切り分けはできないようです。 あとは、SMTP AUTH適応されてるので、saslauthdのカスタマイズを探したのですが、IP制限はできなさそうで、hosts.denyでも機能しなそうなので。。。 sendmail.def?のあたりをもう少し調べてみます。。 ありがとうございます。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

質問文が矛盾してますが、やりたいことは何でしょうか? >特定IPからしかメールが受信できなくなってしまいます。 >特定のIPからのみ送信許可させたいのです 特定のIPからだけメール受信する=特定のIPからのみ送信許可 ですが。 自分から見ると受信ですが、相手から見ると送信。 >・外部からのメール受信=全て許可 >・外部等へのメール送信=特定IPのみ許可 外部から自分への25番ポート接続を許可 自分から外部一般への25番ポート接続を非許可にして、特定IPへのみ25番ポートの接続を許可 ということであれば、iptablesでできますが、質問の前半で書いていることと矛盾してるような気がします。

LINUX-man
質問者

補足

すいませんでした!ご指摘のとおり、前半は言葉が足りていませんでした。 踏み台にされて外部サーバーへ大量メール配信などされないように、外部へメールを送信する際の接続元IPアドレスを特定しておきたいのです。 iptablesでおそらくできるのだろうと思い、サンプルなど調べてみたのですが、25番(smtp)に対しての設定が難しく。。 全部拒否なら良いのですが。。 中に入ろうとする場合はどこのIPからも受け付けて、 外へ出そうとする場合は特定のIPからの命令しか受けないようなiptables設定はどうしたらよいでしょうか。。 恐れ入りますが、ご教示ください。

  • moochi99
  • ベストアンサー率25% (101/403)
回答No.2

#1です。 連続で済みません。 MTAの設定で特定ホストからのみの中継を許可する設定が出来ると思います。 (Postfixなど)

LINUX-man
質問者

補足

早急なお返事ありがとうございます! sendmailで稼働しているのでsendmailの設定方法なども探してみたのですが、、自分のレベルでは理解できず、簡単な方法がないか探していました。。。 sendmail8.14.5なのですが、特定ホストからのみの中継を許可する設定方法がわかりそうなサイトなどはありますでしょうか。。 ご教示いただけましたら幸いですm(_ _)m

  • moochi99
  • ベストアンサー率25% (101/403)
回答No.1

OP25Bでポート587を使ったらいかがですか?

関連するQ&A