DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システム(IDS)です。それほど公式ではありませんが、疑わしいアクティビティないかネットワークをリアルタイムで監視できます。現在、SnortにはFedora、CentOS、FreeBSD、およびWindowsベースのシステム用のパッケージがあります。正確なインストール方法はOSによって異なります。このチュートリアルでは、Snortのソースファイルから直接インストールします。このガイドはDebian用に書かれました。

更新、アップグレード、再起動

実際にSnortソースを入手する前に、システムが最新であることを確認する必要があります。これを行うには、以下のコマンドを発行します。

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

プリインストール構成

システムが再起動したら、SBPPをインストールできるようにするために、いくつかのパッケージをインストールする必要があります。必要なパッケージの数がわかったので、基本的なコマンドは次のとおりです。

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

すべてのパッケージをインストールしたら、ソースファイル用の一時ディレクトリを作成する必要があります。これは、どこにでも配置できます。使用し/usr/src/snort_srcます。このフォルダーを作成するには、rootユーザーとしてログインするか、sudo権限を持っている必要がありますroot

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

データ集録ライブラリ(DAQ)のインストール

Snortのソースを入手する前に、DAQをインストールする必要があります。インストールはかなり簡単です。

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

tarballからファイルを抽出します。

tar xvfz daq-2.0.6.tar.gz

DAQディレクトリに移動します。

cd daq-2.0.6

DAQを構成してインストールします。

./configure; make; sudo make install

その最後の行が./configure最初に実行されます。その後、実行されmakeます。最後に、それは実行されmake installます。ここでは、入力を少し節約するために、短い構文を使用しています。

Snortのインストール

私たちは/usr/src/snort_src再びディレクトリにいることを確認したいので、必ず次のようにそのディレクトリに変更してください:

cd /usr/src/snort_src

ソースのディレクトリに移動したので、ソースのtar.gzファイルをダウンロードします。この記事の執筆時点では、Snortの最新バージョンはです2.9.8.0

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

実際にsnortをインストールするコマンドは、DAQで使用されるコマンドとよく似ていますが、オプションが異なります。

Snortソースファイルを抽出します。

tar xvfz snort-2.9.8.0.tar.gz

ソースディレクトリに移動します。

cd snort-2.9.8.0

ソースを構成してインストールします。

 ./configure --enable-sourcefire; make; sudo make install

Snortのポストインストール

Snortをインストールしたら、共有ライブラリが最新であることを確認する必要があります。これを行うには、次のコマンドを使用します。

sudo ldconfig

その後、Snortのインストールをテストします。

snort --version

このコマンドが機能しない場合は、シンボリックリンクを作成する必要があります。これを行うには、次のように入力します。

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

結果の出力は次のようになります。

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Snortの根を抜く

snortがインストールされたrootので、として実行したくないので、snortユーザーとグループを作成する必要があります。新しいユーザーとグループを作成するには、次の2つのコマンドを使用できます。

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

ソースを使用してプログラムをインストールしたので、構成ファイルとsnortのルールを作成する必要があります。

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

ディレクトリとルールを作成したら、ログディレクトリを作成する必要があります。

sudo mkdir /var/log/snort

最後に、ルールを追加する前に、動的ルールを保存する場所が必要です。

sudo mkdir /usr/local/lib/snort_dynamicrules

以前のファイルがすべて作成されたら、それらに適切な権限を設定します。

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

設定ファイルのセットアップ

大量の時間を節約し、すべてをコピーして貼り付ける必要がないように、すべてのファイルを構成ディレクトリにコピーします。

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

設定ファイルが作成されたので、次の2つのいずれかを実行できます。

  • Barnyard2を有効にできます
  • または、構成ファイルをそのままにして、目的のルールを選択的に有効にすることもできます。

いずれにせよ、あなたはまだいくつかのことを変えたいと思うでしょう。読み続けます。

構成

では/etc/snort/snort.conf、ファイルは、変数を変更する必要がありますHOME_NET。内部ネットワークのIPブロックに設定する必要があります。これにより、サーバーにログインしようとする独自のネットワークの試行がログに記録されなくなります。これは10.0.0.0/24または192.168.0.0/16です。45行目で/etc/snort/snort.conf、変数HOME_NETをネットワークのIPブロックの値に変更します。

私のネットワークでは、次のようになります。

ipvar HOME_NET 192.168.0.0/16

次に、EXTERNAL_NET変数を次のように設定する必要があります。

any

それはEXERNAL_NETあなたHOME_NETがそうでないものに変わるだけです。

ルールを設定する

システムの大部分が設定されたので、この小さな貯金箱のルールを構成する必要があります。あなたの中のライン104の周りのどこか/etc/snort/snort.confのファイル、あなたは「VAR」宣言と変数を参照する必要がありRULE_PATHSO_RULE_PATHPREPROC_RULE_PATHWHITE_LIST_PATH、とBLACK_LIST_PATH。それらの値は、で使用したパスに設定する必要がありますUn-rooting Snort

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

それらの値が設定されたら、約548行目から始まる現在のルールを削除またはコメント化します。

