应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

使用Wazuh和TheHive的开源SIEM解决方案

  Wazuh采用多层架构,包括这些主要组件:代理、索引器、仪表板和中央服务器。
  代理被安装在每个要监测的系统上,它们收集事件数据、日志和其他系统信息。代理可以安装在虚拟(包括云)和物理机上。
  wazuh中央服务器负责管理代理,远程配置和更新它们。代理商收集的数据被发送到服务器,服务器负责处理和分析信息,根据预先配置的规则和它的威胁情报引擎寻找入侵点。
  然后,数据从服务器被发送到索引器,索引器负责存储和索引日志和警报。索引器也是一个可扩展的文本搜索和分析引擎。
  wazuh系统中的每个数据都可以从仪表盘上查看,这也是管理wazuh组件、创建规则和分析数据的好方法。
  WazuhSIEM还包括一个API,可以与其他安全工具和服务集成,从而实现更全面的安全解决方案。它可以作为一个单节点集群实施,也可以作为一个分布式解决方案。但在本实验过程中,我将把Wazuh作为一个单节点集群使用。
  开源解决方案的优势。它们为定制提供了更大的灵活性,因为用户可以访问源代码,可以为开发做出贡献,并修改软件以适应他们的具体使用情况。它们大多是免费使用和分发的;这就使它们成为用户的成本效益选择。它们通常有一个用户(开发者)社区的支持,他们为软件做出贡献,提供支持,并分享知识。
  开源供应商是如何赚钱的。高级功能。大多数开放源码供应商提供免费版软件所不具备的高级特性和功能;因此他们对这些特性的使用收费。付费支持和服务。许多开源供应商提供付费支持和服务,如咨询、培训和定制,以帮助公司实施和维护软件。双重许可。一些开放源码供应商提供双重或多重许可模式,允许软件在开放源码许可和商业许可下可用。这使他们能够向需要商业许可的企业出售该软件。任务1:建立基础设施我使用安装助手安装了Wazuh服务器。关于如何做的详细步骤见这里。运行以下命令。curlsOhttps:packages。wazuh。com4。3wazuhinstall。shsudobash。wazuhinstall。sha
  现在服务器已经安装成功,我使用https:服务器的ip访问它,并使用安装后提供的初始admnin凭证登录。
  设备1(Windows端点)。
  我按照以下步骤在我的windows端点上安装了wazuh代理。
  我刷新了页面,我的windows代理被注册,并在仪表板上被检测到是一个代理,如下图所示。
  设备2(Linux端点)。
  我按照这些步骤为我的ubuntu机器重复了上述步骤。
  我刷新了页面,我的linux代理被注册了,并在仪表板上被检测到是一个代理,如下图所示。
  设备3(Linux端点)。
  我按照设备2的相同步骤登上了设备3,这是一台ubuntu机器。
  我现在可以查看所有3个被监控的终端的日志,如下图所示。
  为什么我可以查看日志?我可以查看这些日志,因为安装在端点上的wazuh代理从机器上收集日志,并将其发送到wazuh中央服务器(管理器),后者分析日志并根据配置的规则集运行,包括威胁情报。然后,日志被发送到索引器,存储在索引中以便于查询。然后我可以从索引器中查询日志,并使用wazuh仪表板进行分析,如上文图1。8所示。
  可见日志的解释
  日志1:这是一个从windows服务器端点记录的windows登录成功事件。如果前面的事件是暴力攻击的指标,如多次失败的登录尝试,这个事件可以作为防御规避、特权升级和成功的暴力攻击的指标。
  在windows机器上,登录成功被登记为安全事件日志。如前所述,Wazuh代理会将这些日志发送到Wazuh核心结构之上。如图2。8所示,你可以确定机器的IP地址和其他相关细节,以帮助分析日志数据。
  由分析员在查看了前面的日志后确定这是否是成功入侵的指标。
  日志2:这是我的一个Linux端点的登录失败。如果在很短的时间内反复出现失败,这也可以作为企图入侵的一个指标。linux机器将该事件注册为日志,并将其保存在varlogauth。log中,由wazuh代理收集并运送到wazuh中央结构进行分析和展示。
  它也可能是一个假阳性(一个合法的用户可能忘记了登录细节)。
  任务2:阻止恶意的IP地址
  设置Wazuh代理。为了开始阻止恶意的IP地址,我在设备3上使用以下命令安装了Nginx。sudoaptinstallnginx
  我测试了一下,我可以从我的IP地址为10。1。1。42的恶意机器用curl到达服务器。
  为了让wazuh代理监控Nginx日志,我在varossecetcossec。conf文件中添加了以下配置,并使用sudosystemctl重启wazuhagent,重新启动了wazuh代理。localfilelogformatsysloglogformatlocationvarlognginxaccess。loglocationlocalfile
  设置Wazuh服务器。我下载了Alienvault的IP信誉数据库,并使用以下命令将其输出到文件varossecetclistsalienvaultreputation。ipset中。sudowgethttps:raw。githubusercontent。comfireholblocklistipsetsmasteralienvaultreputation。ipsetOvarossecetclistsalienvaultreputation。ipset然后我用下面的命令将攻击机器的IP输入到Alienvault的IP信誉数据库中。sudoecho10。1。1。42varossecetclistsalienvaultreputation。ipset
  图3。2:在信誉数据库中添加恶意IP。我从wazuh下载了一个脚本,用以下命令将。ipset格式转换为。cdb。sudowgethttps:wazuh。comresourcesiplisttocdblist。pyOtmpiplisttocdblist。py然后我用之前下载的脚本将之前创建的alienvaultreputation。ipset文件转换为。cdb格式。下面的命令完成了转换。sudovarossecframeworkpythonbinpython3tmpiplisttocdblist。pyvarossecetclistsalienvaultreputation。ipsetvarossecetclistsblacklistalienvault由于我不再需要alienvaultreputation。ipset文件和iplisttocdblist。py脚本,我用以下命令丢弃了它们。sudormrfvarossecetclistsalienvaultreputation。ipsetsudormrftmpiplisttocdblist。py我用下面的命令给了wazuh足够的权限给新的和转换的varossecetclistsblacklistalienvault文件。sudochownwazuh:wazuhvarossecetclistsblacklistalienvault成功完成上述程序后,我继续配置Wazuh的主动响应模块,阻止恶意IP我在varossecetcruleslocalrules。xml文件中创建了一个自定义规则,以触发主动响应脚本,规则严重程度为12级。自定义规则集如下。groupnameattack,ruleid100100level12ifgroupwebattackattacksifgrouplistfieldsrciplookupaddressmatchkeyetclistsblacklistalienvaultlistdescriptionIPaddressfoundinAlienVaultreputationdatabase。descriptionrulegroup
  我编辑了wazuh服务器上的varossecetcossec。conf文件,并在规则集部分创建了一个etclistsblacklistalienvault列表。
  我编辑了varossecetcossec。conf文件的主动响应部分,确保来自攻击者机器的流量被丢弃300秒,如下图3。5所示。
  在攻击者的机器上进行的快速测试表明,第一次curl测试是成功的,但随后5分钟内的curl操作是不成功的。
  我也能在我的wazuh仪表板上检测到该事件,如以下图片所示。
  任务3:模拟蛮力攻击检测
  我通过在短时间内通过ssh和rdp会话输入错误的凭证,模拟了对所有3个端点的暴力攻击。在这次模拟中,我使用了一个带有用户名的无效凭证攻击者。
  下面的图片显示了在我的SIEM仪表板上对攻击的检测。我在安全事件仪表板上发现认证失败的数量增加了。
  作为一个分析员,这应该引起注意,不仅是因为其严重程度,而且是因为其在短时间内的频率。这可能是来自Hydra等自动化工具的暴力攻击的一个指标。我钻研了一下,通过探索安全警报来确定认证失败激增的根本原因。我发现在很短的时间内,我的基础设施内的主机出现了多次一致的登录失败。
  我进一步分析了其中一个显示攻击的日志,我可以检测到登录会话来自一个远程IP10。1。1。100,有一个不存在的用户攻击者。这些尝试的一致性是一个明显的暴力尝试指标,可以通过使用网络保护设备或该节点上的wazuh代理阻止攻击者的IP来暂时补救,这可以通过遵循本指南实现。
  一个更持久的修复方法是审查IAM政策,以进一步加强基础设施。
  配置电子邮件或Slack通道警报也可以用来检测此类警报,方法是为规则的严重程度设置警报,或调整规则的严重程度,使其与预设电子邮件警报的最低阈值相匹配。任务4:SOC整合(将theHive与Wazuh整合)。为了开始实施,我决定使用容器版的theHive。我运行了以下docker命令来运行最新版本的theHive。sudodockerrundrmp9000:9000strangebeethehive:latest我登录到蜂巢,创建了一个组织,如下图5。0所示。
  我在组织中添加了一个新的管理用户,具有完全的管理权限,如下图所示。
  我还创建了更多的用户,如老板和分析师,并将他们加入到组织中,以便有一个更好的模拟。我为先前创建的用户账户生成了一个API密钥,并复制了它。
  我继续配置Wazuh管理器,首先用下面的命令安装Hivepython模块。sudovarossecframeworkpythonbinpip3installthehive4py1。8。1我在varossecintegrationscustomw2thive。py文件中粘贴了以下python脚本,以便创建一个自定义的集成脚本。!varossecframeworkpythonbinpython3importjsonimportsysimportosimportreimportloggingimportuuidfromthehive4py。apiimportTheHiveApifromthehive4py。modelsimportAlert,AlertArtifactstartuserconfigGlobalvarsthresholdforwazuhruleslevellvlthreshold0thresholdforsuricataruleslevelsuricatalvlthreshold3debugenabledFalseinfoaboutcreatedalertinfoenabledTrueenduserconfigSetpathspwdos。path。dirname(os。path。dirname(os。path。realpath(file)))logfile{0}logsintegrations。log。format(pwd)loggerlogging。getLogger(name)setlogginglevellogger。setLevel(logging。WARNING)ifinfoenabled:logger。setLevel(logging。INFO)ifdebugenabled:logger。setLevel(logging。DEBUG)createtheloggingfilehandlerfhlogging。FileHandler(logfile)formatterlogging。Formatter((asctime)s(name)s(levelname)s(message)s)fh。setFormatter(formatter)logger。addHandler(fh)defmain(args):logger。debug(startmain)logger。debug(getalertfilelocation)alertfilelocationargs〔1〕logger。debug(getTheHiveurl)thiveargs〔3〕logger。debug(getTheHiveapikey)thiveapikeyargs〔2〕thiveapiTheHiveApi(thive,thiveapikey)logger。debug(openalertfile)walertjson。load(open(alertfilelocation))logger。debug(alertdata)logger。debug(str(walert))logger。debug(genjsontodotkeytext)altpr(walert,,〔〕)logger。debug(formattingdescription)formataltmdformat(alt)logger。debug(searchartifacts)artifactsdictartifactdetect(formatalt)alertgeneratealert(formatalt,artifactsdict,walert)logger。debug(thresholdfiltering)ifwalert〔rule〕〔groups〕〔ids,suricata〕:checkingtheexistenceofthedata。alert。severityfieldifdatainwalert。keys():ifalertinwalert〔data〕:checkingthelevelofthesourceeventifint(walert〔data〕〔alert〕〔severity〕)suricatalvlthreshold:sendalert(alert,thiveapi)elifint(walert〔rule〕〔level〕)lvlthreshold:iftheeventisdifferentfromsuricataANDsuricataeventtype:alertchecklvlthresholdsendalert(alert,thiveapi)defpr(data,prefix,alt):forkey,valueindata。items():ifhasattr(value,keys):pr(value,prefix。str(key),altalt)else:alt。append((prefix。str(key)str(value)))returnaltdefmdformat(alt,formatalt):mdtitledict{}sortedwithfirstkeyfornowinalt:nownow〔1:〕fixfirstkeylastsymboldotnow。split()〔0〕。find(。)ifdot1:mdtitledict〔now。split()〔0〕〕〔now〕else:ifnow〔0:dot〕inmdtitledict。keys():(mdtitledict〔now〔0:dot〕〕)。append(now)else:mdtitledict〔now〔0:dot〕〕〔now〕fornowinmdtitledict。keys():formataltnow。capitalize()keyvalforletinmdtitledict〔now〕:key,vallet。split()〔0〕,let。split()〔1〕formataltkeyvalreturnformataltdefartifactdetect(formatalt):artifactsdict{}artifactsdict〔ip〕re。findall(rd。d。d。d,formatalt)artifactsdict〔url〕re。findall(rhttp〔s〕?:(?:〔azAZ〕〔09〕〔。〕〔!(),〕(?:〔09afAF〕〔09afAF〕)),formatalt)artifactsdict〔domain〕〔〕fornowinartifactsdict〔url〕:artifactsdict〔domain〕。append(now。split()〔1〕。split()〔0〕)returnartifactsdictdefgeneratealert(formatalt,artifactsdict,walert):generatealertsourceRefsourceRefstr(uuid。uuid4())〔0:6〕artifacts〔〕ifagentinwalert。keys():ifipnotinwalert〔agent〕。keys():walert〔agent〕〔ip〕noagentipelse:walert〔agent〕{id:noagentid,name:noagentname}forkey,valueinartifactsdict。items():forvalinvalue:artifacts。append(AlertArtifact(dataTypekey,dataval))alertAlert(titlewalert〔rule〕〔description〕,tlp2,tags〔wazuh,rulewalert〔rule〕〔id〕,agentnamewalert〔agent〕〔name〕,agentidwalert〔agent〕〔id〕,agentipwalert〔agent〕〔ip〕,〕,descriptionformatalt,typewazuhalert,sourcewazuh,sourceRefsourceRef,artifactsartifacts,)returnalertdefsendalert(alert,thiveapi):responsethiveapi。createalert(alert)ifresponse。statuscode201:logger。info(CreateTheHivealert:str(response。json()〔id〕))else:logger。error(ErrorcreateTheHivealert:{}{}。format(response。statuscode,response。text))ifnamemain:try:logger。debug(debugmode)ifdebugenabledMainfunctionmain(sys。argv)exceptException:logger。exception(EGOR)ssecintegrationscustomw2thive我创建了一个bash脚本来执行先前在这个文件varossecintegrationscustomw2thive中创建的python脚本。!binshCopyright(C)20152020,WazuhInc。CreatedbyWazuh,Inc。infowazuh。com。Thisprogramisfreesoftware;youcanredistributeitandormodifyitunderthetermsofGPWPYTHONBINframeworkpythonbinpython3SCRIPTPATHNAME0DIRNAME(cd(dirname{SCRIPTPATHNAME});pwdP)SCRIPTNAME(basename{SCRIPTPATHNAME})case{DIRNAME}inactiveresponsebinwodles)if〔z{WAZUHPATH}〕;thenWAZUHPATH(cd{DIRNAME}。。。。;pwd)fiPYTHONSCRIPT{DIRNAME}{SCRIPTNAME}。py;;bin)if〔z{WAZUHPATH}〕;thenWAZUHPATH(cd{DIRNAME}。。;pwd)fiPYTHONSCRIPT{WAZUHPATH}frameworkscripts{SCRIPTNAME}。py;;integrations)if〔z{WAZUHPATH}〕;thenWAZUHPATH(cd{DIRNAME}。。;pwd)fiPYTHONSCRIPT{DIRNAME}{SCRIPTNAME}。py;;esac{WAZUHPATH}{WPYTHONBIN}{PYTHONSCRIPT}为了使wazuh成功运行集成脚本,我在wazuh管理器的confi文件varossecetcossec。conf中加入了以下几行。我还输入了IP地址、端口和之前生成的API密钥。ossecconfigintegrationnamecustomw2thivenamehookurlhttp:10。1。1。34:9000hookurlbsUW9HBLkDbw4tHeiAwQw413El3qO4Wapikeyjsonalertformatintegrationossecconfig我用sudosystemctl重新启动了wazuhmanager服务。为了测试theHive是否在接收日志,我以其中一个用户的身份登录,我可以看到所有创建的案例,并对它们进行深入研究,以及分配给组织内的用户。

