本日、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が起動しない場合は、書いてください。