Linux に Snort IDS をインストールしてセットアップする方法

Linux に Snort IDS をインストールしてセットアップする方法

侵入検知システム (IDS) は、サイバーセキュリティの分野で不正アクセスや潜在的な危険からコンピュータ ネットワークを保護するために不可欠です。Snort IDS は、ネットワーク侵入を検出および防止するための堅牢で広く使用されているオープンソース ソリューションとして、利用可能な IDS の数多くの選択肢の中で際立っています。このチュートリアルでは、Linux に Snort IDS をインストールして設定する方法を示し、ネットワークのセキュリティを向上させるために必要な知識を提供します。

Snort IDS の仕組み

Snort IDS は、ネットワーク トラフィックを監視し、不審なアクティビティがないか分析し、潜在的な脅威に対する警告を生成するネットワーク侵入検出システムです。シグネチャ ベースの侵入検出システムとして、Snort は、一般にルールとして知られる既知の攻撃パターンのデータベースを使用してネットワーク トラフィックを分析し、悪意のあるアクティビティを検出します。Snort IDS は、ポート スキャン、DoS 攻撃、SQL インジェクションなどの幅広いネットワーク攻撃を検出して防止し、リアルタイム トラフィック分析機能で広く知られています。

基本構成

Snort IDS のインストールに進む前に、いくつかの基本的な構成が必要です。これには主に、システムの更新とアップグレード、および Snort が効果的に機能するために必要な依存関係のインストールが含まれます。

  • Linux システムを更新してアップグレードします。Ubuntu およびその他の Debian ベースのシステムの場合:

sudo apt update && apt upgrade -y

  • Snort IDS を実行するために必要な依存関係をインストールします。

sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev

  • Snort が適切に機能するには、データ収集ライブラリ (LibDAQ) を手動でインストールする必要があります。LibDAQ をインストールするには、公式 Web サイトからファイルをダウンロードし、アーカイブを抽出して対応するディレクトリに移動し、ビルドしてコンパイルします。

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf libdaq-3.0.11
cd libdaq-3.0.11
./bootstrap
./configure
makesudo make install

  • 最後の依存関係は gperftools です。まず、 GitHub リポジトリからソース ファイルを取得します。ファイルを抽出し、選択したディレクトリに移動し、構成スクリプトを実行してセットアップ プロセスを開始します。続いて、makemake installコマンドを実行してパッケージをインストールします。

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gperftools-2.10 && cd gperftools-2.10
./configure
make
sudo make install

次に、Snort をインストールする必要があります。

Snort IDS のインストール

インストール
  • Snort IDS は、Snort の公式 Web サイトwgetからダウンロードするか、ターミナルで次のコマンドを使用してダウンロードできます。

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

  • ファイルの抽出を開始します。

tar -xzvf snort3-3.1.58.0

  • 抽出したディレクトリに移動して構成スクリプトを実行し、コマンドでファイルを準備しmakemake installコマンドを使用してインストールします。

cd snort3-3.1.58.0
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloccd build
makesudo make install

  • Snort をシステム上で実行する準備ができています。Snort IDS を構成する前に、共有ライブラリを更新します。そうしないと、Snort を起動しようとするとエラーが発生する可能性があります。

sudo ldconfig

このプロセスにより、システムの共有ライブラリ キャッシュが、最近インストールされたライブラリおよびバイナリと同期されます。

Snort を検証するために、コマンドはsnort -Vターミナル ウィンドウに Snort IDS のバージョンを表示します。

スノート-V

参考: IDS の使用に加えて、サーバー内のハッカーを捕捉するために SSH ハニーポットをセットアップすることもできます。

Snort IDS を使用したルールの構成とセットアップ

Snort IDS と通信できるように Linux システムのネットワーク環境を構成するには、システムのネットワーク インターフェイス カードの名前を確認します。

nmcli device status

次のコマンドを使用してネットワーク インターフェイス カードをセットアップします。

sudo ip link set dev interface_name promisc on

コマンドの「interface_name」は、システムのイーサネット カードの名前であることに注意してください。

大きなネットワーク パケットが切り捨てられるのを回避するには、ethtool を使用して Generic Receive Offload (GRO) と Large Receive Offload (LRO) を無効にします。

sudo ethtool -K interface_name gro off lro off

以下のコマンドを実行して、基本構成でパフォーマンスをテストします。

snort -c /usr/local/etc/snort/snort.lua

