日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

OSSIM开源安全信息管理系统(十七)

發布時間:2023/12/14 windows 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OSSIM开源安全信息管理系统(十七) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2021SC@SDUSC




七、Agent部分源代碼分析

1、Agent 簡介

OSSIM Agent中所有腳本采用 Python 編寫,負責從安全設備采集相關信息(比如報警日志等),并將采集到的各類信息統一格式,最后將這些數據傳至 Server。從采集方式上看,Agent 屬于主動采集,可以形象理解為由OSSIM Server 安插在各個監控網段的“耳目”,由它們收集數據,并主動推送到 Collector 中,然后 Collector 又連接著消息隊列系統、緩存系統及存儲系統。

Agent 相關目錄在 /etc/ossim/agent/ ,代理插件目錄在 /etc/ossim/agent/plugins/ ,配置文件路徑:/etc/ossim/agent/config.cfg ,OSSIM系統的代理信息查看方法,通過 Analysis→Detection 下的 HIDS 標簽中 Agents 查看。

Agent 結構:



Agent 的主要功能是接收或抓取 Plugins 發送過來或者生成的日志,經過歸一化處理,然后有序地傳送到 OSSIM的 Server,它的功能很復雜,因為它的設計要考慮到如果 Agent 和 Server 之間的網絡中斷、擁堵、丟包等情況。

Agent 會主動連接兩個端口與外界通信,一個是連接 Server 的40001端口,而另一個是連接數據庫的3306端口。如圖所示。


Agent 將原始日志分成若干段并填充到相應的域中,相關字段如下:

  • date、sensor、interface、plugin_id、plugin_sid、priority、protocol、src_ip、src_port、dst_ip、dst_port

  • username、password、filename、userdata1、userdata2、userdata3、userdata4、userdata5、userdata6、userdata7、userdata8、userdata9


2、Agent.py 源碼分析

首先導入一些必要的模塊

import os import sys import time import signal import threading import socket import codecs import uuid import yaml import subprocess as sub

然后導入本地模塊

Conf 類繼承自 ConfigParser

from Config import Conf, Plugin, Aliases, CommandLineOptions from ConfigParser import Error as BaseConfigError from ParserLog import ParserLog from ParserJson import ParserJson from Watchdog import Watchdog from Logger import Logger from Output import Output from Stats import Stats from Conn import ServerConn, IDMConn, FrameworkConn from Exceptions import AgentCritical from ParserDatabase import ParserDatabase from ParserWMI import ParserWMI from ParserSDEE import ParserSDEE from ParserRemote import ParserRemote from ParserUtil import HostResolv from ParserFtp import ParserFTP from ParserFormattedSnort import SnortEventsParser

定義全局變量:

Logger 類:用于日志記錄的靜態類。用于輸出運行日志,可以設置輸出日志的等級、日志保存路徑、日志文件回滾等。

logger = Logger.loggerSTAT_SIGNALS = {'clients': 40, 'plugins': 41, 'all': 50} DEFAULT_SYSTEM_FILE = "/etc/ossim/agent/agentuuid.dat" DEFAULT_PULSE_PLUGIN_PATH = '/etc/ossim/agent/av_pulse.cfg'

接下來就是具體類 Agent 的代碼部分。

1、初始化方法 __init__

def __init__(self):# 調用CommandLineOptions的get_options()方法,解析命令行選項self.options = CommandLineOptions().get_options()# 讀取相關配置self.conf = Conf()if self.options.config_file:self.__conffile = self.options.config_file#如果options中未通過“-c”命令行指定配置文件,則采用Conf類中默認的配置文件#DEFAULT_CONFIG_FILE = "/etc/ossim/agent/config.cfg"else:self.__conffile = self.conf.DEFAULT_CONFIG_FILE#通過類Conf的read方法以latin1編碼方式讀取配置文件#Latin1是一種編碼方式,為ISO-8859-1的別名self.conf.read([self.__conffile], 'latin1')# 插件列表self.__plugins = []#其中的規則總數self.__nrules = 0#從/etc/ossim/agent/host_cache.dic中加載緩存HostResolv.loadHostCache()self.detector_objs = []self.watchdog = Noneself.shutdown_running = Falseself.__outputServerConnection = Noneself.__outputIDMConnection = Noneself.__frameworkConnection = Noneself.__keep_working = Trueself.__checkThread = Noneself.__stop_server_counter = 9999self.__pluginStopEvent = threading.Event()self.__sensorID = ""self.__systemUUIDFile = ""

配置文件格式:





本篇文章部分內容參考或轉載自下列文章及書籍。侵權即刪。

參考書籍:

  • 《開源安全運維平臺OSSIM疑難解析(入門篇)》——李晨光著
  • 《開源安全運維平臺OSSIM疑難解析(提高篇)》——李晨光著
  • 《開源安全運維平臺:OSSIM最佳實踐》——李晨光著

參考文章:

  • https://blog.51cto.com/chenguang/2426473
  • https://blog.csdn.net/lcgweb/article/details/101284949
  • https://blog.51cto.com/chenguang/1665012
  • https://www.cnblogs.com/lsdb/p/10000061.html
  • https://blog.51cto.com/chenguang/1691090
  • https://blog.51cto.com/chenguang/category10.html
  • https://blog.51cto.com/topic/ossim.html
  • https://blog.csdn.net/isinstance/article/details/53694361
  • https://blog.51cto.com/chenguang/1332329
  • https://www.cnblogs.com/airoot/p/8072727.html
  • https://blog.51cto.com/chenguang/1738731
  • https://blog.csdn.net/security_yj/article/details/120153992

上一篇:
下一篇:

總結

以上是生活随笔為你收集整理的OSSIM开源安全信息管理系统(十七)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。