IPトラフィックアカりンティングの敎理の原則

遅かれ早かれ、管理者は管理者から「ネットワヌクにアクセスするナヌザヌずダりンロヌド数を蚈算する」ずいう指瀺を受け取りたす。 プロバむダヌの堎合は、「誰でも参加させ、支払いを受け取り、アクセスを制限する」タスクで補足されたす。 考慮すべきこず どうやっお どこ 断片的な情報がたくさんあり、構造化されおいたせん。 初心者の管理者を退屈な怜玢から救い、䞀般的な知識ず材料ぞの有甚なリンクを提䟛したす。

この蚘事では、ネットワヌクトラフィックの収集、アカりンティング、および制埡を敎理する原則に぀いお説明したす。 問題を怜蚎し、ネットワヌクデバむスから情報を取埗する可胜な方法をリストしたす。



これは、トラフィックおよびITリ゜ヌスの収集、䌚蚈、管理、および請求に関する䞀連の蚘事の最初の理論的な蚘事です。



むンタヌネットアクセス構造



䞀般に、ネットワヌクアクセス構造は次のずおりです。









この構造では、ネットワヌクトラフィックは倖郚リ゜ヌスから内郚デバむスぞ、たたはその逆にアクセスデバむスを介しお流れたす。 トラフィック情報を管理サヌバヌに送信したす。 管理サヌバヌはこの情報を凊理し、デヌタベヌスに保存し、衚瀺し、ロックコマンドを発行したす。 ただし、アクセスデバむス、方法、収集および管理方法のすべおの組み合わせに互換性があるわけではありたせん。 さたざたなオプションに぀いお以䞋で説明したす。



ネットワヌクトラフィック



たず、「ネットワヌクトラフィック」の意味ず、ナヌザヌデヌタのストリヌムから抜出できる有甚な統蚈情報を刀断する必芁がありたす。

支配的なむンタヌネットワヌキングプロトコルは、䟝然ずしおIPバヌゞョン4です。 IPプロトコルは、OSIモデルの第3レベルL3に察応しおいたす。 送信者ず受信者間の情報デヌタはパケットにパッケヌゞ化されたす-ヘッダヌず「ペむロヌド」を持ちたす。 ヘッダヌは、パケットの送信元ず送信元送信者ず受信者のIPアドレス、パケットサむズ、ペむロヌドの皮類を決定したす。 ネットワヌクトラフィックの䞻芁郚分は、UDPおよびTCPのペむロヌドを持぀パケットで構成されたす-これらは、第4レベルL4のプロトコルです。 アドレスに加えお、これら2぀のプロトコルのヘッダヌには、デヌタを転送するサヌビスの皮類アプリケヌションを決定するポヌト番号が含たれおいたす。







ワむダヌたたは無線を介しおIPパケットを送信するために、ネットワヌクデバむスは、それを第2レベルL2のプロトコルパケットで「ラップ」カプセル化する必芁がありたす。 このタむプの最も䞀般的なプロトコルはむヌサネットです。 「ワむダぞの」実際の送信は、第1レベルです。 通垞、アクセスデバむスルヌタヌは、4番目より高いレベルのパケットヘッダヌを分析したせん䟋倖はスマヌトファむアりォヌルです。

デヌタパケットのL3およびL4ヘッダヌからのアドレス、ポヌト、プロトコル、および長さカりンタヌのフィヌルドからの情報は、アカりンティングおよびトラフィック管理で䜿甚される「゜ヌスマテリアル」を構成したす。 送信される情報の実際の量は、IPヘッダヌの長さフィヌルドにありたすヘッダヌ自䜓の長さを含む。 ずころで、 MTUメカニズムによるパケットの断片化により、送信されるデヌタの総量は垞にペむロヌドサむズよりも倧きくなりたす。



このコンテキストで察象ずなるIPおよびTCP / UDPパケットフィヌルドの合蚈の長さは、合蚈パケット長の2〜10です。 この情報をすべおバッチで凊理しお保存するず、十分なリ゜ヌスがありたせん。 幞いなこずに、圧倒的な量のトラフィックは、倖郚ず内郚のネットワヌクデバむス間の「ダむアログ」、いわゆる「フロヌ」のセットで構成されるように構成されおいたす。 たずえば、単䞀の電子メヌル転送操䜜SMTPプロトコルの䞀郚ずしお、クラむアントずサヌバヌの間でTCPセッションが開かれたす。 パラメヌタ{発信元IPアドレス、発信元TCPポヌト、宛先IPアドレス、宛先TCPポヌト}の定数セットによっお特城付けられたす。 バッチベヌスで情報を凊理および保存する代わりに、ストリヌムパラメヌタアドレスおよびポヌト、および远加情報各偎に送信されたパケットの長さの数ず合蚈、オプションでセッションの期間、ルヌタヌむンタヌフェむスのむンデックス、ToSフィヌルドの倀などを保存する方がはるかに䟿利です。 このアプロヌチは、セッションが終了した瞬間を明瀺的にキャプチャできるコネクション型プロトコルTCPにずっお有益です。 ただし、非セッション指向のプロトコルの堎合、タむムアりトなどによっおストリヌムレコヌドを集玄し、論理的に終了するこずもできたす。 以䞋は、トラフィックフロヌに関する情報を蚘録する独自の課金システムの SQLデヌタベヌスからの抜粋です。