Snort がシステムにインストールされ、構成されたことを示す正常な出力が表示されるはずです。これで、その機能と構成を試して、ネットワークを保護するための最適なルールを決定できるようになりました。

テスト

Linux システム上で実行するための Snort IDS ルールの実装

Snort は、特定のディレクトリからルール セットと構成を読み取ります。

sudo mkdir /usr/local/etc/rules
sudo mkdir /usr/local/etc/so_rules/sudo mkdir /usr/local/etc/lists/sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
sudo mkdir /var/log/snort

必要なディレクトリを作成した後、Snort Web サイトから必要なルールをダウンロードします。

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

ファイルを抽出し、ルールを「/usr/local/etc/rules/」ディレクトリにコピーします。

tar -xvzf snort3-community-rules
cd snort3-community-rules
cp * /usr/local/etc/rules/

ルール設定を使用して Snort を実行するには、次のコマンドを入力します。

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i wl01 -s 65535 -k none

Snort ルールのセットアップ

起動時に Snort IDS を設定する

Snort が起動時に実行を開始し、バックグラウンド デーモンとして動作することを確認することが重要です。Snort を自動開始システム サービスとして構成すると、ソフトウェアはオンライン状態であれば常に動作し、システムを保護します。

  • 以下のコマンドを実行して、新しいsystemdサービスファイルを作成します。

touch /lib/systemd/system/snort.service

  • nanoターミナル ウィンドウでファイルを開き、次の情報を追加します。

[Unit]Description=Snort Daemon
After=syslog.target network.target
[Service]Type=simple
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var/log/snort -D -L pcap -i ens33
[Install]WantedBy=multi-user.target

Snort デーモンの構成
  • ファイルを保存して終了します。スクリプトを有効にして起動します。

sudo systemctl enable snort.service
sudo snort start

アクティブ Snort サービス

Snort IDS は Linux システムを起動して保護する準備ができています。Linux 上のこのようなオープンソース セキュリティ ツールをさらに見つけるには、リンクをクリックしてください。

Snort によるネットワーク トラフィックの監視

私たちは Snort とその動作方法について学びました。次に、Snort を使用してネットワーク トラフィックを監視し、考えられるセキュリティ リスクを見つける方法の基本をいくつか確認してみましょう。

  • Snort の使用を開始してネットワーク トラフィックを監視するには、まずネットワーク インターフェイスを選択します。以下のコマンドに従って、システム内に存在するネットワーク インターフェイスの名前を確認します。

ifconfig -a

  • 以下のコマンドでSnortを起動します。ターミナル ウィンドウにコンソールが開き、ネットワーク インターフェイスをアクティブに監視し、潜在的な脅威が見つかった場合は更新を続けます。

sudo snort -i [Network_Interface] -c /etc/snort/snort.conf -A console

このコマンドでは、ネットワーク インターフェイスは監視するために選択したイーサネット ポートであり、「etc/snort/snort.conf」は Snort 構成ファイルの場所であり、Snort IDS によって生成されたアラートを表示するコンソールです-A

これは、Snort を使用してセキュリティの脅威と脆弱な攻撃を監視する方法です。定期的にルールを更新し続けてください。ルールが更新されている Snort IDS は、セキュリティ上の脅威を検出するだけでなく、その脅威を排除するのにも役立ちます。

よくある質問

Snort ルールを取得して更新するにはどうすればよいですか?

Snort ルールは、特定のネットワーク侵入を検出するための基準を定義するため、IDS の効率的な運用にとって重要です。Snort ルールは、Snort の公式 Web サイトから入手できます。ルール アーカイブには 3 つの異なるタイプがあります。1 つは無料でアクセスできるコミュニティです。登録済み。Snort に登録した後にアクセスできるようになります。サブスクリプションについては、公式 Web サイトに詳細が記載されているように、有料の Snort プランにサブスクライブする必要があります。

広大なネットワークに Snort を実装することは可能ですか?

はい、Security Onion や Snorby などの集中管理システムを利用して、複数のシステムにわたるネットワーク セキュリティを向上させるために分散できます。

Snort IDS は小規模企業やホーム ネットワークに適していますか?

Snort IDS は、中小企業やホーム ネットワークに利益をもたらす効果的なセキュリティ ソリューションです。システムのアクセシビリティと費用対効果は、そのオープンソースの性質によるものです。Snort 侵入検知システム (IDS) は、単一のシステムまたは複数のシステムに実装できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です