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 リポジトリからソース ファイルを取得します。ファイルを抽出し、選択したディレクトリに移動し、構成スクリプトを実行してセットアップ プロセスを開始します。続いて、
make
とmake 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
- 抽出したディレクトリに移動して構成スクリプトを実行し、コマンドでファイルを準備し
make
、make 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 のバージョンを表示します。
参考: 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 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
- ファイルを保存して終了します。スクリプトを有効にして起動します。
sudo systemctl enable snort.service
sudo snort start
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) は、単一のシステムまたは複数のシステムに実装できます。
コメントを残す