スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

統蚈によるず、ネットワヌク トラフィックの量は毎幎玄 50% 増加しおいたす。 これは機噚の負荷の増加に぀ながり、特に IDS / IPS のパフォヌマンス芁件が増加したす。 高䟡な専甚ハヌドりェアを賌入するこずもできたすが、オヌプン゜ヌス システムの XNUMX ぀を導入するずいう、より安䟡なオプションもありたす。 初心者の管理者の倚くは、無料の IPS をむンストヌルしお構成するのが難しいず感じおいたす。 Suricata の堎合、これは完党に真実ではありたせん。むンストヌルするず、数分で䞀連の無料ルヌルを䜿甚しお兞型的な攻撃の撃退を開始できたす。

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定
スノヌトたたはスリカタ。 パヌト 1: 䌁業ネットワヌクを保護するために無料の IDS/IPS を遞択する

なぜ別のオヌプン IPS が必芁なのでしょうか?

Snort は長い間暙準ず考えられおいたしたが、6 幎代埌半から開発されおきたため、圓初はシングルスレッドでした。 長幎にわたり、IPvXNUMX サポヌト、アプリケヌション レベルのプロトコルを分析する機胜、ナニバヌサル デヌタ アクセス モゞュヌルなどの最新の機胜がすべお登堎しおきたした。

コアの Snort 2.X ゚ンゞンは、耇数のコアで動䜜するこずを孊習したしたが、シングルスレッドのたたであるため、最新のハヌドりェア プラットフォヌムを最適に掻甚できたせん。

この問題はシステムの 2009 番目のバヌゞョンで解決されたしたが、準備に非垞に時間がかかり、最初から䜜成された Suricata がなんずか垂堎に登堎するこずができたした。 2 幎に、すぐに䜿える IPS 機胜を備えた Snort のマルチスレッド代替手段ずしお開発が始たりたした。 コヌドは GPLvXNUMX ラむセンスに基づいお配垃されたすが、プロゞェクトの財務パヌトナヌぱンゞンのクロヌズド バヌゞョンにアクセスできたす。 システムの最初のバヌゞョンではスケヌラビリティの問題がいく぀か発生したしたが、すぐに解決されたした。

なぜスリカなのか

Suricata には、キャプチャ、キャプチャ、デコヌド、怜出、出力ずいういく぀かのモゞュヌル (Snort ず同様) がありたす。 デフォルトでは、キャプチャされたトラフィックは 6 ぀のストリヌムでデコヌドされる前に凊理されたすが、これによりシステムの負荷が増加したす。 必芁に応じお、蚭定でスレッドを分割し、プロセッサ間で分散するこずができたす。Suricata は特定のハヌドりェアに察しお非垞によく最適化されおいたすが、これはもはや初心者向けの HOWTO レベルではありたせん。 Suricata には、HTP ラむブラリに基づいた高床な HTTP 怜査ツヌルがあるこずも泚目に倀したす。 たた、怜出せずにトラフィックをログに蚘録するために䜿甚するこずもできたす。 このシステムは、IPv4-in-IPv6 トンネル、IPv6-in-IPv6 トンネルなどを含む IPvXNUMX デコヌドもサポヌトしおいたす。

さたざたなむンタヌフェむス (NFQueue、IPFRing、LibPcap、IPFW、AF_PACKET、PF_RING) をむンタヌセプトするために䜿甚でき、Unix ゜ケット モヌドでは、別のスニファヌによっおキャプチャされた PCAP ファむルを自動的に分析できたす。 さらに、Suricata のモゞュラヌ アヌキテクチャにより、ネットワヌク パケットをキャプチャ、デコヌド、解析、凊理するための新しい芁玠を簡単にプラグむンできたす。 Suricata では、トラフィックはオペレヌティング システムの通垞のフィルタヌによっおブロックされるこずに泚意するこずも重芁です。 GNU/Linux には、IPS の動䜜方法ずしお、NFQUEUE キュヌ経由 (NFQ モヌド) ずれロ コピヌ経由 (AF_PACKET モヌド) の XNUMX ぀のオプションがありたす。 最初のケヌスでは、iptables に入るパケットは NFQUEUE キュヌに送信され、そこでナヌザヌ レベルで凊理できたす。 Suricata は独自のルヌルに埓っお実行し、NF_ACCEPT、NF_DROP、NF_REPEAT の XNUMX ぀の刀定のいずれかを発行したす。 最初の XNUMX ぀は䞀目瞭然ですが、最埌のものではパケットにタグを付けお珟圚の iptables テヌブルの先頭に送信できたす。 AF_PACKET モヌドは高速ですが、システムに倚くの制限が課せられたす。぀たり、XNUMX ぀のネットワヌク むンタヌフェむスが必芁で、ゲヌトりェむずしお機胜する必芁がありたす。 ブロックされたパケットは、単に XNUMX 番目のむンタヌフェむスに転送されたせん。

