Netflow之a(chǎn)rgus的使用,配置文件的設(shè)置,logstash的輸出

來(lái)源:https://www.qosient.com/argus/

http://www.ha97.com/2678.html

一、背景介紹

Argus-3.0.8.2是穩(wěn)定的、當(dāng)前版本的Argus。我們計(jì)劃在年底發(fā)布Argus-3.0.8.4,以提供額外的修復(fù)。argus -3.0.8.2修復(fù)了一系列報(bào)告的錯(cuò)誤,應(yīng)該被認(rèn)為是argus的一個(gè)主要bug修復(fù)版本。附帶的argus-client -3.0.8.2代表了argus客戶(hù)端程序的一個(gè)小錯(cuò)誤修復(fù)版本。當(dāng)然,仍有一些問(wèn)題需要解決,一如既往。請(qǐng)考慮為您的生產(chǎn)環(huán)境獲取這個(gè)版本。argus的新版本已經(jīng)進(jìn)行了多次測(cè)試,并在幾個(gè)站點(diǎn)上進(jìn)行了幾個(gè)月的生產(chǎn)。主要的變化是可移植性修復(fù)(OpenWRT, Solaris, Windows),一個(gè)國(guó)家實(shí)驗(yàn)室報(bào)告的bug,更好的Debian包支持和一些額外的封裝,包括GRE ERSPAN II和Juniper包捕獲。

目前,穩(wěn)定的源代碼集可以從這些鏈接:

argus-3.0.8.2:http://qosient.com/argus/src/argus-3.0.8.2.tar.gz

argus-clients-3.0.8.2:http://qosient.com/argus/src/argus-clients-3.0.8.2.tar.gz

歡迎來(lái)到Argus,網(wǎng)絡(luò)審計(jì)記錄生成和利用系統(tǒng)。Argus項(xiàng)目的重點(diǎn)是開(kāi)發(fā)從網(wǎng)絡(luò)活動(dòng)審計(jì)中獲得的大規(guī)模網(wǎng)絡(luò)環(huán)境感知的所有方面。Argus本身是下一代網(wǎng)絡(luò)流技術(shù),處理網(wǎng)絡(luò)流數(shù)據(jù)的數(shù)據(jù)包,無(wú)論是在線(xiàn)路上還是在捕獲中。數(shù)據(jù)、模型、格式和屬性被設(shè)計(jì)為支持網(wǎng)絡(luò)操作、性能和安全管理。如果您需要知道您的網(wǎng)絡(luò)中正在發(fā)生什么,現(xiàn)在或過(guò)去,您會(huì)發(fā)現(xiàn)Argus是一個(gè)有用的工具。

Argus由高級(jí)綜合網(wǎng)絡(luò)流數(shù)據(jù)生成器和Argus傳感器組成,Argus傳感器處理包(捕獲文件或活動(dòng)包數(shù)據(jù))并生成包流中所有流的詳細(xì)網(wǎng)絡(luò)流狀態(tài)報(bào)告。Argus捕獲了每個(gè)流的許多包動(dòng)態(tài)和語(yǔ)義,有大量的數(shù)據(jù)縮減,因此您可以有效地存儲(chǔ)、處理、檢查和分析大量的網(wǎng)絡(luò)數(shù)據(jù)。Argus提供了可達(dá)性、可用性、連接性、持續(xù)時(shí)間、速度,負(fù)載,good-put,損失,抖動(dòng),重傳,對(duì)所有網(wǎng)絡(luò)流量和延遲指標(biāo),并從數(shù)據(jù)包內(nèi)容捕獲大部分屬性,如L2地址,隧道標(biāo)識(shí)符(MPLS、GRE、ESP等…),協(xié)議id,SAP的跳數(shù),選擇,L4流量標(biāo)識(shí)(RTP、媒體服務(wù)器檢測(cè)),主機(jī)流量控制的跡象,等等……

許多站點(diǎn)使用Argus為其網(wǎng)絡(luò)上的每個(gè)網(wǎng)絡(luò)事務(wù)生成網(wǎng)絡(luò)活動(dòng)報(bào)告。Argus生成的網(wǎng)絡(luò)審計(jì)數(shù)據(jù)對(duì)于安全性、操作和性能管理非常有用。該數(shù)據(jù)用于網(wǎng)絡(luò)取證、不可抵賴(lài)性、網(wǎng)絡(luò)資產(chǎn)和服務(wù)庫(kù)存、服務(wù)器和客戶(hù)關(guān)系的行為基線(xiàn)化、隱蔽通道檢測(cè)和零日事件分析。

Argus是一個(gè)開(kāi)源項(xiàng)目,目前運(yùn)行在Mac OS X、Linux、Solaris、FreeBSD、OpenBSD、NetBSD、AIX、HP-UX、VxWorks、IRIX、Windows(在Cygwin下)和OpenWrt上,已經(jīng)移植到許多硬件加速平臺(tái),如Bivio、Pluribus、Arista和Tilera,并嵌入到網(wǎng)絡(luò)適配器中。該軟件應(yīng)該可以移植到許多其他環(huán)境中,很少或根本不需要修改。性能是通過(guò)使用適當(dāng)?shù)挠?jì)算資源來(lái)審計(jì)整個(gè)企業(yè)的Internet活動(dòng)。

二、argus的安裝

? % ./configure

%? make

