網(wǎng)上有很多關(guān)于pos機(jī)銷售日志,企業(yè)郵件服務(wù)日志收集的知識,也有很多人為大家解答關(guān)于pos機(jī)銷售日志的問題,今天pos機(jī)之家(www.mxllmx.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
pos機(jī)銷售日志
0×01.概要背景
這次我們舉個接近實際生產(chǎn)的例子,來說明開源SOC系統(tǒng)如何采集數(shù)據(jù),如果之前介紹系統(tǒng)是抽象的,現(xiàn)在就是實例具象的。平時我們利用日志系統(tǒng)收集了大量的各類的日志數(shù)據(jù),如:Openresty訪問日志、防護(hù)墻日志、VPN日志、郵件服務(wù)器相關(guān)日志、用戶權(quán)限審計日志、路由器操作日志、甚至包括辦公區(qū)AP的日志,DHCP日志。
這些不能一一列舉,如果要選出一個比較典型的日志收集例子, 企業(yè)郵件的日志收集可以作為例子。遍布國內(nèi)相關(guān)業(yè)務(wù)城市,都有員工使用郵件服務(wù),企業(yè)郵件服務(wù)是一種基礎(chǔ)服務(wù),在運(yùn)營的過程中我們遇到用戶相關(guān)各種問題的出現(xiàn),不能第一時間取得更多用戶一手的現(xiàn)場問題資料, 通過分析用戶日志,可以找出問題的發(fā)生當(dāng)點(diǎn),可能引起的問題根因。還可以得用日志系統(tǒng)數(shù)據(jù):解決IP異地登陸檢查,未備案設(shè)備暴力破解賬號,賬號被鎖自動提醒,管理員操作審計等有之相關(guān)的功能操作,這一切都是建立在,構(gòu)建日志收集系統(tǒng)前提下,如果沒日志系統(tǒng),這些數(shù)據(jù)和相應(yīng)功能實現(xiàn)不了。
0×02.架構(gòu)業(yè)務(wù)
我們整體上要理解業(yè)務(wù)架構(gòu)和運(yùn)作原理,才能有針對性的收集相關(guān)日志的數(shù)據(jù),遇到問題時,可以通過有效的日志數(shù)據(jù)指導(dǎo)問題的解決。
一直以來都想找到一種比較好的表達(dá)方式來說明,企業(yè)郵件系統(tǒng)的構(gòu)成,那種方式比較簡單明了?找到了上面這種系統(tǒng)切面圖方式,用2.5D的展示方法,展示從用戶郵件客戶端,到最后取得郵件的整個系統(tǒng)間的數(shù)據(jù)處理流程。如圖所示,我們從整體上把系統(tǒng)交互分成6個切片,兩次域名解析,兩次負(fù)載均衡, 并且第二次從mai_server.com解析到具體的郵件服務(wù)器時,可以不使用負(fù)載部署方案,使用DNS輪詢的方式。如果采用負(fù)載的方式,一臺機(jī)器掛掉也可以把流量負(fù)載到其它機(jī)器上,備機(jī)也可以正常工作,不受影響。 如果使用域名輪詢解析的方案,因為沒有探活機(jī)制,需要在此之外建立報警機(jī)制,一定發(fā)現(xiàn)一臺郵件服務(wù)器掛掉就要去掉到這機(jī)器的域名解析。mail_server.com在此處由一個內(nèi)部的域名解析服務(wù)解析,郵件服務(wù)器可部署在公司機(jī)房,這種情況使用nat或是dr模式的負(fù)載均衡,可以緩解需要手動更改域名解析的尷尬,一旦出現(xiàn)問題不需要太多人工干預(yù),這種根本機(jī)制上解決了服務(wù)的穩(wěn)定性。
0×03.系統(tǒng)原理切片描述
我們簡述一下這6個系統(tǒng)交互切片的含義。
第1層. 郵件客戶端:用戶收發(fā)郵件使用的郵件客戶端程序。像Exchange這種郵件服務(wù)都支持針對PC端口和移動手機(jī)端的區(qū)分針對性配置。
第2層.域名解析:上面也說過,這個系統(tǒng)有兩次負(fù)載均衡,有兩次域名解析,問題是為什么有兩個域名,mail_proxy.com和mail_server.com, mail_server.com是真正的郵件服務(wù)器的域名,在內(nèi)網(wǎng)中可以直接訪問,在某些場景下,我們希望在外網(wǎng)的員工也可以訪問郵件服務(wù),這時我們就用一個基于Openresty的代理服務(wù),部署內(nèi)網(wǎng)郵件服務(wù)的代理系統(tǒng),將外網(wǎng)域名反代指向內(nèi)網(wǎng)的mail_server.com。出于安全考慮,我們在服務(wù)器上添加了的用戶設(shè)備ID的限制,讓那些沒有在冊的設(shè)備不可以直接通過mail_proxy.com,這個代理訪問內(nèi)網(wǎng)的mail_server.com域名進(jìn)行郵件收發(fā)。并且一旦手機(jī)發(fā)生丟失的情況下,去掉丟失自己的設(shè)備ID授權(quán),被盜手機(jī)有用戶名和密碼,也不能正常使用郵箱服務(wù),并且我們還可在代理服務(wù)器上限速,限制附件大小。這些的出發(fā)點(diǎn)都是為了安全出發(fā)。
第3層.mail_proxy.com的vip負(fù)載均衡:為了多點(diǎn)備份,我們在解析mail_proxy.com時,對應(yīng)解析了三個機(jī)房的VIP,三個機(jī)房對應(yīng)三個不同運(yùn)營商的線路,優(yōu)化線路后,讓用戶的訪問效率更高。然后把對應(yīng)運(yùn)營商線路的請求負(fù)載到3臺不同的郵件代服務(wù)器上,三臺機(jī)器,其中一兩臺服務(wù)器掛掉,也不會影響郵件代理的整體運(yùn)作服務(wù)。
第4層.mail_server.com域名解析:前三層的服務(wù)并沒用直正的涉及到郵件服務(wù)器的核心服務(wù)器,從各個域名解析mail_server.com開始,下面都是郵件服務(wù)相關(guān)的服務(wù),從mail_server.com解析到真實的郵件服務(wù)器有兩種方式,如上所述,第一種是域名解析輪詢,另一種就是加負(fù)載均衡層。
第5層.郵件負(fù)載均衡與郵件真實服務(wù)器:如果我在內(nèi)網(wǎng)機(jī)房,使用基于tcp協(xié)議的負(fù)載均衡,一旦遇到機(jī)房或是服務(wù)本身的原因造成一臺服務(wù)斷掉也不會影響整體郵件服務(wù)。
第6層.郵件:經(jīng)過前面階段的處理才能到真實地的郵件,其實還有更深的一層交互沒有在圖上畫出來就是附件服務(wù)器,正常的郵件服務(wù),還會配置2或是3臺郵件附件服務(wù)。
0×04.關(guān)鍵的日志數(shù)據(jù)收集
在整個系統(tǒng)的層次上,很多服務(wù)器都會相應(yīng)的產(chǎn)生日志數(shù)據(jù), 刨除負(fù)載均衡的日志數(shù)據(jù),我們真正關(guān)心的是真實服務(wù)器的產(chǎn)生的日志(Real Server),這些日志的收集才能完成最開始概要里所的那些功能:
1.郵件代理服務(wù)器日志:代理服務(wù)器使用的是基于Openresty的反向代量服務(wù)器。其中最主要的日志,其實就是WEB訪問日志。
日志形式:形式上可以是標(biāo)準(zhǔn)文本格式,也可以是JSON格式。
log_format accessjson escape=json ‘{“source”:”192.168.0.8″, “ip”:”$remote_addr”,”user”:”$remote_user”,”time_local”:”$time_local”,”statuscode”:$status,”bytes_sent”:$bytes_sent,”http_referer”:”$http_referer”,”http_user_agent”:”$http_user_agent”,”request_uri”:”$request_uri”,”request_time”:$request_time,”gzip_ration”:”$gzip_ratio”,”query_string”:”$query_string”}’;
日志協(xié)議:可以使用syslog協(xié)議直接發(fā)送JSON形式的日志到syslog服務(wù)器,也可以通過catkafka將JSON文體推送到Kafka隊列上。
syslog方式:
access_log syslog:server=192.168.0.8:10001;
catkafka方式發(fā)送:
tail -F -q access-json.log | kafkacat -b 1.kafka1.yqfy.net:9091,2.kafka1.yqfy.net:9091,3.kafka1.yqfy.net:9091,4.kafka1.yqfy.net:9091 -t candylab_topic
2.郵件服務(wù)器日志:郵件服務(wù)的日志種類相對就比較多了,1.Exchange IIS日志。2.Exchange Server系統(tǒng)日志。3. IMAP郵件協(xié)議日志。4.POP3郵件協(xié)議日志。5.管理員審計日志。
因為郵件服務(wù)器是基于Windows的,所以我們有一種日志發(fā)送方案是使用nxlog發(fā)送客戶端代理服務(wù),把郵件服務(wù)器上系統(tǒng)日志和文本文件日志發(fā)送到syslog服務(wù)器上。
典型nxlog發(fā)送文本日志配置舉例,以下:
<Extension _syslog>Module xm_syslog</Extension><Input in>Module im_file file \'C:\\\log\\\\*.log\'SavePos TRUE</Input><Output out>Module om_udpHost 192.168.0.8Port 10001Exec parse_syslog(); </Output><Route 1>Path in => out</Route>
0×05.日志的收集與轉(zhuǎn)存
之前我們說的都是系統(tǒng)構(gòu)成和日志的普通形式的存儲,而這次比較特別的是,我們將日志通過nxlog這種syslog日志發(fā)送代理發(fā)送數(shù)據(jù)到syslog server, 再由syslog server轉(zhuǎn)發(fā)到graylog的syslog udp監(jiān)聽。再由Graylog收集發(fā)送過來的文本存到ES中,因為ES的索引是有生命周期的,可以指定郵件日志的存活時間,比如說某個指定時間長度,然后數(shù)據(jù)被揮發(fā)掉,釋放出來的空間存放新的日志。但同時,當(dāng)Graylog收到日志的同時,通過Graylog Kafka的Output插件,可以把數(shù)據(jù)復(fù)制轉(zhuǎn)發(fā)到Kafka上,然后由Kafka消費(fèi)者程序,消費(fèi)這些日志數(shù)據(jù)復(fù)制一份到Clickhouse中, 只要服務(wù)運(yùn)轉(zhuǎn)良好,沒人天災(zāi)人禍,服務(wù)不被莫名重裝、機(jī)房空調(diào)溫度不過高、Raid硬盤不壞,網(wǎng)絡(luò)不抖,數(shù)據(jù)就會安然的保存住。
1.SyslogNG服務(wù)器:Syslog服務(wù)器在那種數(shù)據(jù)需要落地,并且數(shù)據(jù)需要轉(zhuǎn)發(fā)的場景,是必選服務(wù),Graylog也可以打開udp監(jiān)聽,但不會保存文本文件到本地,直接存到了es里。
2.Graylog服務(wù):如果說Superset是Clickhouse的靈魂伴侶,Graylog也是ES一個很好應(yīng)用,Graylog可以輕松開啟各種數(shù)據(jù)監(jiān)聽服務(wù),當(dāng)然也包括UDP Syslog日志監(jiān)聽。并且,Graylog是內(nèi)置了Kafka隊列和MongoDB,簡化了ELK系統(tǒng)的構(gòu)件成本。
3.Kafka隊列: 當(dāng)數(shù)據(jù)量特別大的時候,用隊列緩存數(shù)據(jù)(Queue),上圖的Kafka,其實是為Clickhouse寫入數(shù)據(jù)服務(wù)的,我們用Graylog把日志數(shù)據(jù)推到Kafka上,相當(dāng)于把到Graylog里的日志數(shù)據(jù),復(fù)制ClickHouse上一份,只是這個存的動作,是由后續(xù)的消費(fèi)程序插入數(shù)據(jù)完成的,Clickhouse里的日志數(shù)據(jù)可以存的時間較長,SQL聚合的效率也更高。
4.Clickhouse數(shù)據(jù)庫:ClickHouse的效率強(qiáng)大的令人發(fā)指,我們可以用Clickhouse操作上億的數(shù)據(jù)量。
0×06.如何拿到數(shù)據(jù)
之前介紹都是,如何把郵件代理的數(shù)據(jù)存到Graylog和Clichouse里,后續(xù)的操作就是針對數(shù)據(jù)的分析操作。
1.數(shù)據(jù)輸入處理: 對于我們的分析模塊程序來說,有兩個強(qiáng)大的數(shù)據(jù)源,Graylog和Clickhouse, Graylog提供REST查詢服務(wù),Clickhouse提供多種訪問驅(qū)動,python,java,c++,go的數(shù)據(jù)驅(qū)動都有。
2.黑白名單處理: 這個是業(yè)務(wù)處理,我們在同時的威脅情報處理中,一定會遇到很多的誤盼和數(shù)據(jù)噪音, 使用黑白名單機(jī)制可以改善噪音對我們的影響。對于企業(yè)郵箱的日志服務(wù)來說 ,最重要的白名單管理,其實是在nginx中,對特定用戶設(shè)備的限制管理,這個和本文無關(guān),不表。
3.威脅檢查:核心威脅分析策略模塊(略)。如果郵箱服務(wù),可以通過數(shù)據(jù)分析,分析出賬號被鎖用戶是誰,正在爆破郵箱的人誰, 密碼錯誤,惡意提交訪問請是誰,等等操作。
最近,當(dāng)我們面臨DDOS攻擊時,基于Clickhouse構(gòu)建監(jiān)控分析策略,可以敏捷的應(yīng)臨時監(jiān)控統(tǒng)計需求,只要前期有數(shù)據(jù),構(gòu)建分析策略速度經(jīng)人。
而Clickhouse操作其數(shù)據(jù)很簡單,以下舉例,具體復(fù)雜度看后續(xù)需求。
docker客戶端:
docker run -it –rm yandex/clickhouse-client -h yqfy.net –port 9006 -m -u yqfy–password nicaishisha -d yqfy
Python客戶端:
from clickhouse_driver import Clientclient = Client(host=\'yqfy.net\', port=9006, user=\'yqfy\', database=\'yqfy\',password=\'nicaishisha\')client.execute(\'INSERT INTO threat_table (date,hour,ts,src_ip,src_port,dst_ip,dst_port,threat,level,type,payloads,message) VALUES\', threat_infos)
新版的Clickhouse加入了更強(qiáng)大的功能,而我們驅(qū)動如此大的數(shù)據(jù)庫引擎,只需要區(qū)區(qū)幾行代碼,大大的提高安全人員的生產(chǎn)率。
4.數(shù)據(jù)輸出處理:我們可以通過syslog協(xié)議和Clickhouse,對經(jīng)過處理的數(shù)據(jù),再轉(zhuǎn)存回去。并且,有很多可視化軟件和BI處理程序?qū)?shù)據(jù)源數(shù)據(jù)進(jìn)行分析和展示。
0×07.總結(jié)
上文介紹的內(nèi)容中,關(guān)于服務(wù)器負(fù)載均衡、WEB服務(wù)器與客戶端數(shù)據(jù)采集、ES到Clickhouse遷移數(shù)據(jù),這些都可以到Freebuf中找到更具體的文章。至此,不同以住,我們介紹了更真實的日志存儲的案例。生產(chǎn)環(huán)境中,我們存儲了海量的日志數(shù)據(jù),用郵件的例子是因為郵件的業(yè)務(wù)相對好理解,不涉及到更多的術(shù)語業(yè)務(wù),而關(guān)于數(shù)據(jù)Agent分類及部署方式。Graylog的高級使用技巧,Clickhouse聚合數(shù)據(jù),這些軟件實際操作使用,后續(xù)介紹,那些讓人意想不到飄逸操作,讓數(shù)據(jù)分析更高效,強(qiáng)大的工具將我們從繁重的腦力勞動中解救出來,這也是我們可以戰(zhàn)勝普通猿人以及北京猿人,成為智人的原因之一,放棄香蕉,從樹上下來,我們學(xué)會了使用工具。
以上就是關(guān)于pos機(jī)銷售日志,企業(yè)郵件服務(wù)日志收集的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機(jī)銷售日志的知識,希望能夠幫助到大家!
