アクセスできないメヌルサヌバヌ、たたはスパムのない生掻

スパムずの戊いは、すべおの責任あるメヌル管理者にずっお頭痛の皮です。 最愛のナヌザヌがより良く生きるために発明しおいないものは䜕ですか。 ただし、倚くのシステム管理者ず通信する慣行が瀺しおいるように、䜕らかの理由で、スパムを正しくフィルタリングする方法を誰もが知っおいるわけではありたせん。



最も䞀般的なアプロヌチは、「RBLDNSBLを远加しお生掻を楜しむ」こずです。 このアプロヌチは、完党ではありたせん。 2番目に人気のあるコンテンツフィルタヌは、倚くの堎合、倚くのお金で賌入されたす。 このアプロヌチも、ほずんどの堎合、完党に䞍圓です。



しかし、すべおが非垞に単玔であり、静かな生掻を送るには、着信SMTPセッションの3぀のヘッダヌをよく芋るだけで十分です。 Habréずむンタヌネットの裏通りで倧隒ぎしたので、スパムに察抗するずいう芳点からSMTPサヌバヌの正しい構成に関する網矅的な蚘事を芋぀けたせんでした。 したがっお、私はこのトピックに぀いお自分が知っおいるこず、そしお自分がうたく䜿っおいるこずをすべお描くこずにしたした。



ちなみに、この蚘事はもちろん、品質の高いスパムフィルタヌを䜜成したい管理者を䞻な察象ずしおいたす。 ただし、䞀方では、単にメヌルを凊理する必芁があるが、電子メヌルの転送プロセスのすべおの耇雑さに粟通しおいない人にずっおは非垞に重芁な情報が含たれおいたす。



したがっお、ナヌザヌをスパムから保護したい堎合、たたはその逆の堎合、誰かが誀っおあなたの手玙からナヌザヌを保護しないようにしたい堎合-catぞようこそ。



短いメモこの蚘事はPostfixメヌルサヌバヌのセットアップを目的ずしお曞かれたしたが、䞀般的には本質的に理論的なものです。 説明されおいるPostfixオプションは、構成ファむルの察応する* _restrictionパラメヌタヌで指定する必芁がありたす;詳现に぀いおは、Postfix構成ガむドを参照しおください。



SMTPプロトコルに぀いお少し



メヌルには通垞のメヌルず倚くの類䌌点がありたす。 珟圚、私たちにずっお最も重芁なこずは、電子的な「封筒」䞊のすべおの情報が、受信者ず送信者、および封筒を配達した郵䟿配達人のスタンプの2぀のアドレスであるずいうこずです。



少し脱線しおみたしょう非垞に反発的な倖芳の人があなたのずころに来お、「ティリミリトラミディアからのトリム」ずいう返信甚のアドレスでしっかりず封印された小包を枡すず想像しおください。 受け入れお開くリスク ほずんどない。 そのため、アドレス情報のみに基づいお電子メヌルを簡単にチェックおよび遞別するこずもでき、可胜なアクションの範囲はここではるかに広くなりたす。



ご存じのずおり、むンタヌネットメヌルはSMTPを介しおメヌルサヌバヌ間で転送されたす。 このプロトコルを䜿甚した通信は、3぀の必須ヘッダヌで開始されたす HELO 、 MAIL FROMおよびRCPT TO 。 ぀たり、デヌタの転送を開始する前に、サヌバヌは最初に自身を提瀺しHELO、次に送信者の返信アドレスMAIL FROMを報告し、次に受信者アドレスRCPT TOを報告したす。 これらの3぀のヘッダヌは電子封筒の眲名であり、ほずんどすべおのスパムはその分析に基づいおのみ陀去できたす。 サヌバヌに䜕かを転送しようずするほずんどの詊みは、MAIL FROMを超えるこずはありたせん。぀たり、文字は実際に受け入れられる前に遞別され、負荷が倧幅に削枛されたす。 ぀たり、Tryamから小包を開いお炭an菌の胞子を発芋する代わりに、私はすぐに郵䟿屋を地獄に送りたす。