%? make install

編譯完成后應(yīng)用程序位于:./bin/argus

如果需要采用長(zhǎng)期的daemon方式運(yùn)行程序,那么需要將配置文件拷貝到/etc中,Argus可將數(shù)據(jù)輸出到輸出文件中,或者使用argus實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)流量,或者將數(shù)據(jù)輸出到socket,客戶(hù)端程序可以使用??梢圆扇∫环N或者兩種方式,這些行為都可以由argus.conf文件指定,可以通過(guò)去掉合適行的注釋來(lái)完成。

cp ./support/Config/argus.conf /etc

要使用 interpacket arrival time等相關(guān)指標(biāo)信息,需要將RGUS_GENERATE_RESPONSE_TIME_DATA (`-R`), ARGUS_GENERATE_TCP_PERF_METRIC等參數(shù)去注釋。

ARGUS_INTERFACE=ens33

ARGUS_FLOW_STATUS_INTERVAL=60

ARGUS_MAR_STATUS_INTERVAL=300

ARGUS_IP_TIMEOUT=30

ARGUS_TCP_TIMEOUT=60

ARGUS_ICMP_TIMEOUT=5

ARGUS_IGMP_TIMEOUT=30

ARGUS_FRAG_TIMEOUT=5

ARGUS_ARP_TIMEOUT=5

ARGUS_OTHER_TIMEOUT=30

sudo ./argus -i ens33 -P 561,向指定端口輸出信息

在 /etc/argus.conf中的信息修改完成之后,可以直接使用下面命令運(yùn)行程序:

sudo ./argus

三、argus-clients的安裝

% ./configure

% make

# make install

修改/support/Config/rarc中的配置文件,可以設(shè)置輸出的時(shí)間格式,輸出的列元素的等信息。

sudo cp ./argus-clients*/support/Config/rarc ~/.rarc

(1)不打印標(biāo)題頭

RA_PRINT_LABELS=-1

(2)設(shè)置輸出的字段:

RA_FIELD_SPECIFIER="stime ltime flgs saddr daddr proto sport dport dir dur pkts spkts dpkts sintpkt dintpkt sintpktidl dintpktidl bytes sbytes dbytes sintpktact dintpktact smeansz dmeansz dmaxsz sminsz dminsz dminsz load sload dload rate srate drate state"

(3)設(shè)置分隔符:

RA_FIELD_DELIMITER=','

(4)不採(cǎi)用"x.y.z.w.yyyy"輸出形式:

RA_SEPARATE_ADDR_FROM_PORT_WITH_PERIOD="no"

(5)設(shè)置輸出變量的長(zhǎng)度:

RA_FIELD_WIDTH='variable'

(6)設(shè)置專(zhuān)意方式:

RA_PRINT_NAMES=proto

(7)設(shè)置時(shí)間輸出方式:

# RA_PRINT_UNIX_TIME=yes

RA_TIME_FORMAT="%F %T"? ? ? //2018-09-18 10:36:49

(8)命令行:

ra -S 127.0.0.1:561 -p 2? > argus.log

-p表示輸出數(shù)據(jù)的小數(shù)點(diǎn)精度,-u表示採(cǎi)用unix時(shí)間

四、使用logstash輸出數(shù)據(jù)

input {

? ? ? file {

? ? type => "argus"

? ? start_position => "end"

? ? sincedb_path => "$HOME/bin/log/.argus_sincedb"

? ? #Edit the following path to reflect the location of your log files. You can also change the extension if you use something else

? ? path => "$HOME/argus.log"

? ? }

}

filter{


? ? ? if [type] == "argus" {

? ? ? csv{

? ? ? columns =>? ? ? ? ? ["stime","ltime","flgs","saddr","daddr","proto","sport","dport","dir","dur","pkts","spkts","dpkts","sintpkt","dintpkt","sintpktidl","dintpktidl","bytes","sbytes","dbytes","sintpktact","dintpktact","smeansz","dmeansz","smaxsz","dmaxsz","sminsz","dminsz","load","sload","dload","rate","srate","drate","state"]

separator => ","

? ? ? }

? ? ? if ![sintpkt] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "sintpkt" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![dintpkt] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "dintpkt" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![dintpktidl] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "dintpktidl" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![dmaxsz] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "dmaxsz" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![dminsz] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "dminsz" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![sintpktact] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "sintpktact" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![sport] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "sport" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![dport] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "dport" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![dir] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "dir" => "-" }

? ? ? ? }

? ? ? }

? ? ? if ![dintpktact] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "dintpktact" => 0 }

? ? ? ? }

? ? ? }

? ? ? if ![sintpktidl] {

? ? ? ? mutate {

? ? ? ? ? ? replace => { "sintpktidl" => 0 }

? ? ? ? }

? ? ? }

? ? mutate {

? ? gsub => ["flgs"," ",""]

? ? }

? ? mutate {

? ? gsub => ["dir"," ",""]

? ? }


? ? ? date {

? ? ? ? match => ["stime", "yyyy-MM-dd HH:mm:ss"]

? ? ? ? timezone => "UTC"

? ? ? }

? }

}

output {


? ? ? if [type] == "argus" {

? ? ? ? ? stdout { codec => "rubydebug" }?

? ? ? ? }


}


nohup ra -F rarc -S 127.0.0.1:561 -p 2? > argus.log &

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容