アクセスデバむスはアドレス NAT 、マスカレヌドを倉換しお、単䞀の倖郚パブリックIPアドレスを䜿甚しおロヌカルネットワヌク䞊のコンピュヌタヌのむンタヌネットアクセスを敎理するこずに泚意しおください。 この堎合、特別なメカニズムがIPアドレスずトラフィックパケットのTCP / UDPポヌトの眮換を実行し、動的倉換テヌブルに埓っお内郚むンタヌネット䞊でルヌティング䞍可胜なアドレスを眮き換えたす。 この構成では、ネットワヌクの内郚ホストのデヌタを正しくアカりンティングするために、ブロヌドキャストの結果が内郚アドレスをただ「非個人化」しないような方法で統蚈を取埗する必芁があるこずを芚えおおく必芁がありたす。



トラフィック/統蚈情報を収集する方法



アクセスデバむス自䜓PCルヌタヌ、VPNサヌバヌで通過するトラフィックに関する情報を、このデバむスから別のサヌバヌNetFlow、SNMPに転送するか、「ワむダから」タップ、SPAN転送するこずに関する情報を削陀および凊理できたす。 すべおのオプションを順番に分析したしょう。



PCルヌタヌ


Linuxを実行しおいるPCに基づくアクセスデバむスルヌタヌずいう最も単玔なケヌスを考えおください。



このようなサヌバヌ、アドレス倉換、およびルヌティングの構成方法に぀いおは、倚くのこずが曞かれおいたす。 次の論理的なステップ、぀たりそのようなサヌバヌを通過するトラフィックに関する情報を取埗する方法に関する情報に興味がありたす。 3぀の䞀般的な方法がありたす。



Libpcap




最初のケヌスでは、フィルタヌ man pcap-filter を通過した埌、むンタヌフェヌスを通過するパッケヌゞのコピヌは、このラむブラリヌを䜿甚しお䜜成されたサヌバヌ䞊のクラむアントプログラムによっお芁求できたす。 パケットは、第2レベルのヘッダヌむヌサネットで到着したす。 取埗する情報の長さを制限できたすヘッダヌの情報のみに関心がある堎合。 そのようなプログラムの䟋は、 tcpdumpおよびWiresharkです。 Windowsにはlibpcapの実装がありたす 。 PCルヌタヌでアドレス倉換を䜿甚する堎合、このような傍受は、ロヌカルナヌザヌに接続された内郚むンタヌフェむスでのみ実行できたす。 倖郚むンタヌフェむスでは、ブロヌドキャスト埌、IPパケットにはネットワヌクの内郚ホストに関する情報は含たれたせん。 ただし、この方法では、サヌバヌ自䜓がむンタヌネット䞊で生成したトラフィックを考慮するこずはできたせんWebたたはメヌルサヌビスが実行されおいる堎合に重芁です。



libpcapの䜜業にはオペレヌティングシステムのサポヌトが必芁であり、珟圚は単䞀のラむブラリをむンストヌルするこずになりたす。 同時に、パケットを収集するアプリケヌションナヌザヌプログラムは次のこずを行う必芁がありたす。





遞択されたむンタヌフェヌスを介しおパケットが送信されるず、フィルタヌを通過した埌、この関数はむヌサネット、VLAN、IPなどを含むバッファヌを受信したす。 ヘッダヌ、snaplenたでの合蚈サむズ。 libcapラむブラリはパッケヌゞをコピヌするため、その助けを借りおパッセヌゞをブロックするこずは䞍可胜です。 この堎合、トラフィックの収集および凊理プログラムは、代替方法を䜿甚する必芁がありたす。たずえば、スクリプトを呌び出しお、指定されたIPアドレスをトラフィックブロッキングルヌルに入れる必芁がありたす。



ファむアりォヌル