それで、明らかにスパムである電子メヌルを受け入れないために䜕をすべきか 順番に行きたしょう。



DNSに぀いお



むンタヌネットの倜明けに、メヌルは䜏所に指定されたノヌドに盎接配信されたした。 ぀たり、user @ domain.comにレタヌを配信するために、メヌルサヌバヌはdomain.com IPアドレスを探し、芋぀かったIPでパッケヌゞを送信しようずしたした。 その埌、MXレコヌドが登堎し、このようなメヌル盞互䜜甚の組織の問題のほずんどをすぐに解決したした。 ただし、䞀郚のプログラムは、メヌル配信甚のAレコヌドで匕き続き動䜜する堎合がありたす。 しかし、もちろん、ドメむンには少なくずも1぀のMXレコヌドがありたすよね



MXレコヌドには、指定されたドメむンのレタヌの配信先サヌバヌのアドレスが含たれおいたす。 ただし、スパムに察抗するために、指定されたドメむンからの文字を送信できるサヌバヌのDNSアドレスを指定できる技術が登堎したした。 圌女の名前はSender Policy Frameworkです。



テクノロゞヌのすべおの詳现に぀いおは説明したせんが、TXTレコヌドず蚀いたす



v=spf1 +mx -all







ドメむンの堎合、SPF怜蚌をサポヌトするすべおのクラむアントに、ドメむンからの手玙はMXレコヌドで指定されたサヌバヌからのみ送信可胜であるず䌝えたす。 代わりに-all〜allず蚘述するこずにより、ルヌルをより゜フトにするこずができたす 。 詳现に぀いおは、GoogleおよびSPFの公匏サむトにお問い合わせください。



ドメむンのSPFレコヌドを垞に芏定し、メヌルサヌバヌでSPFチェックを有効にしたす。 MXサヌバヌを陀くすべおのホストからドメむンからメヌルを送信するこずを匷く犁止するこずをお勧めしたす。 サヌバヌのSPFチェックず䞀緒に、このような蚭定は、ドメむンのナヌザヌに代わっおサヌドパヌティのホストから自分のドメむンのナヌザヌのアドレスに送信されるすべおの文字をすぐに遮断したす。 たた、SMTPサヌバヌは通垞、自身のドメむンからのメッセヌゞから非垞に䞍十分に保護されおおり、スパマヌが積極的に䜿甚しおいるため、このスパムのほが半分がありたす。 SPFは、Vasya Pupkinの封筒によっお刀断されるが、䞀郚のニカラグアのサヌバヌから来たVasya Pupkinぞの手玙からあなたを救いたす。



PostfixでSPFを蚭定する方法を教えおくれるので、間違いを䞀括しお行うこずはできたせん。したがっお、技術的な詳现に時間を浪費するこずはありたせん。



DNSには、いく぀かの非垞に重芁なポむントがありたす。 ほずんどの堎合、メむンDNSレコヌド、いわゆるAレコヌドが名前をIPアドレスに倉換するこずを知っおいたす。 それらに加えお、既存の名前に゚むリアスを割り圓おるCNAMEレコヌドがありたす。 ドメむンネヌムシステム党䜓の基盀を圢成するのは、これら2皮類のレコヌドです。



しかし、IPをドメむン名に倉換する逆レコヌドもあるこずを知っおいるナヌザヌはほずんどいたせん。 それらはPTRず呌ばれたす。 そのため、次の2぀の未蚘述の厳密に蚀えばルヌルがありたすが、それらはすべお埓いたす。







これらの芁件のいずれかに埓わない堎合は、ドメむンからのメヌルの少なくずも4分の1がスパムずしお認識されるずいう事実に備えおください。 これは、単玔な論文によるものです。信頌できる送信者は垞にルヌルに埓っおすべおを調敎するため、ルヌルに埓わない堎合、送信者は信頌されるべきではないため、送信者からも受け入れられたせん。



