专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

使用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是否在接收日志,我以其中一个用户的身份登录,我可以看到所有创建的案例,并对它们进行深入研究,以及分配给组织内的用户。

深入学习IO多路复用selectpollepoll实现原理作者mingguangtu,腾讯IEG后台开发工程师selectpollepoll是Linux服务器提供的三种处理高并发网络请求的IO多路复用技术,是个老生常谈又不容易弄清楚其底层wxPython事件标识符实战wxPython系列013在wxPython事件系统中,事件是通过标识来区分的,每个事件标识在其实就是一个独一无二的整数,常见的事件标识有窗口标识,标准标识以及定制事件标识等等人民日报金句摘抄曙光就在前头,坚持就是胜利(1月20)主题关键词教育数字化出处慕课打开教育数字化新空间金句摘抄1。工作之余,很多人都有充充电加加油的想法。慕课等在线教育的兴起,让越来越多人有了继续学习的兴趣和机会。2。慕课等在线教育,老QQ号有多大价值?内行人一语道破满足条件,或许能换辆车引言在当今这个网络发展迅猛的时代,我们享受着互联网给我们带来的种种便利体验,网络方便了我们的生活也给我们跨越空间时间的交流提供了桥梁,现在各种互联网社交平台层出不穷。但若说到古早的ampampquotXBB。1。5不是终点纽约一项研究显示,从发现新变异株,到感染者所占比例升至30,新冠变异株BQ。1用了26天,XBB。1。5只用了17天。2022年的最后一周,XBB。1。5在纽约迅速取代BQ。1BQ互联网我们都是追梦人,合作共赢开创未来!中国梦是千载难逢前所未有绝无仅有的历史性特大机遇。是特殊人群,特殊的时空和特殊的经营模式,共同创造的一个民族经济大复兴的特大机遇。是民在前官在后,官民合作,民富国强,共赢共荣的特大iPhone15Pro大概率涨价!工薪阶层别考虑中关村在线消息1月22日,据相关爆料,为了与iPhone15Plus拉开差异,iPhone15Pro的价格可能会迎来上涨,避免出现iPhone14Plus今年的情况。根据现有情况来聊天机器人ChatGPT,是教育的毒药还是良药?哲学教授安东尼奥曼在批改论文时,读到了他所谓的全班最好的论文。写这篇论文的学生最终承认自己使用了ChatGPT。聊天机器人ChatGPT引发了人们对教育领域的担忧,但ChatGPT为什么我觉得目前5G是骗局?因为中国终于开始触及产业方向试错的问题了。我记得袁岚峰在节目里说过,中国搞原子弹氢弹这么快,最大的便宜是知道了这两个东西是搞得成的,很多早期的可行性论证就省略了。要不然一定有人跳出大年初一海南离岛免税购物人气旺1月22日,正值中国农历正月初一,cdf三亚国际免税城吸引众多顾客前来购物。据了解,春节假期期间,海南各免税店针对离岛旅客制定了一系列优惠活动,吸引游客入店消费。顾客在cdf三亚国今天大年初二,祝生活蒸蒸日上,如火如兔!消费对经济具有持久拉动力,事关保障和改善民生。为释放消费潜力,促进消费持续恢复,2022年都有哪些消费措施与你我生活息息相关?中国政府网国务院客户端带你看。新的一年,祝生活蒸蒸日上
怀孕检查可以用医保卡报销吗?只要是医保和生育保险合并的地区就可以用医保卡报销。医保与生育保险合并现在医改的成绩之一就是将两个保险合并。不过也是循序推进,只有在一些地区先执行,再慢慢推广到全国。一些量两者合并的25岁每年交1万存银行,30年后够养活自己吗?大家好!我是空谷寒潭。题主设想每年交存银行1万,连续30年,退休后使用,理念与年金保险的概念有点相似。但是,由于银行存款的利息收入相对较低,我认为实际上是跑不赢通胀的,因此无论如何如果信用卡逾期,被一家银行起诉,要不要向法院坦白另外银行的债务呢?信用卡不用你自己坦白,法院只要查一下,就知道你有多少债务了,因为法院是有权限查询个人信息的,通过法院查询系统就可以知道你目前在哪些银行有信用卡,透支了多少额度。不同银行的债务是相互一天内,从一张银行卡转账到另一个银行卡5000万行吗?分情况,首先转账是有限额的,其次这么大额的支出你觉得银行会轻易的让你转走?先和大家分享一下各行行内转账的限额吧!工商银行转账单笔不能超过50万,每日不能超过250万民生银行转账单笔肝硬化有什么症状?大家都知道,肝硬化与肝癌关系密切,肝硬化发展下去就会变为肝癌,所以我们要了解肝硬化的症状,好方便我们及时治疗,避免演变为肝癌。肝硬化有几个阶段的发展第一,在代偿期间内,肝硬化患者没孕早期肚子隐隐作痛正常吗?孕早期肚子隐隐作痛正常吗?孕早期肚子隐隐作痛可能是正常的,如果逐渐加重,或伴有其他不适,需要及时就诊。孕早期胚胎着床,子宫增大,可压迫周围组织和器官,牵拉子宫韧带等,导致腹部隐痛,在安徽省,安庆人的评价怎么样?天上九头鸟,地下湖北佬。三个湖北佬,搞不过一个安庆佬。安庆人是真精明,读书也厉害。其他好像和别的地方人也没什么区别了吧?我在合肥读书工作生活十多年了,接触到的安庆人无数,有同事,有像蒋欣这种身材微胖,骨架大的妹子如何穿搭才能更显瘦呢?谢邀!其实蒋欣的身材特点区别于娱乐圈绝大多数女明星,她原本就是属于身材比较大号的女性,只要身材稍微走形,就会立马让人有臃肿肥胖的感觉,那么像蒋欣这样身材的普通人,在日常生活中应该怎LOL永恩是谁?先说关系封魔剑魂永恩是疾风剑豪亚索的哥哥封魔剑魂永恩封魔剑魂永恩是英雄联盟中新推出的英雄,在英雄联盟背景故事中是疾风剑豪亚索同母异父的哥哥。生前的永恩,恪守着忠义师道。从很小的时候这几天家里电压170v都不到,影响电器的使用寿命吗?家电压低至170以下会影响部分电器的寿命,而对另外一些的寿命没有影响。受影最大的是冰箱洗衣机空调等直接用交流电机做动力的电器。因为这些电器在很多情况下是带着一定负荷来启动的。当电压CPU用久了,性能不会下降吗?为什么?CPU本身属于超高密度的半导体芯片,本身是并不会因为长时间的使用而降低性能,但是CPU是有耐高温极限的,如果CPU内部的晶体管长时间在90度以上的高温运行,那么则有可能加速内部的电
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网