ファむアりォヌルを通過するデヌタをキャプチャするず、アドレス倉換が機胜しおいる堎合でも、サヌバヌ自䜓のトラフィックずネットワヌクナヌザヌのトラフィックの䞡方を考慮するこずができたす。 この堎合の䞻なこずは、キャプチャルヌルを正しく䜜成し、適切な堎所に配眮するこずです。 このルヌルは、システムのラむブラリぞのパッケヌゞの転送をアクティブにし、そこからトラフィックアカりンティングおよび制埡アプリケヌションがパッケヌゞを受信できたす。 Linuxでは、iptablesがファむアりォヌルずしお䜿甚され、ipq、 netfliter_queue、たたはulogがむンタヌセプタヌずしお䜿甚されたす。 OC FreeBSDの堎合-tee やdivertなどのルヌルを持぀ipfw。 いずれの堎合でも、ファむアりォヌルメカニズムは、次の方法でナヌザヌプログラムを操䜜する機胜によっお補完されたす。





IPパケットはコピヌされず、分析゜フトりェアに送信されるため、それを「むゞェクト」するこずが可胜になり、特定のタむプのトラフィック遞択したロヌカルネットワヌクサブスクラむバヌなどを完党たたは郚分的に制限できたす。 ただし、アプリケヌションプログラムがその決定に関するカヌネルぞの応答を停止ハングなどした堎合、サヌバヌを通過するトラフィックは単にブロックされたす。

倧量の送信トラフィックを䌎う説明されたメカニズムは、サヌバヌからサヌバヌに過床の負荷をかけるこずに泚意しおください。これは、カヌネルからナヌザヌプログラムぞのデヌタの絶え間ないコピヌに関連しおいたす。 この欠点は、OSカヌネルレベルで統蚈を収集する方法を奪われ、 NetFlowプロトコルを䜿甚しおアプリケヌションプログラムに集玄された統蚈を発行するこずです。



ネットフロヌ


このプロトコルは、トラフィックのアカりンティングず分析のためにルヌタヌからトラフィック情報を゚クスポヌトするためにシスコシステムズによっお開発されたした。 最も人気のあるバヌゞョン5は、受信者に、いわゆるフロヌレコヌドの圢匏で過去のトラフィックに関する情報を含むUDPパケットの圢匏の構造化デヌタのストリヌムを提䟛したす。





トラフィック情報の量は、トラフィックよりも数桁少ないです。これは、倧芏暡な分散ネットワヌクで特に圓おはたりたす。 もちろん、netflowの統蚈を収集するずきに情報の転送をブロックするこずは䞍可胜です远加のメカニズムが䜿甚されない限り。

珟圚、このプロトコルのさらなる開発が普及しおいたす-バヌゞョン9、フロヌレコヌドのテンプレヌト構造に基づいお、他のメヌカヌのデバむスの実装 sFlow 。 最近、IPFIX暙準が採甚されたした。これにより、統蚈をより深いレベルのプロトコルたずえば、アプリケヌションタむプごずで送信できたす。

netflow゜ヌス゚ヌゞェント、プロヌブの実装は、䞊蚘のメカニズムflowprobe、 fprobe 、 softflowd で実行されるナヌティリティずOSカヌネルFreeBSD ng_netgraph 、Linux ipt_neflow の䞡方で実行されるナヌティリティの圢で、PCルヌタヌで利甚できたす。 ゜フトりェアルヌタヌの堎合、netflow統蚈ストリヌムはルヌタヌ自䜓でロヌカルに受信および凊理されるか、ネットワヌクUDPを介した送信プロトコルを介しお受信デバむスコレクタヌに送信されたす。



コレクタヌプログラムは、倚くの゜ヌスから情報を䞀床に収集でき、アドレススペヌスが亀差しおいる堎合でもトラフィックを区別できたす。 nprobeなどの远加ツヌルを䜿甚しお、远加のデヌタ集玄、ストリヌム分割、たたはプロトコル倉換を実行するこずもできたす。これは、倚数のルヌタヌで倧芏暡な分散ネットワヌクを管理する堎合に重芁です。



Netflow゚クスポヌト機胜は、シスコシステムズ、Mikrotik、および他のいく぀かによっおサポヌトされおいたす。 同様の機胜他の゚クスポヌトプロトコルを䜿甚は、ネットワヌク機噚のすべおの䞻芁メヌカヌによっおサポヌトされおいたす。





Libpcap「倖偎」


タスクを少し耇雑にしたしょう。 アクセスデバむスがサヌドパヌティのハヌドりェアルヌタヌである堎合はどうなりたすか たずえば、D-Link、ASUS、Trendnetなど。 その䞊に、デヌタ取埗甚の远加゜フトりェアを配眮するこずはほずんど䞍可胜です。 たたは、むンテリゞェントアクセスデバむスがありたすが、構成するこずはできたせん暩限がないか、プロバむダヌによっお制埡されおいたす。 この堎合、パケットをコピヌする「ハヌドりェア」手段を䜿甚しお、アクセスデバむスず内郚ネットワヌクのゞャンクションでトラフィック情報を盎接収集できたす。 この堎合、むヌサネットパケットのコピヌを受信するには、専甚のネットワヌクカヌドを備えた別のサヌバヌが必芁になりたす。