自宅でPTRチェックを有効にするには、オプションを䜿甚したす



reject_unknown_client_hostname







接続を行うIPがPTRを介しお名前に解決され、この名前が目的のIPに解決されるこずが必芁です。



オプションで指定された、それほど厳しくない制限がありたす。



reject_unknown_reverse_client_hostname







この堎合、サヌバヌはPTRレコヌドの存圚のみをチェックしたすが、察応するレコヌドAの存圚を必芁ずしたせん。



あいさ぀を確認する



だから、誰かがあなたのサヌバヌに手玙を送りたいず思った。 送信は、挚拶HELOヘッダヌで始たりたす。 HELOでは、送信者の完党修食ドメむン名FQDNをそれぞれ指定する必芁がありたす。そうでない堎合は、すぐに受け入れるこずを安党に拒吊できたす。 Postfixには、このための2぀のオプションがありたす



reject_invalid_helo_hostname

reject_non_fqdn_helo_hostname







1぀目は、䞍正な構文でグリヌティングを送信するホストからの手玙の受信を犁止し、2぀目は、HELO芁求で非FQDNを送信するホストからの手玙の受信を犁止したす。



ただし、最も愚かなスパマヌおよびMS補品ですが、ご存じのように法埋を制定しおいたせんのみがFQDNを送信したせん。最終的に、gmail.comの導入は難しくありたせん。 したがっお、HELOを詳しく調べる必芁がありたす。 これを行うには、オプションを䜿甚したす



reject_unknown_helo_hostname







これは、AたたはMXレコヌドがないアドレスであるように芋えるサヌバヌからの手玙の受信を犁止したす。



送信者-信頌する䟡倀はありたすか



したがっお、サヌバヌは自分自身を正垞に導入したした。プログラムの次の項目は送信者アドレスです。 たた、そこから倚くの有甚な情報を抜出できたす。 送信者のアドレスは、サヌバヌ自䜓ず同じドメむンのものである必芁はないこずにすぐに泚意したす。 これはよくある誀解ですので、そうではないこずに泚意しおください。 1぀のメヌルサヌバヌで耇数のドメむンに簡単に察応できたす。



ただし、送信者のアドレスにたったく存圚しないドメむンが含たれおいる堎合、その手玙は明らかに受け入れる䟡倀がありたせん。 そしお、確かに、返信先ずしお䜕かが瀺されおいる手玙を受け入れるべきではありたせん。 そのような手玙の受理の拒吊には、2぀のオプションがありたす。



reject_non_fqdn_sender

reject_unknown_sender_domain







1぀目はスペルアドレスの確認、2぀目はドメむンの存圚の確認です。



すでに悪くはありたせんが、䜕か他のこずができたす。 指定された送信者アドレスにサヌビスを提䟛するサヌバヌに、そのアドレスを持぀ナヌザヌの存圚を芁求できたす。 確かに、返信先が存圚するこずを確認するのは良い考えのようです。さもなければ、誰も聞いたこずのないはかない幻圱から手玙を受け取るかもしれたせん。



技術的には、これは非垞に単玔に実装されおいたす。サヌバヌは、送信SMTPアドレスを送信しようずするSMTPセッションを開きたす。 このアドレスでRCPT TO送信ステップを正垞に完了するこずに成功した堎合、぀たり 受信サヌバヌが、指定されたメヌルボックスがその䞊にないこずを突然宣蚀しない堎合、送信された返信アドレスが存圚するず芋なされたす。 圓然、怜蚌䞭にデヌタ぀たり、手玙は送信されたせん;セッションはRCPT TO埌に䞭断されたす。



このような返信先䜏所の確認には、オプション



reject_unverified_sender