一兆瓦等于多少千瓦(1兆瓦光伏电站一天能发多少度电)最近有很多朋友在后台留言询问光伏发电量有多少的问题,在此小编以1兆瓦光伏发电量有多少为例,给大家详细说明,包括1兆瓦光伏发电量,1。5兆瓦光伏发电量,1。6兆瓦光伏发电量的问题……雷达不是皮卡品牌,户外标签能否为吉利开启一扇窗?7月12日晚,吉利旗下的雷达汽车(RADAR)正式发布,其首款基于SEA浩瀚架构打造的纯电皮卡RD6正式亮相,新车型纯电续航里程超600公里。官方称,雷达汽车未来还将规划……凯美瑞和雅阁哪个好(b级车口碑最好的车)近日,10月份的销量榜单正式出炉,宏光MINIEV以47834辆的成绩正式超越轩逸,夺得轿车销量榜的冠军。当然此次销量榜单除了冠军易主的看点外,B级车凯美瑞销量达到25285辆……孩子缺乏自信的五大原因很多家长朋友发现自家小孩总是表现得唯唯诺诺,不敢大声讲话,羞于与其他小朋友交流玩耍等不自信的表现,总是会感到焦急。或者是自己时常自卑,缺乏自信,如何去提升自身或者小孩的自信呢?……NBA史上五个位置天花板小前锋詹皇,分卫乔丹,每个都很难超越在小球时代到来之后似乎对于小前锋的加成是更大的,如果15年算是小球时代的开端,那么过去8年小前锋拿下了6个FMVP,统治力尽显。虽说小球时代到来之后控卫的战术地位更高了,但是对……本科学历是什么学位(买一个本科学位多少钱)靠卖两份,月入十来万工地打工,月入好几万卖麻辣烫,月入十来万很多大老板都是小学学历,身价也有几百万上千万机遇,运气,时代,这些我们能够按部就班地复制过来……活血化瘀散结止痛,这个千古良方,能够让人疼痛消失,喜笑颜开大家好,我是张老师,今天给大家说个有意思的散结奇材。在一些影视剧里,会发现一些经过戏剧化处理的药物,这些药物常常会让人表现出不同的病症,夸张的描绘说什么行走步数不能超过十……人民币在全球排第5,美元占比不断降低,哪些国家在中国前面?国际货币基金组织发布了一份最新数据,从中我们可以看到,在全球各央行的外汇储备中,人民币的占比不断的攀升,目前排在了第5位。由于美联储随意的放水,又任性的加息和缩表,为全球……汽车行业巨震!大众集团现任CEO遭罢免蔚来特斯拉或成下家北京时间7月23日,大众汽车集团官方宣布,已票选出奥利弗布鲁姆(OliverBlume)为新任集团CEO,并将于今年9月1日起正式接替现任CEO赫伯特迪斯(HerbertDie……本科上面是什么学历(本科之后依次是什么学历)中国的学历从低到高1、小学2、初中2、中专(正常初中读完读高中,但是高中考不上的或者考生放弃读高中可以选择中专,中专学历是初中之上,高中之下)4、高中(……怎么锻炼腿部力量(提高腿部力量的训练方法)导语:人的衰老是会从腿部先开始的,一直都有一句古话是树老根先枯,人老腿先衰,随着身体年龄的逐渐增加,各种和腿部想关的疾病也就会相应的出现,腿部本身就是只要支撑着我们日常的行走和……信用卡止付是什么意思(信用卡6千我坐牢了)刷信用卡时如果出现止付,在自身没做其他操作的情况下,很容易不知如何是好。什么是信用卡止付?信用卡止付是银行防止伪卡或者盗卡等有风险行为的一种防范措施;止付的类……
林志颖遭遇车祸从小父母离异,他的亲情和婚姻也有泪和痛点击关注,每天都有名人故事感动您!林志颖与双胞胎儿子最近,著名演员、歌手林志颖多次上热搜,并不是因为他的事业或花边新闻,而是一场令人痛心的车祸。2022年7月……5年1。8亿!5年1。4亿!威金斯普尔合同曝光,勇士老板果然今夏休赛期,全联盟很多强队都在补充阵容。总决赛输给勇士的绿军,他们交易得到了布罗格登,签约了加里纳利,这些都是非常优秀的引援。快船队引入状元秀沃尔,伦纳德和保罗乔治他们终于有了……iOS15。5新版本推送,这两个问题已修复了,适合这些用户升对于智能手机来说一个重要的特点就是可以升级更新系统来获得最新的功能跟体验,除了新功能之外我们也可以通过升级更新系统来修复手机所出现的问题。苹果本周向iPhone手机推送了……崩坏3求生探索2攻略求生探索攻略二通关流程崩坏3求生探索2怎么通关?求生探索第二个关卡的难度比较高,成功的难住了不少的小伙伴们,因此玩家想要了解清楚求生探索2的通关方法,小编这就在下面的攻略中给大家分享求生探索2图文通……海外双十一叠加世界杯税务风控莫遗漏今年海外双十一和黑色星期五大促首次遇上世界杯这一全球热点,消费者喜迎购物狂欢节,球迷纵享球赛盛宴,跨境商家则要面对接踵而至的商机浪潮。艾珆资产管理中心提醒中国商家也在11月份迎……CBA3消息林书豪官宣被裁,孙铭徽怒骂队友,赵继伟厌战不想打CBA赛目前正在进行常规赛第五轮比赛的争夺,20支球队当中除了浙江队保持不败的战绩以外,其他所有球队都遭遇了输球的尴尬。本赛季开始至今,联盟当中的格局和以往相比完全不同,尤其是……牧区撸狗需谨慎,小心藏区虫癌!随着经济的发展和交通的便利,爱好高原旅游和到藏区经商、办公的人越来越多,除了高原壮丽的自然景色,那里还有黑白交织的牛群和羊群,挥鞭打马走过的藏族小伙姑娘,牛羊之间跑动穿梭的藏獒……北京延庆姜家民宿改造,建筑尺寸18X14,土建造价35万北京延庆姜家民宿改造(1078)建筑地址:北京市延庆区界石碑村建筑风格:新中式,高端定制,现代建筑尺寸:18X14结构形式:砖混建筑面积:400土建造价:35万委托项目申请项目……入夏后,早餐推荐这10款,步骤详细做法简单,照着做,每天不犯明天就立夏了,今儿给大家推荐10款好吃又营养的早餐,着做,每天早餐都不用犯愁了,下面我们就一起来看看吧!1、油饼面团:面粉200克盐2克酵母3克鸡蛋2个清水250毫……刘翔母亲吉粉花陪儿子走过的田径风雨岁月,如今的婚姻让我放心他在外是为人称赞的国家英雄,在家却是母亲眼里的叛逆少年。面对刘翔捧回家的各种奖牌,作为母亲的吉粉花却不喜反忧:若是有一天你不再优秀,还会有人喜欢你、支持你吗?……神秘的西藏,梦幻的藏魅《酥油花》心底永恒的情怀〔转自扎西措姆〕1hr昨夜,我们聊起酥油花我看过,确实看过,却记得不那么清楚层层叠叠的人群,都在探头,推挤是对酥油花的好奇,还是……1989年末,18岁李嘉欣随李嘉诚参加晚宴,次日发妻庄月明莫1989年的最后一个晚上,李嘉诚带着李嘉欣参加了晚宴,同时还带着他的发妻庄月明,看似一个简单的宴会,但在之后却发生了谁都没有想到的事情。第二天,李府就传出了庄月明因心脏病……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网