再びスリカタのIDSまたはELKについて

こんにちは

本日、ELKおよびIDS Suricataの設定の経験を共有したいと思います。 インターネット上には多くのマニュアルがありますが、現在のバージョンでこれらの製品の束を「もたらす」ことができるマニュアルはありません。

既製のSELKSディストリビューション-www.stamus-networks.com/open-source/#selks、またはSecOnion-blog.securityonion.netに多数のsnort、snorby、およびbarnyard2もあります。

残りは猫の下でお願いします。



それで、何が必要ですか:

IDSでイベントを視覚的に表示し、ArcSight、OSSIM、QRadarなどではないシステム

まず、RHEL7またはCentOS7から何かを見つけます。 また、Ubuntu LTSも使用できます。

コンポーネント自体とELKおよびIDSも同様です。

Suricata-suricata-ids.org

ElasticSearch-www.elastic.co/products/elasticsearch

Logstash-www.elastic.co/products/logstash

Kibana-www.elastic.co/products/kibana

さて、奇跡を起こすために打撃...私は、考えて!

IDS



開始するには、必要なコンポーネント(java、json)をインストールします。

yum -y install java-1.8.0-openjdk-devel.x86_64 yum -y install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel
      
      





ids suricataをダウンロードしてインストールします。

 wget http://www.openinfosecfoundation.org/download/suricata-3.0.tar.gz tar -xvzf suricata-3.0.tar.gz cd suricata-3.0 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua
      
      





次へ

 make; sudo make install; sudo ldconfig
      
      





または、自動構成用の次のコマンド:make install-conf; インストールルールを作成する

make install-full-何かを微調整する必要がない場合は、このコマンドを使用することをお勧めします。 変数が自動的に作成され、フォルダとルールがそれに応じて/ rulesディレクトリにダウンロードされます

自動インストール中、ログを含む必要なディレクトリは次の場所にあります。

 @srv-ids ~]# cd /var/log/suricata/
      
      





ファイルは次のとおりです。eve.jsonfast.log http.log stats.log。 ただし、すべてのファイルが同じように役立つわけではありません。 jsonテールを持つものが必要です

次に、IDSを構成する必要があります。 jsonファイルに到達したアラートのみを停止します。 /etc/suricata/suricata.yamlに移動し、ログまたはアラートを出力するためのブロックを見つけます。 jsonで出力するには、次の設定が必要です。

 - eve-log: enabled: yes filetype: regular #regular|syslog|unix_dgram|unix_stream|redis filename: eve.json
      
      





構成の残りはあなたの裁量です。 幸いなことに、何かを熟考する必要があります。

エルク



次のelsasticsearch:

javaの機能を確認します。

 java –version echo $JAVA_HOME
      
      





すべて問題なければ、続行します(それ以外の場合は、ノートの冒頭で)。

elasticsearchをダウンロードしてインストールします。

 wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.2.1/elasticsearch-2.2.1.rpm sudo rpm -Uvh ./elasticsearch-2.2.1.rpm sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service sudo systemctl status elasticsearch.service
      
      





ステータス–OK? Logstashに行きましょう

 wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-2.2.2-1.noarch.rpm sudo rpm -Uvh ./logstash-2.2.2-1.noarch.rpm
      
      





Tverを構成する必要があります。/etc/logstash/conf.d/に移動します

これは、現在のバージョンのソフトウェアコンポーネントで動作するlogstashの構成です。

 input { file { path => ["/var/log/suricata/eve.json"] #sincedb_path => ["/var/lib/logstash/"] codec => json type => "SuricataIDPS-logs" start_position => "beginning" } } filter { if [type] == "SuricataIDPS-logs" { date { match => [ "timestamp", "ISO8601" ] } ruby { code => "if event['event_type'] == 'fileinfo'; event['fileinfo']['type']=event['fileinfo']['magic'].to_s.split(',')[0]; end;" } } if [src_ip] { geoip { source => "src_ip" target => "geoip" #database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat" add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ] add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ] } mutate { convert => [ "[geoip][coordinates]", "float" ] } } } output { elasticsearch { hosts => ["localhost:9200"] } #stdout { codec => rubydebug } }
      
      





保存し、構成を確認します。

 @srv-ids ~]# service logstash configtest Configuration OK
      
      





最後に、IDSシステムのWebフェイスであるKibana4をインストールします。

 wget https://download.elastic.co/kibana/kibana/kibana-4.4.2-linux-x64.tar.gz
      
      





たとえば、/ opt / kibana4 /または/ var / www / html /などのフォルダーに解凍します。 ディレクトリ/ opt / kibana4 / bin /で、Webインターフェイスを起動します。 ここで説明するようにサービスを作成できます。discuss.elastic.co/ t / run-kibana-as-service-on-centos / 23971/2 しなかった。

kibanaの起動時に、エラー「kibana is indexing」が表示されることがあります。これは、コンソールまたは「ステータス」ダッシュボードのWebページで確認できます。 エラーをなくすために、次のコマンドを成功チェック付きで作成します。

 curl -XDELETE http://localhost:9200/.kibana curl -XDELETE http://localhost:9200/*
      
      





ここで、インデックスが必要です。 github.com/StamusNetworks/KTSにアクセスしてください 。 ここでは、すでに準備されたインデックスとダッシュボードがあります。

 git clone https://github.com/StamusNetworks/KTS.git patch -p1 -d /opt/kibana4/ < /opt/kibana4/KTS/patches/kibana-integer.patch patch -p1 -d /opt/kibana4/ < /opt/kibana4/KTS/patches/timelion-integer.patch ./load.sh
      
      





行く、行く、行く!


IDSエンジンを開始するには、次を入力します。

 @srv-ids ~]# /usr/bin/suricata -c /etc/suricata//suricata.yaml -i eth0
      
      





インターフェイスの名前とその動作モードに注意してください。 受動分析の場合、インターフェイスを無差別モードに転送する必要があり、SPANセッションも取得する方が適切です。

 @srv-ids ~]# ifconfig eth0 promisc
      
      





IDSを開始すると、ログファイルのサイズが大幅に増加するはずです。

起動時に重大なエラーが発生しなかった場合は、ポート5601に進みます。 logstash- *インデックスを選択し、ダッシュボードに移動して、自分用の表示インターフェイスを作成します。 このような何かが出てくるかもしれません:



またはこれ(画面は私のものではありません):



マップを見るには、logstash configで次の行のコメントを解除する必要があります。

ログのローテーションを忘れないでください。

/etc/logrotate.d/で、次の内容のsuricataファイルを作成します。

 /var/log/suricata/*.log /var/log/suricata/*.json { rotate 3 missingok nocompress create sharedscripts postrotate /bin/kill -HUP $(cat /var/run/suricata.pid) endscript }
      
      





あなたのコメントを歓迎します。

試してみて、ELKまたはsuricataが起動しない場合は、書いてください。



All Articles