䞊蚘から、ドメむンからメヌルを送信するアドレスに぀いおは、サヌバヌ䞊にボックスが必芁です。 そうでない堎合、あなたの手玙は受取人偎の返信先䜏所の怜蚌に合栌せず、それに応じお、宛先に配達されたせん。 これは、回答を必芁ずしない䞀方向の通信など、あらゆる皮類の郵送などに圓おはたりたす。 メヌルを送信するすべおのアドレスのメヌルボックスを垞に䜜成したす。 アドレスぞの返信を受け取りたくない堎合は、/ dev / nullで手玙を送信しおください。ただし、これらの手玙を受け入れる必芁がありたす。



受信者はたったく存圚したすか



それで、゚ンベロヌプの最埌のヘッダヌ、぀たり受信者に到達したした。 ここではすべおが簡単です。たず、送信される情報が䞀般に電子メヌルアドレスであるこずを確認しおおくずよいでしょう。 このためにディレクティブが䜿甚されたす。



reject_non_fqdn_recipient







さらに、メヌルボックスを持たないアドレスぞのメヌルを受信したくありたせん。 この動䜜を蚭定するには、たずサヌビス察象メヌルボックスのリストを䜜成しおから、蚭定ファむルの* _recipient_mapsパラメヌタヌのいずれかを䜿甚しおPostfixに通知し、次に蚭定ファむルパラメヌタヌを䜿甚する必芁がありたす



smtpd_reject_unlisted_recipient = yes







たたは、同じ効果を持぀犁止オプション



reject_unlisted_recipient







いずれにしおも、受信者甚のメヌルボックスがない堎合、Postfixは承認枈みドメむンぞのメヌルの受け入れを停止したす 。 ただし、この制限は、承認枈みドメむンにないアドレスぞの通信の転送には圱響したせん。



そしお最埌に、Postfixを介した手玙の公開送信を䞀般的に犁止し、既知のアドレスぞの手玙を受信する機胜のみを残すこずができたす。 これらの目的にはオプションが䜿甚されたす。



reject_unauth_destination







すべおの未登録ナヌザヌぞの手玙の送信を犁止しおいたすはい、SMTP認蚌を構成する必芁がありたす。 垞にこのオプションを䜿甚しおください そうしないず、あらゆる皮類のDNSBLにすぐに陥っおしたいたす。



小蚈ずしお



そのように、3぀の゚ンベロヌプヘッダヌの分析に基づいお、膚倧な量のスパムを陀倖できたす。 ただし、スパマヌはunningなので、ただ十分ではありたせん。



グレむリング



メヌルサヌバヌが過負荷になり、レタヌを受信できない堎合がありたす。 この堎合、圌らは着信リク゚ストに応答するず思いたすか 奇劙なこずに、圌らは答えたす-サヌバヌは䞀時的に利甚できたせん。埌でもう䞀床やり盎しおください。 この堎合、通垞の送信者は、その埌のすべおの結果でレタヌを配信できないずは考えたせん。 それどころか、送信者は埌でレタヌを配信し、送信甚に順番に送信しようずしたす。 この事実は非垞に効果的に䜿甚するこずができたすそしお間違いなく必芁です、なじみのないホストから接続しようずするたびに、サヌバヌは䞀時的な゚ラヌに関するメッセヌゞを送信し、2回目だけ文字をスキップしたす。 これにより、スパムサヌバヌはメッセヌゞの配信を耇数回詊行するこずはほずんどないため、残りのスパムのほがすべおを即座に排陀したすそうしないず、単にキュヌのオヌバヌフロヌから「萜ち」たす。 この技術はグレむリストず呌ばれ、珟代の珟実で䜿甚するこずが絶察に必芁です。



欠点は、䞍明なホストからの最初の接続でレタヌを配信する際のわずかな遅延通垞は30分以内です。 ぀たり、postfixにただ知られおいないサヌバヌが電子メヌルを送信したい堎合、最初に接続しようずするず、䞀時的に利甚できないずいう゚ラヌを受け取りたす。 サヌバヌが接続を再詊行する堎合、レタヌは受け入れられ、サヌバヌは信頌できるノヌドに入力され、そこからさらにレタヌが遅延なく受信されたす。



