Postfix(8)
Postfixスレッド その7です。
●リンク
本家
http://www.postfix.org/
Postfix のぺーじ (ドキュメントの日本語訳、MLなど)
http://www.kobitosan.net/postfix/
過去スレ、関連スレなどは>>2-4あたり >>226
一応勉強してきたんですが、それでも気になるので、
皆さんの教えを乞いにここへ来たのですが・・・。 >>227
お前さん、用語だけ理解して
どういう仕組みで動作しているか理解できていないだろう。
ググれば判るから、もっと勉強しておいで。 2.6になって仕様が変わっていたのかorz
今まで気づかなかった。
always_add_missing_headers設定して解決 グーグル先生でもダメだったので、諸先輩方に質問です。
qmail+postfix+vpopmailの環境で自サーバ内のバーチャルドメインにperlからsendmail(qmail)メールが届きません。
maillogを見たら
qmail: ... starting delivery 4: msg 16908638 to local example.com-acount@example.com
となっていました。
acount@example.comに送りたいのにexample.com-acount@example.comなので届かないんでしょうけれど・・・
qmailの可能性でも調べましたが、postfixの設定というのが2件引っかかっただけで解決には至らず。
すみません、途中送信してしまいました。
------------------------------------------------------------------------
グーグル先生でもダメだったので、諸先輩方に質問です。
qmail+postfix+vpopmailの環境で自サーバ内のバーチャルドメインにperlからsendmail(qmail)メールが届きません。
maillogを見たら
qmail: ... starting delivery 4: msg 16908638 to local example.com-acount@example.com
となっていました。
acount@example.comに送りたいのにexample.com-acount@example.comなので届かないんでしょうけれど・・・
qmailの可能性でも調べましたが、postfixの設定というのが2件引っかかっただけで解決には至らず。
どなたか解決の方法をご存知の方がいたらご教授願えればと思います。 qmail+postfixって何したいんだ?エスパー希望?? >>233
すみません、色々自分がおかしいみたいです。
maillogにqmailって書いてあるのにpostfix調べてました。
qmailで調べ直してきます・・・ どなたかヒントでも良いので教えてください。
特定IPからのアクセスのみsmtpd_client_connection_count_limitを大きくする方法
をご存じ無いでしょうか?
たとえば、デフォルトはsmtpd_client_connection_count_limit = 10
192.168.0.1からは、smtpd_client_connection_count_limit = 50
という感じの事がしたいです。
よろしくお願いします。 別ポートでもう一つsmtpdを立ち上げておいて、
ipfw,iptables等で特定のIPアドレスから来たsmtpセッションを
別ポートのsmtpdに振り分ける >>236
レスありがとう。
其の手があった。目から鱗です。 sendmail なら素でできるので乗り換えるとか:-)
大量送信してくるアホを蹴る手段のひとつとして ratecontrol を使う sendmail と、
リソースが枯渇しないようにするための緊急回避として anvil を使う postsifx とで
実装ポリシーがまったく違うので、今後も postfix でできるようにはならないだろうなー。
DDoS的に多種多様なIPからのmail bombだったりするとどちらもダメだったりするけどねい。
3週間に一度ぐらいのペースでそういう攻撃されるので、うざいうざい… >>240
ここ1週間毎日攻撃されております。
iptables にルールを追加するんですが、モグラ叩きみたいな
感じで切りがないです。
なんか、良い方法ないですかね? >>241
金で解決するかポリシーで解決するか。
傾向を調べて日本国外からの爆撃がほとんどだったら
>>236でまとめて制限するとかすればいいんじゃね
iptablesならconnlimit使えば委員ジャマイカ FreeBSDをつかっているのですが
Postfix 2.4を2.6の最新版にアップグレードして
postgreyも最新のものにしようと思っているのですが
# portupgrade -o mail/postfix -f mail/postfix24
# portupgrade -R mail/postgrey
で大丈夫なんでしょうか?
設定ファイルの書き方に変更があるならバックアップをとろうと思うんですが postfix upgrade-configuration
postfix set-permissions
でいいんじゃね
あのメール送受信が出来ないってのは CentOS の ML から移動してきたやつだねw 何で分かりもしないのにメールサーバ立てたがるのかねえ・・・
どうせ大した人数もいないんだからGmailでもなんでもSaaSつかえばよかろうに
なんかあメールサーバーってかっこいいじゃないですかあ
ウェブサーバーとかはイントラネットで立てて実験してってできるじゃないですかあ
でもメールサーバーってほんとに送受信できるかどうかって他所のサーバーと
やってみるまでわかんないじゃないですかあ
そこがこうヒリヒリする感じ?ああ本物のサーバーだなって思えるじゃないですかあ
やっぱりただのサーバーとメールサーバーとは隔絶した存在なんですよ
ギンヌンガガップがあるんですよ
ローカルからの接続SMTP許可しています。
直接SMTPたたかれるとユーザ名等がログに残らないのですが、
ユーザ名を特定する方法はないでしょうか?
すいません、追加質問おながいします。
SMTPポートへの接続はローカルからでも拒否して、
postfix.sendmail
ttp://www.postfix-jp.info/trans-2.2/jhtml/mailq.1.html
への接続はローカルから許可する、なんてことは可能でしょうか?
理想は 251のようにローカルホスからの接続の場合、ユーザ名をログすることなんですが、
なんか厳しい気がするので。
>>252
「SMTPポートへの接続」と「postfix.sendmailへの接続」っつーのはどう違うんだ?
それぞれ違うTCPポートで起動させてんのか?
まあ、プロトコルやMTAについてよく判ってないようなので、君には無理。 > 「SMTPポートへの接続」と「postfix.sendmailへの接続」っつーのはどう違うんだ?
postfix.sendmailが最終的にSMTP接続を行うと考えれば結局は同じになるかと思います。
なんで252の件もやはり難しそうですよね。
ローカルであろうがなかろうが、SMTP認証をつけてしまおうかとも
考えましたが、そうなるとpostfix.sendmail使用の際も認証が必要、となり、
実質的にpostfix.sendmailを改造しないと対応できない気がします。
postfix.sendmailは使用ユーザをログするようになってるようなので
使用は問題ないのですが、
直にSMTP接続されると使用者の特定方法がなくて困っています。
ローカルからは接続許可しているケースが一般的だと思います。
この場合、極端な事例だと、自社に大量スパマーがいたら
送信行動の特定ができなくなってしまうわけですが、
このあたり他の方はどのような対応なさってるんでしょうか?
ローカルポートへの接続状況を監視するようなプログラムってないでしょうか? > ローカルポートへの接続状況を監視するようなプログラムってないでしょうか?
netstat をもう少しログや接続ユーザ等詳細に残せるような感じなものが
あればとりあえずの目的は達成できそうなのですが。 lsofか、OSに依存するけどsockstatでも使うとか。
postfixがidentサポートしてればいいんだろうけど、サポートしてなさげだし。 ローカルからの SMTP 接続に auth を強要すればいいだけじゃん。
smtpポートに接続されること自体が嫌なのかと思って>>256書いたけど、
良く読んだらspammer防ぎたいってだけだからauth強要でいいのか。 最新バージョンに対応した「Postfix辞典」出ないかなぁ。 RBLを使って拒否とかをするのではなく、引っかかったメールはヘッダに
フィールドを追加する等加工をして通すなんて処理は出来るのでしょうか?
なるべくサーバでは捨てないでクライアントで捨てる方向にしたいのですが・・・。 >>261
spamassassinってベジアンフィルタだけだと思ってスルーしてたけど
RBLとかにも対応してるのね。ベジアンフィルタOFFで使えるなら
これが良さそう。ちょっと試してみます。ありがとー postfixからspamassassinに食わせようとすると直では使えないのね
procmailかamavisd-newあたりをかまさないと駄目なんだと思うけど
ベジアンフィルター使わないならちょっと大げさな気がしてきた
もうちょっとシンプルな方法無いのかな・・・ >>263
もうちょっと調べろよ…
つ spamass-milter >>260
http://www.postfix-jp.info/trans-2.1/jhtml/access.5.html
PREPEND headername: headervalue
メッセージの前に指定されたメッセージヘッダを付加します。このアク
シ ョンが複数回使われると、最初に付加されたヘッダは2番目などのヘ
ッダの前に現れます。
注意: このアクションは複数行のメッセージヘッダをサポートしていま
せん。
この機能は Postfix 2.1 以降で使えます。
postfix2.3.3+postfixadminを使用しています。
メールの転送について聞きたいのですが、
Aから、Bに届いたメールをCに転送すると、Cには差出人が
Aであると表示されます。これをBと表示するにはどんな設定が必要でしょうか。
Bのアドレスがpostfixで提供しているアドレスです。 そんな質問するやつが MTA(postfix)運用してるんじゃねーよ… orz
いやほんとに >>265
PostfixのRBLの機能使って、PREPENDでヘッダにメッセージ付加は出来ないんじゃない?
やっぱSAとか使わん限りむりじゃないかなあ。 ここ参考にmain.cfに「expand_owner_alias = yes/owner_request_special = yes」を追加
MySQLのaliasテーブルにowner-***を追加してみたけど、ダメだった。
http://mtlab.ecn.fpu.ac.jp/WSM_2005/051007121618.html
Try & Errorでやるようなスキルじゃpostfix扱うべきじゃないんですかねorz >269
悪いことはいわん
明らかに envelope と header の区別もついていなさそうだし
forward が何をさすのかも分かっていないようなので
氏ねとか逝ってしまえとまでは言わないが
基本をきちんと勉強してからにしてくれ
設定とかじゃなくて「メールとは何か」ってことを、ね
そして上記のキーワードの意味が分かってからにしなさい PHPから送信するときenvelope -fを指定するとheaderのFromが埋まるため
勘違いしてました。全然分かってなかったですね。ちょっと勉強しなおしてきます(汗; どなたか教えてください。log に「postfix/smtpd[5089]: too many errors after」
が出力される時の条件って、smtpd_hard_error_limit に依存するのですか?
出力条件が良く判らないので、ご存じの方お教えください。 その前にsmtpdがpid 5089で起動される必要がある、それなりのレアケースだな smtpd_hard_error_limit
smtpd_soft_error_limit スパムを送信しようとする接続がやたら多くてsmtpdの起動数がすぐに限界(100)に
達しちゃうんです。limitを多くしても根本的な解決にならないような気がして、この
不要なsmtpdをすぐに停止するようなオプションってあるのでしょうか。 一定時間待っててもなんもデータが送られてこない接続。ですかね?
あーでも拒否っても無視してデータ送ってくる類もいますか。 >>277
> 一定時間待っててもなんもデータが送られてこない接続。ですかね?
どの段階でかよくわからんが
smtp_なんちゃら_timeout でいいんじゃね。 >>279
どもです。タイムアウトの設定があったのですね。
とりあえずこんな感じで短めにしてみたところ前より処理が早くなりました。
もうちょい様子を見てまたご報告します。
anvil_rate_time_unit = 5
default_process_limit = 500
smtp_connect_timeout = 10s
smtp_helo_timeout = 60s
smtp_mail_timeout = 60s
smtp_rcpt_timeout = 60s
smtp_data_init_timeout = 45s
smtp_data_xfer_timeout = 60s
smtp_data_done_timeout = 60s
smtp_quit_timeout = 60s
smtp_mx_session_limit = 0 >>280
ぜんぜん関係ないパラメータいじってんのに効果あるわけねーよ。
ちっとは自分でマニュアル調べろ。
あぁごめんなさい。
anvil_rate_time_unit ですよね?マニュアル読みました・・・orz >>275
プロセス使い切ってしまう問題は、postfix の設定変更だけじゃ無理だよ。
OS書いてないから、具体的な事は言わないけど・・・ >>283
そうなんですか。とりあえずタイムアウトの設定いじったらずいぶんマシに
なりましたが、結局量が増えたら同じですかね。
CentOSなんですが何かいい方法ありますでしょうか。
別のOSの場合でもいいのですが。 >>280
あーこの設定は極めてまずいところが有るな smtp_mx_session_limit=0(無制限)ですかね?
他のサイトを参考にしたんですが、やはり明示的に上限を決めておいた方がいいのでしょうか。 そりゃそうでしょ
無制限に接続を受け付けてメモリ不足スワップ発生
スラッシング発生になったほうがよっぽど処理速度が落ちる
よっぽどでかいサイトでもない限り10や20も受け付けときゃ十分だ
SMTPには再送の機構が最初からあるんだから プロセス使い切るというと、SPAM対策でtarpittingなんてしていると、あっという間に
プロセス使い切っちゃうねい。まあ、ttp://k2net.hakuba.jp/targrey/ のパッチ
当てればいいんだけど、最近のSPAMってtarpittingしていてもいなくても、
あまり差が出てこないような気もするし、もうtarpittingはやめちゃっていいのかも。 >>289
tarpitしてもプロセス数の増加はせいぜい3倍くらいだったよ。
もちろんパッチ当てたほうがいいと思うけどね。
あとtarpit掛ける時間が現状にマッチしてるかも大事。
大手botnetが時々待ち時間変更してくるからそれが抜けない時間を設定。
今なら90秒くらいか。 素直に台数増やせば?
んな大量のリクエストてアドレス数も多いと思うけど
担当がこんなのだと、そうでも無いんかな ばかにされてしまった
postfixを5年ほど10台くらいで運用してるけど、spam受信が100埋まる事無いです
tarpitは90秒ですよねぇ
よっぽどあれなサービスか?とか勘ぐってるんだけど
もしくはその接続はspamじゃないとか >>293
いや、最近Brute force attackみたいに1秒間に1000セッションとか張ってくる
いやーんな感じのがはやっているの。
以前だったら、全然問題無かったけど最近他のスレでも話題になったよ。 んな接続に耐えられるサービスって少ない様な・・
メールを送るのでは無くて、純粋に攻撃なのでわww
受け取る必要無いだろうから、ファイアーウォールで弾くのがはやそう 知りもしないのに291みたいなこと言うから馬鹿扱いされるっていうのが
まだ理解できていないのか、こいつ。 >>295
>いや、最近Brute force attackみたいに1秒間に1000セッションとか張ってくる
>いやーんな感じのがはやっているの。
IP晒してくれ ファイアウォールではじくとか、IP晒すとか言い出すのって、botnetを知らないのかな。 287=291=293=294=296=ただのシッタカか。 botnetだろうが何だろうがそんな奴はFWで弾くだろ、JK >>302
どんな種類のFWで、どのような方法で弾くのか教えてください。 iptablesのlimitとかconnlimitでいいんじゃね。Linuxしか知らないけど。 つーか普通にIPアドレス指定して接続拒否させればいいだけじゃ。 >>303
もうやめとけ。
アホを相手にしても無駄にスレが伸びるだけ。 ボットネットは判るし、最近のスパムは主にcnやroから来るのも判る
jp以外からの接続は次のMXに任せればいーがね
つか、そうやってるぞ
あ、291,293,296 ね
他は別の人です >>307
書けば書くほど自分の知識と経験の無さを宣伝している
事に何故気がつかない?
もう少し色々と経験して自分の頭で考えた方が良いよ。 >>304-305
DDoSのなにが大変なのかお勉強して出直してくること。 >>307
1行目の時点でお前が何もわかっていないということはわかる。 >>308 >>310
心配なので具体的に何が違うのか指摘して欲しいです
もしくは最近流行りとやらのDOS的事例を参照するためのヒント >>313
突然auth関連のログが1.5MBとかになっていて、何事かと思ったら
sshだったりするものねい。かつてに比べて、1回のアタックあたりの
試行回数が増えていて、本当にうざい。一昨日は15000回ぐらいやられてた。 >313-314
それこそ
>304
>iptablesのlimitとかconnlimitでいいんじゃね。Linuxしか知らないけど。
の出番だろ
>>312
>>309はちゃんと「DDoS」と書いてくれてるのに、それを勝手にDOSと
書き換えるような不注意さ、調べる気の無さが問題かな。 バカとか知識不足とか煽るくらいなら書き込まなきゃいいじゃん。 ま っ た り
∧,,∧ ∧,,∧
∧,,(´-ω-)(-ω-`)∧,,∧
( ´-ω)旦o) (o旦o(ω-` )
(_ o[( ´-) (-` )]o _)
└'ー-(_ )][( _)ー'┘
'ー'^ー' 'ー'^ー' まったりしている所を掘り返してごめん
>>316
ごめんなさい。携帯からだったので打つのが面倒でDOSと略しちゃった。
この文意の中だったら意味伝わるかなと。。申し訳ない。
んじゃぁ、結局私が提示した
・必要な通信とあらかた不要な通信を分離してサービスレベルを分ける
・全部取得する必要があるならサーバー台数を増やす
という対処法に間違いは無いで宜しいでしょうか?
必要な通信の定義がサービスによって違うと思いますが、うちではとりあえず
http://www.nic.ad.jp/ja/dns/ap-addr-block.html
ここのIPアドレスとhotmailやgmail等の海外メジャーメールサービスをプライマリMXに。他をセカンダリ以下のMXで受けてます。 ま っ た り
∧,,∧ ∧,,∧
∧,,(´-ω-)(-ω-`)∧,,∧
( ´-ω)旦o) (o旦o(ω-` )
(_ o[( ´-) (-` )]o _)
└'ー-(_ )][( _)ー'┘
'ー'^ー' 'ー'^ー' SPAMmerやbotnetがまじめにMX見ると思ってるのか
なんで粘着してまで無知な自分が正しいんだと言い張るんだろう?
そんな時間があるのなら、お勉強すればいいのに。 ____
__,,/ _, ----`ヽ :.
:. / _ ___ 、\
/ / i \ \\ :.
:. ,'./ i ヽ:. ヽ:.:.. ヽ.ヽ
,'/ / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
:. |i .i i .i / ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
|i .i l :N_, -弋 \弌弋ナ:}:.:}
:. |i∧ ', :{ ,ィjモト \ イjミトイイV :. な…
.| :メヽ.', `ozZ} izN。ハ::{ なんなんですか?
:. | :ヾ_! ゝ "゙゙ ' `゙ ハ.:', :. ここ、どこですか?
| :.:_イ .:.ヽ. (二フ , イ :.:.:!:.ヽ どうして私
:. / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:. よばれたんですか?…
/ ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
:. / .{. ',ヾ、ヽi .:.:.{ /(^` |.:.:.:.//: : :.}: . ヽ.:.
/ / ) ヽ ヾ、ヽ:.ハ ヤ{ ∧/.-‐'": : |:.:. i ',
./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、 : : : l:.:.: .ハ ',
{ /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
V | .:.:/:.:|_,ィ' ̄ ヽ三{ `ー-ノ : イ : : :/:.:i.:{ リ
ヽ:.:{、.:.V : : ヘ : : {: : :/:.::∧|
ヽ! )人 : : :人 : : : / \! :.
" ヽ : : : : :/イ{ :.ノ: : : :.\ :.
:. \__///: :\______/: : : : : : : ヽ
/ //: : :|;|: : : : : : i: : : __: : : : ',
:. / 、 {;{ |;| . : i/. : : : : : :|