今日のエンタープライズ環境では、セキュリティはすべてのネットワークにとって大きな問題です。インターネットを介したネットワークインフラストラクチャと通信を保護するために、多くの方法が開発されています。その中でも、Snortは、主要なオープンソースネットワーク侵入検知および防止システムであり、貴重なセキュリティフレームワークです。これは、ネットワークトラフィックをリアルタイムで監視し、各パケットを詳細に精査して、危険なペイロードや疑わしい異常を見つけるパケットスニファです。
Snort侵入検知メカニズムを使用すると、既知のタイプの攻撃から情報を収集して使用し、ネットワークまたは特定のホストを攻撃しようとしている人がいるかどうかを確認できます。したがって、この方法で収集された情報は、法的な目的にも役立つ可能性のあるハッカーや侵入者を防ぐためにネットワークを強化するために十分に使用できます。
このチュートリアルでは、CentOS7.0オペレーティングシステムおよびその他のコンポーネントを使用したSNORT2.9.7.xおよびDAQ-2.0.xの構成、コンパイル、およびインストールについて説明します。
OSを準備する
次のオペレーティングシステムとそのコンポーネントでSNORTIDSをセットアップします
- 仮想化環境:VMware Workstation
- ホストオペレーティングシステム:Microsoft Windows 7
- ゲストオペレーティングシステム:CentOS 7.0(64ビットバージョン)
- システムリソース:CPU 2.0 GHz RAM 4 GB
CentOS 7仮想マシンでは、静的IP、ゲートウェイ、およびDNSエントリを使用してネットワーク設定を構成し、トラフィックを監視するためのポートとして使用されるイーサネットインターフェイスを介してインターネットに接続されていることを確認しました。
前提条件のインストール
SNORTのセットアップには以下のパッケージが必須ですので、SNORTまたはDAQのコンパイルを開始する前に必ずこれらをインストールしてください。これらのライブラリのほとんどすべては、yumコマンドを使用してインストールできます。
[root@centos-007 ~]# rpm -qa | grep gcc
libgcc-4.8.2-16.2.el7_0.x86_64
gcc-4.8.2-16.2.el7_0.x86_64
[root@centos-007 ~]# rpm -qa | grep flex
flex-2.5.37-3.el7.x86_64
[root@centos-007 ~]# rpm -qa | grep bison
bison-2.7-4.el7.x86_64
[root@centos-007 ~]# rpm -qa | grep zlib
zlib-1.2.7-13.el7.x86_64
zlib-devel-1.2.7-13.el7.x86_64
[root@centos-007 ~]# rpm -qa | grep libpcap
libpcap-1.5.3-4.el7_1.2.x86_64
libpcap-devel-1.5.3-4.el7_1.2.x86_64
[root@centos-007 ~]# rpm -qa | grep tcpdump
tcpdump-4.5.1-2.el7.x86_64
[root@centos-007 ~]# rpm -qa | grep libdnet-devel
libdnet-devel-1.12-13.1.el7.x86_64
データ取得のインストール(DAQ 2.0.5)
SNORTおよびDAQの最新のインストールパッケージは、公式Webサイトから入手でき、CentOSで利用可能なRPMパッケージのダウンロードリンクをコピーできます。
[root@centos-007 ~]# yum install https://snort.org/downloads/snort/daq-2.0.5-1.centos7.x86_64.rpm
SNORT2.9.7のインストール
同様に、yumリポジトリで以下のコマンドを使用してSnortをインストールします。
[root@centos-007 ~]# yum install https://snort.org/downloads/snort/snort-2.9.7.3-1.centos7.x86_64.rpm
SNORTルールのインストール:
Snortルールをインストールするには、ルールのセットをダウンロードする登録ユーザーであるか、サブスクリプションを支払っている必要があります。 snortが最新の脅威を確実に検出できるようにするには、いくつかの更新snortルールをインストールする必要があります。
Snortへの登録
世界で最も強力な検出ソフトウェアにサインインして、最新の脅威に注意するために最も重要なルールをダウンロードしましょう。
Snortルールのダウンロード
Snortにサインインすると、Snortにインストールして機能させるために必要なルールをダウンロードできるようになります。
プルドポークを使用したSnortルールの更新
Snortルール管理用のプルドポークは、Snortルールを飛ばすように設計されています!すべてのルールを処理することを目的としています。そのコードは、Snortルールを処理するために必要なルールをプルします。
PulledPorkのダウンロード
プルドポークパッケージはGitハブで利用できます。次のコマンドを使用すると、gitcloneコマンドを使用してsnortサーバーでパッケージを取得できます。
[root@centos-007 ~]# git clone https://github.com/shirkdog/pulledpork.git
プルドポークのセットアップ
[root@centos-007 pulledpork]# cp pulledpork.pl /usr/local/bin
[root@centos-007 pulledpork]# chmod +x /usr/local/bin/pulledpork.pl
[root@centos-007 pulledpork]# cp etc/*.conf /etc/snort
次に、PulledPorkを構成し、Oinkcodeを構成ファイルに配置します。登録ユーザーから取得した後、構成ファイルに配置します。
PulledPorkが必要とするファイルの作成。
[root@centos-007 ~]# mkdir /etc/snort/rules/iplists
[root@centos-007 ~]# touch /etc/snort/rules/iplists/default.blacklist
PullPorkのテスト
プルポークが機能していることを確認するためのテストを開始しましょう。
[root@centos-007 ~]# /usr/local/bin/pulledpork.pl -V
PulledPork v0.7.0 - Swine Flu !
PulledPorkが成功したテスト結果で動作したら、いくつかの構成パラメーターを更新して、Snortで構成することに進みます。
Snortの構成
動的ルールを有効にしたいので、この目的のために、/ etc / snort/snort.confの2行目にコメントが付いていないことを確認します。
# path to dynamic preprocessor libraries
dynamicpreprocessor directory /usr/lib64/snort-2.9.7.3_dynamicpreprocessor/
# path to base preprocessor engine
dynamicengine /usr/lib64/snort-2.9.7.3_dynamicengine/libsf_engine.so
# path to dynamic rules libraries
dynamicdetection directory /usr/local/lib/snort_dynamicrules
次に、次の3つのコマンドを実行して、次のようにインクルードルールを追加します。
echo "include \$RULE_PATH/snort.rules" >> /etc/snort/snort.conf
echo "include \$RULE_PATH/local.rules" >> /etc/snort/snort.conf
echo "include \$RULE_PATH/so_rules.rules" >> /etc/snort/snort.conf
プルドポークの開始
次のコマンドを実行して、pullporkを実行し、ルールをbelwoとして更新します。
[root@centos-007 ~]# pulledpork.pl -c /etc/snort/pulledpork/pulledpork.conf
...
Rule Stats...
New:-------686
Deleted:---4
Enabled Rules:----365
Dropped Rules:----0
Disabled Rules:---45
Total Rules:------410
No IP Blacklist Changes
Done
Please review /var/log/sid_changes.log for additional details
Fly Piggy Fly!
ルールを更新した後は、常にsnortサービスを再起動する必要があります。したがって、再起動中にエラーが発生していないことを確認してください。エラーが発生した場合は、/ var / log / syslogファイルを確認して、問題の修正を試みてください。
[root@centos-007 ~]# service snort restart
Updating Snort Rules using Pulled Pork
結論
おめでとうございます。PulledPorkを再起動してsnortサービスを再起動した後、上記のような出力が得られた場合は、Snortを使用してPulledPorkを正常に構成できています。