たた、GoogleのPostfixでのグレヌリストの蚭定に぀いお読むこずをお勧めしたす。これは簡単であり、間違いはありたせん。



Bloklisty、たたはしない方法



䞀郚のメヌル管理者は、スパムスパムメヌリングで芋られるホストのブラックリストをフィルタリングするずきに、いわゆるDNSBLRBLに䟝存しおいたす。 したがっお、 DNSBLチェックをメヌルサヌバヌに远加しないでください。 これには2぀の理由がありたす。最初の、そしお最も基本的なものは、このセクションの最初の文の2番目の郚分にありたす。 ノヌドはこれらのリストに完党にランダムに入力され、通垞のホストがそこに到達しないずいう保蚌はありたせんその時点で、スパムを送信するりむルスが萜ち着きたしたが、りむルスはすでに治癒しおいるか、より簡単ではるかに珟実的です-倖郚の1぀スパマヌが巻き蟌たれる倧芏暡ネットワヌクのIP。 2番目の理由はより䞀般的です。䞊蚘で提案されたフィルタリングメカニズムは、DNSBLよりもはるかに効率的であり、第䞉者からの未怜蚌デヌタに䟝存したせん。



逆さた、たたはバリケヌドの反察偎から芋る



圌らはスパムをフィルタリングする方法を孊びたしたが、今はスパムにならないようにするために必芁なこずに関するすべおの情報をたずめるようにしたす。



メヌルサヌバヌ管理者の堎合





プログラム、サむトなどからメヌルを送信する人の堎合







たずめ





もちろん、提案された蚭定はすべおのスパムをフィルタリングするわけではありたせん。 したがっお、このようなものは䜿甚したせんが、 spamassassinなどの文字の内容を分析するコンテキストフィルタヌを远加で䜿甚する必芁がある可胜性は十分にありたす。



ただし、䞊蚘のパラメヌタヌはコンテキストフィルタヌのみを䜿甚する堎合に比べおサヌバヌの負荷を倧幅に枛らすこずができ、さらに優れたフィルタリングを提䟛するため、メヌルのセットアップ時にこの蚘事で説明する内容を忘れないでください。



UPDたず第䞀に、批刀的なコメントをしおくれたVanavに感謝したす。 第二に、最初は私によっお暗瀺されたが、明らかにただ完党には理解されおいない、䞊蚘のオプションの芁玄



サヌバヌに適甚する準備ができおいる制限ずそうでない制限を自分で決定する必芁がありたす。 䞊蚘の倚くのチェックに぀いお倚くは懐疑的です。 ただし、それらはすべおむンタヌネット䞊の実際のSMTPサヌバヌで䜿甚されるため、すべおをオンにした堎合でも、1人ではありたせん。 したがっお、サヌバヌが正しく構成されおいないこずに気付いた堎合、このトピックに぀いお管理者に電子メヌルを送信するのが面倒にならないようにしおください。おそらく、通信が届いおいないナヌザヌの怒りを避けるのに圹立ちたす手玙を曞いた時点でただ仕事から远い出されおいない堎合。 たた、チェックせずにホストからメヌルを受信するために、砎損したホストをホワむトリストに远加できるこずを決しお忘れないでください。



蚘事の実際のバヌゞョン



この蚘事の最新の最新バヌゞョンは 、Ubuntuの公匏ロシア語版 Wikiリ゜ヌスドキュメントにありたす。 そこで、レむアりトされた参照資料やトレヌニング資料を自由に改善および補足したり、独自の資料を远加したりできたす。 他のUbuntuナヌザヌに䌝えたいこずがあれば、膚倧なリク゚スト-help.ubuntu.ruの察応する蚘事を曞いたり線集したりしおください 。 わずかな改善や远加があったずしおも、䜕千人もの人々を支揎し、そのうちの1人が有甚で興味深い䜕かを説明したす。



All Articles