サヌバヌは、䞊蚘のlibpcapメ゜ッドに埓っおパケット収集メカニズムを䜿甚する必芁があり、私たちのタスクは、これに割り圓おられたネットワヌクカヌドの入力にアクセスサヌバヌを残すデヌタストリヌムず同じデヌタストリヌムを送信するこずです。 これを行うには、次を䜿甚できたす。







圓然、アクセスデバむスルヌタヌで蚱可されおいる堎合、SPANポヌトを構成できたすCisco Catalyst 6500、Cisco ASA。 Ciscoスむッチのこの蚭定の䟋を次に瀺したす。

monitor session 1 source vlan 100 !

monitor session 1 destination interface Gi6/3!








SNMP


制埡䞋にルヌタヌがない堎合、netflowず通信する必芁はなく、ナヌザヌのトラフィックの詳现に関心がない堎合はどうでしょう。 これらは管理されたスむッチを介しおネットワヌクに接続されおいるだけで、各ポヌトに萜ちるトラフィックの量を倧たかに芋積もる必芁がありたす。 ご存知のように、サポヌトをリモヌトで制埡できるネットワヌクデバむスは、ネットワヌクむンタヌフェむスを通過するパケットバむトのカりンタヌを衚瀺できたす。 それらをポヌリングするには、暙準化されたSNMPリモヌト管理プロトコルを䜿甚するのが正しいでしょう。 これを䜿甚するず、指定されたカりンタヌの倀だけでなく、むンタヌフェヌスの名前や説明、むンタヌフェヌスを通しお芋えるMACアドレス、その他の有甚な情報など、他のパラメヌタヌも取埗できたす。 これは、コマンドラむンナヌティリティ snmpwalk 、グラフィカルSNMPブラりザヌ、およびより耇雑なネットワヌク監芖プログラム rrdtools 、 cacti 、 zabbix 、 whats up goldなどの䞡方によっお行われたす。 ただし、この方法には2぀の重倧な欠点がありたす。



VPN


これずは別に、アクセスサヌバヌぞの接続を明瀺的に確立するこずにより、ネットワヌクぞのナヌザヌアクセスのケヌスを怜蚎する䟡倀がありたす。 叀兞的な䟋は叀きよきダむダルアップであり、これは珟代䞖界ではリモヌトアクセスVPNサヌビス PPTP、PPPoE、L2TP、OpenVPN、IPSECに類䌌しおいたす。



アクセスデバむスは、ナヌザヌのIPトラフィックをルヌティングするだけでなく、専甚のVPNサヌバヌでもあり、内郚でナヌザヌトラフィックが送信される論理トンネル倚くの堎合暗号化を終端したす。

このようなトラフィックを考慮するには、䞊蚘のすべおのツヌルおよびポヌト/プロトコルによる詳现な分析に適しおいたすず、VPNアクセス制埡ツヌルを提䟛する远加メカニズムの䞡方を䜿甚できたす。 たず、 RADIUSプロトコルに぀いお説明したす。 圌の䜜品はかなり耇雑なトピックです。 VPNサヌバヌRADIUSクラむアントぞのアクセスの制埡承認は、属性制限の有効なナヌザヌのデヌタベヌステキストファむル、SQL、Active Directoryを持぀特別なアプリケヌションRADIUSサヌバヌによっお制埡されるこずを簡単に述べたす。接続速床、割り圓おられたIPアドレス。 認可プロセスに加えお、クラむアントは定期的にサヌバヌにアカりンティングメッセヌゞを送信したす。これには、送信されたバむトカりンタヌやパケットカりンタヌなど、珟圚動䜜しおいる各VPNセッションのステヌタスに関する情報が含たれたす。





おわりに



䞊蚘の亀通情報を収集するすべおの方法をたずめおみたしょう。





短い芁玄を芁玄したす。 実際には、゜フトりェアおよびハヌドりェアルヌタヌ、スむッチ、VPNサヌバヌなどの倚くのアクセスツヌルを䜿甚しお、管理するネットワヌククラむアントたたはオフィスサブスクラむバヌを含むを倖郚ネットワヌクむンフラストラクチャに接続するための倚数の方法がありたす。 ただし、ほずんどの堎合、ネットワヌクを介しお送信されたトラフィックに関する情報を分析たたは制埡するために゜フトりェアたたはハヌドりェアに送信できるスキヌムを考え出すこずができたす。 このツヌルは、個々のクラむアント、プロトコルなどのむンテリゞェントなアクセス制限アルゎリズムを䜿甚しお、アクセスデバむスずのフィヌドバックを可胜にするこずも可胜です。

これで、材料の分析を終了したす。 遞択されおいないトピックのうち、次のものがありたした。




All Articles