次に、設定が正しいことを確認します。で確認できsnortます。

 # snort -T -c /etc/snort/snort.conf

次のような出力が表示されます(簡潔にするために省略されています)。

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

すべてがエラーなしで構成されたので、Snortのテストを開始する準備ができました。

Snortのテスト

Snortをテストする最も簡単な方法は、を有効にすることlocal.rulesです。これは、カスタムルールを含むファイルです。

snort.confファイルの546行目付近に気付いた場合、次の行が存在します。

include $RULE_PATH/local.rules

持っていない場合は、546前後に追加してくださいlocal.rules。このファイルをテストに使用できます。基本的なテストとして、pingリクエスト(ICMPリクエスト)をSnortに追跡させています。これを行うには、次の行をlocal.rulesファイルに追加します。

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

それをファイルに入れたら、それを保存し、読み続けます。

テストを実行する

次のコマンドは、Snortを開始し、ユーザーがsnortとして、グループsnortの下でconfigを使用して「高速モード」アラートを出力/etc/snort/snort.confし、ネットワークインターフェースでリッスンしますeno1eno1システムがリッスンしているネットワークインターフェイスに変更する必要があります。

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

実行したら、そのコンピュータにpingを実行します。次のような出力が表示されます。

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Ctrl + Cを押してプログラムを終了できます。Snortがすべてセットアップされました。これで、必要なルールを使用できます。

最後に、「コミュニティ」タブの公式サイトからダウンロードできるコミュニティによって作成されたいくつかのパブリックルールがあることに注意したいと思います。「Snort」を探し、そのすぐ下にコミュニティリンクがあります。それをダウンロードして抽出し、community.rulesファイルを探します。



DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

はじめにWeb分散オーサリングおよびバージョン管理(WebDAV)は、リモートでファイルを作成および変更するためのフレームワークを提供するHTTP拡張です。

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

Debian 9にNeos CMSをインストールする方法

Debian 9にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

Debian JessieでCactiをセットアップする

Debian JessieでCactiをセットアップする

はじめにCactiは、RRDデータに完全に基づいたオープンソースの監視およびグラフ作成ツールです。サボテンを通じて、ほぼすべてのタイプのデビックを監視できます

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

Go(Golangとも呼ばれます)は、静的に型付けされ、コンパイルされた、Cのようなプログラミング言語で、Googleによって開発されました。シンプルさと多用途性により、b

Debian 8のFlash 5にPBXをインストールする

Debian 8のFlash 5にPBXをインストールする

PBX In A Flash 5(PIAF5)は、Vultr VPSを本格的なPBXに変えるDebian 8ベースのオペレーティングシステムです。次のような特徴があります。

Ubuntu 16.04およびDebian 9にTermRecordをインストールする方法

Ubuntu 16.04およびDebian 9にTermRecordをインストールする方法

別のシステムを使用していますか?TermRecordはPythonで記述されたシンプルなオープンソースツールで、ターミナルセッションを簡単に共有できる自己完結型に保存できます。

Debian 9にMatomo Analyticsをインストールする方法

Debian 9にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re

X-Cart 5をDebian 10にインストールする方法

X-Cart 5をDebian 10にインストールする方法

別のシステムを使用していますか?X-Cartは、数多くの機能と統合を備えた非常に柔軟なオープンソースのeコマースプラットフォームです。X-Cartのソースコードはホストです

MuninでDebianサーバーのステータスを監視する

MuninでDebianサーバーのステータスを監視する

Muninは、マシンのプロセスとリソースを調査する監視ツールであり、Webインターフェースを介して情報をグラフで表示します。フォローインを使用する

サーバーにIPアドレス範囲を追加する(CentOS / Ubuntu / Debian)

サーバーにIPアドレス範囲を追加する(CentOS / Ubuntu / Debian)

はじめにこのチュートリアルでは、CentOS、Debian、またはUbuntuを実行しているLinuxサーバーにIP範囲/サブネット全体を追加するプロセスについて説明します。プロセス

Debian 9のディアスポラでソーシャルネットワークを構築する

Debian 9のディアスポラでソーシャルネットワークを構築する

別のシステムを使用していますか?Diasporaはプライバシーを意識したオープンソースのソーシャルネットワークです。このチュートリアルでは、ディアスポラpoを設定する方法を学びます

Selfoss RSSリーダーをDebian 9 LAMP VPSにインストールする方法

Selfoss RSSリーダーをDebian 9 LAMP VPSにインストールする方法

別のシステムを使用していますか?Selfoss RSSリーダーは、無料でオープンソースのセルフホスト型のWebベースの多目的ライブストリーム、マッシュアップ、ニュースフィード(RSS / Atom)です。

UbuntuまたはDebianでApt-GetをIPv4またはIPv6に強制する

UbuntuまたはDebianでApt-GetをIPv4またはIPv6に強制する

ここVultrでは、デプロイ可能なすべてのVPSでIPv6を有効にするオプションがあります。しかし、これにより、一部のプログラムとコマンドはどちらか一方を優先する場合があります

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、