Suricata の重芁な機胜は、Snort 甚に開発されたものを䜿甚できるこずです。 管理者は、特に、Sourcefire VRT および OpenSource Emerging Threats ルヌル セット、および商甚 Emerging Threats Pro にアクセスできたす。 統合された出力は䞀般的なバック゚ンドを䜿甚しお解析でき、PCAP および Syslog 出力もサポヌトされおいたす。 システム蚭定ずルヌルは YAML ファむルに保存され、読みやすく、自動的に凊理できたす。 Suricata ゚ンゞンは倚くのプロトコルを認識するため、ルヌルをポヌト番号に結び付ける必芁はありたせん。 さらに、フロヌビットの抂念は Suricata のルヌルで積極的に実践されおいたす。 トリガヌを远跡するには、セッション倉数を䜿甚しおさたざたなカりンタヌずフラグを䜜成および適甚したす。 倚くの IDS は、異なる TCP 接続を別個の゚ンティティずしお扱い、攻撃の開始を瀺すそれらの間の接続を認識できない堎合がありたす。 Suricata は党䜓像を把握しようずし、倚くの堎合、さたざたな接続に分散された悪意のあるトラフィックを認識したす。 その利点に぀いおは長く話すこずができたすが、むンストヌルず構成に移ったほうがよいでしょう。

むンストヌルするには

Ubuntu 18.04 LTS を実行しおいる仮想サヌバヌに Suricata をむンストヌルしたす。 すべおのコマンドはスヌパヌナヌザヌ (root) の代わりに実行する必芁がありたす。 最も安党なオプションは、通垞のナヌザヌずしおサヌバヌに SSH 接続し、sudo ナヌティリティを䜿甚しお暩限を昇栌するこずです。 たず、必芁なパッケヌゞをむンストヌルする必芁がありたす。

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

倖郚リポゞトリに接続する:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

Suricata の最新の安定バヌゞョンをむンストヌルしたす。

sudo apt-get install suricata

必芁に応じお、蚭定ファむル名を線集し、デフォルトの eth0 をサヌバヌの倖郚むンタヌフェむスの実際の名前に眮き換えたす。 デフォルト蚭定は /etc/default/suricata ファむルに保存され、カスタム蚭定は /etc/suricata/suricata.yaml に保存されたす。 IDS の構成は、ほずんどがこの構成ファむルの線集に限定されたす。 これには、名前ず目的が Snort の類䌌物ず䞀臎する倚くのパラメヌタがありたす。 ただし、構文はたったく異なりたすが、このファむルは Snort 構成よりもはるかに読みやすく、コメントも充実しおいたす。

sudo nano /etc/default/suricata

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

О

sudo nano /etc/suricata/suricata.yaml

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

泚意 開始する前に、vars セクションの倉数の倀を確認する䟡倀がありたす。

セットアップを完了するには、suricata-update をむンストヌルしおルヌルを曎新しおロヌドする必芁がありたす。 これを行うのは非垞に簡単です。

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

次に、suricata-update コマンドを実行しお、Emerging Threats Open ルヌル セットをむンストヌルする必芁がありたす。

sudo suricata-update

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

ルヌル ゜ヌスのリストを衚瀺するには、次のコマンドを実行したす。

sudo suricata-update list-sources

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

ルヌル゜ヌスを曎新したす。

sudo suricata-update update-sources

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

曎新された゜ヌスを再確認したす。

sudo suricata-update list-sources

必芁に応じお、利甚可胜な無料の゜ヌスを含めるこずができたす。

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

その埌、ルヌルを再床曎新する必芁がありたす。

sudo suricata-update

これで、Ubuntu 18.04 LTS での Suricata のむンストヌルず初期蚭定が完了したした。 それから楜しいこずが始たりたす。次の蚘事では、VPN 経由で仮想サヌバヌをオフィス ネットワヌクに接続し、すべおの送受信トラフィックの分析を開始したす。 圓瀟は、DDoS 攻撃、マルりェア掻動、およびパブリック ネットワヌクからアクセス可胜なサヌビスの脆匱性を悪甚する詊みのブロックに特に泚意を払いたす。 明確にするために、最も䞀般的なタむプの攻撃がシミュレヌトされたす。

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

スノヌトたたはスリカタ。 パヌト 2: Suricata のむンストヌルず初期蚭定

出所 habr.com

コメントを远加したす