wazhu之agent manage

 

代理生命周期

注册代理

一旦代理程序安装在要监控的计算机上,就必须向Wazuh管理器注册才能建立通信。这可以通过命令行AuthdRESTful API完成

注册代理将保留在管理器中,直到用户将其删除。在任何给定时间内,代理可能有四种不同的状态,如下图所示:

代理状态

  • 从未连接:代理已注册但尚未连接到管理器。
  • 待定 身份验证过程正在等待:管理服务器已收到来自代理的连接请求,但尚未收到任何其他内容。这可能表示防火墙问题。代理将在其连接生命周期中处于此状态一次。
  • 活动:代理已成功连接,现在可以与管理器通信。
  • 已断开连接:如果代理在半小时内未收到来自代理的任何消息,则管理员将认为代理已断开连接。

删除代理

从agent主机的管理器中删除代理程序后,连接生命周期即将结束。这可以通过RESTful API命令行或Authd完成(如果启用了force选项)。


强制插入

如果您尝试添加具有已注册到其他代理的IP地址的代理,该manage_agents命令将返回错误。您仍然可以使用-F选项强制添加。

列如:

安装了名为Server1的IP 10.0.0.10 的代理,并且ID为005.如果我们假设必须重新安装服务器,则必须重新安装新的代理并将其连接到管理器。在这种情况下,我们可以使用参数-F  0,这意味着将删除先前的代理(005)(使用备份),并且将使用IP重新创建新代理。新代理将具有新ID:

/var/ossec/bin/manage_agents -n Server1 -a 10.10.10.10 -F 0

列出代理

运行 /var/ossec/bin/agent_control 可列出代理的连接状态:

[root@wazhu-manage ~]# /var/ossec/bin/agent_control -l
Wazuh agent_control. List of available agents:
   ID: 000, Name: wazhu-manage (server), IP: 127.0.0.1, Active/Local
   ID: 001, Name: agent01, IP: 45.77.105.194, Active
   ID: 002, Name: agent02, IP: 155.138.165.154, Active
   ID: 003, Name: agent03, IP: 45.77.93.54, Active
   ID: 004, Name: agent04, IP: 45.77.4.139, Active
List of agentless devices:
 

删除代理

运行 /var/ossec/bin/manage_agents 删除代理

如果要在删除代理之前进行确认,请使用以下命令:

[root@wazhu-manage ~]# /var/ossec/bin/manage_agents
 
    
 
    
****************************************
* Wazuh v3.8.0 Agent manager.          *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: R
 
    
Available agents: 
   ID: 001, Name: agent01, IP: 45.77.105.194
   ID: 002, Name: agent02, IP: 155.138.165.154
   ID: 003, Name: agent03, IP: 45.77.93.54
   ID: 004, Name: agent04, IP: 45.77.4.139
Provide the ID of the agent to be removed (or '\q' to quit): 004
Confirm deleting it?(y/n): Y
Agent '004' removed.
 
    
 
    
****************************************
* Wazuh v3.8.0 Agent manager.          *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: Q

如果您想在没有确认的情况下删除代理,请使用以下选项:

# /var/ossec/bin/manage_agents -r 001

****************************************
* Wazuh v3.8.0 Agent manager.          *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q:
Available agents:
   ID: 001, Name: new, IP: any
Provide the ID of the agent to be removed (or '\q' to quit): 001
Confirm deleting it?(y/n): y
Agent '001' removed.

** You must restart OSSEC for your changes to take effect.

manage_agents: Exiting.
 
 

列出代理连接状态

请求GET /agents 返回可用代理列表。

注意:GET是curl的默认操作,不需要特别引用。

[root@wazhu-manage ~]# curl -u wazuh-api:wazu123 "http://149.248.9.0:55000/agents?pretty"
{
   "error": 0,
   "data": {
      "totalItems": 5,
      "items": [
         {
            "status": "Active",
            "name": "wazhu-manage",
            "ip": "127.0.0.1",
            "manager": "wazhu-manage",
            "node_name": "node01",
            "dateAdd": "2019-01-21 09:58:43",
            "version": "Wazuh v3.8.0",
            "lastKeepAlive": "9999-12-31 23:59:59",
            "os": {
               "major": "7",
               "name": "CentOS Linux",
               "uname": "Linux |wazhu-manage |3.10.0-957.1.3.el7.x86_64 |#1 SMP Thu Nov 29 14:49:43 UTC 2018 |x86_64",
               "platform": "centos",
               "version": "7",
               "codename": "Core",
               "arch": "x86_64"
            },
            "id": "000"
         },
         {
            "status": "Active",
            "configSum": "ab73af41699f13fdd81903b5f23d8d00",
            "group": [
               "default"
            ],
            "name": "agent01",
            "mergedSum": "f8d49771911ed9d5c45b03a40babd065",
            "ip": "45.77.105.194",
            "manager": "wazhu-manage",
            "node_name": "node01",
            "dateAdd": "2019-01-22 07:14:26",
            "version": "Wazuh v3.8.0",
            "lastKeepAlive": "2019-01-22 18:11:46",
            "os": {
               "major": "16",
               "name": "Ubuntu",
               "uname": "Linux |agent01 |4.4.0-137-generic |#163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 |x86_64",
               "platform": "ubuntu",
               "version": "16.04.5 LTS",
               "codename": "Xenial Xerus",
               "arch": "x86_64",
               "minor": "04"
            },
            "id": "001"
         },
         {
            "status": "Active",
            "configSum": "ab73af41699f13fdd81903b5f23d8d00",
            "group": [
               "default"
            ],
            "name": "agent02",
            "mergedSum": "f8d49771911ed9d5c45b03a40babd065",
            "ip": "155.138.165.154",
            "manager": "wazhu-manage",
            "node_name": "node01",
            "dateAdd": "2019-01-22 09:29:21",
            "version": "Wazuh v3.8.0",
            "lastKeepAlive": "2019-01-22 18:11:39",
            "os": {
               "major": "16",
               "name": "Ubuntu",
               "uname": "Linux |agent02 |4.4.0-137-generic |#163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 |x86_64",
               "platform": "ubuntu",
               "version": "16.04.5 LTS",
               "codename": "Xenial Xerus",
               "arch": "x86_64",
               "minor": "04"
            },
            "id": "002"
         },
         {
            "status": "Active",
            "configSum": "ab73af41699f13fdd81903b5f23d8d00",
            "group": [
               "default"
            ],
            "name": "agent03",
            "mergedSum": "f8d49771911ed9d5c45b03a40babd065",
            "ip": "45.77.93.54",
            "manager": "wazhu-manage",
            "node_name": "node01",
            "dateAdd": "2019-01-22 10:15:26",
            "version": "Wazuh v3.8.0",
            "lastKeepAlive": "2019-01-22 18:11:42",
            "os": {
               "major": "16",
               "name": "Ubuntu",
               "uname": "Linux |agent03 |4.4.0-137-generic |#163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 |x86_64",
               "platform": "ubuntu",
               "version": "16.04.5 LTS",
               "codename": "Xenial Xerus",
               "arch": "x86_64",
               "minor": "04"
            },
            "id": "003"
         },
         {
            "status": "Active",
            "configSum": "ab73af41699f13fdd81903b5f23d8d00",
            "group": [
               "default"
            ],
            "name": "agent04",
            "mergedSum": "f8d49771911ed9d5c45b03a40babd065",
            "ip": "45.77.4.139",
            "manager": "wazhu-manage",
            "node_name": "node01",
            "dateAdd": "2019-01-22 10:34:01",
            "version": "Wazuh v3.8.0",
            "lastKeepAlive": "2019-01-22 18:11:43",
            "os": {
               "major": "16",
               "name": "Ubuntu",
               "uname": "Linux |agent04 |4.4.0-137-generic |#163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 |x86_64",
               "platform": "ubuntu",
               "version": "16.04.5 LTS",
               "codename": "Xenial Xerus",
               "arch": "x86_64",
               "minor": "04"
            },
            "id": "004"
         }
      ]
   }
}
 
    
 

删除代理

请求DELETE /agents/:agent_id删除指定的代理。

[root@wazhu-manage ~]# curl -u   wazuh-api:wazuh   -X  DELETE "http://149.248.9.0:55000/agents/003"
{"error":0,"data":{"msg":"All selected agents were removed","affected_agents":["003"]}}

 

使用Wazuh应用程序

列出agent:

您可以通过转到Wazuh应用程序中的Agents选项卡列出并查看有关所有已注册agent的基本信息:

显示代理

单击代理将显示有关该代理的更多信息:

 

 

 

检查与Manager的连接

在检查代理与管理器的连接之前,请首先确保代理指向管理器的IP地址。这是ossec.conf使用<client>XML标记设置的。有关详细信息,请参阅客户端参考

<ossec_config><client><server><address>149.248.9.0/address><protocol>udp</protocol></server></client></ossec_config>

这将设置149.248.9.0作为Wazuh Manager服务器。完成此操作后,您需要重新启动代理:

a.For Systemd:

# systemctl restart wazuh-agent

b.For SysV Init:

# service wazuh-agent restart

 

注册代理并且已成功连接后,您可以看到连接到管理器的代理列表:

[root@wazhu-manage ~]# /var/ossec/bin/agent_control -lc  #代理管理器
Wazuh agent_control. List of available agents:
   ID: 000, Name: wazhu-manage (server), IP: 127.0.0.1, Active/Local
   ID: 001, Name: agent01, IP: 45.77.105.194, Active
   ID: 002, Name: agent02, IP: 155.138.165.154, Active

您还可以通过验证是否已建立与管理器的UDP连接来检查代理是否正确连接:

root@agent02:~#  netstat -vatunp|grep ossec-agentd     #代理客服端上
udp        0      0 155.138.165.154:58599   149.248.9.0:1514        ESTABLISHED 5088/ossec-agentd

结果应与代理和管理器IP地址匹配。

agent_control部分中,您可以找到有关向管理器注册的代理的状态的信息。

 

分组代理

3.0.0版中的新功能。

配置注册代理有两种方法。可以使用ossec.conf文件在本地配置它们,也可以使用集中配置远程配置它们。如果使用集中式配置,则可以将代理分配给组,每个组具有唯一的配置。这极大地简化了整个配置过程。

除非另行指定,否则所有新代理都自动属于“默认”组。在安装过程中创建此组,并将配置文件放在/var/ossec/etc/shared/default/文件夹中。这些文件将从管理器推送到属于该组的所有代理。

1.以下是将代理分配给具有特定配置的组的步骤:

将代理添加到管理器后,使用agent_groups工具或 API将其分配给组。以下方法是将具有ID 002的代理分配给组“test01”示列:

使用agent_groups:

[root@wazhu-manage default]# cd /var/ossec/etc/shared

[root@wazhu-manage shared]# mkdir test01

[root@wazhu-manage shared]# /var/ossec/bin/agent_groups -a -i 002 -g test01

Do you want to add the group 'test01' to the agent '002'? [y/N]: y

Group 'test01' added to agent '002'.

使用API:

# curl -u wazuh-api:wazuh   -X PUT "http://localhost:55000/agents/002/group/test01?pretty"

注意:必须在分配代理之前创建和配置该组。

2.可以使用以下命令之一检查代理程序的组分配:

使用agent_groups:

[root@wazhu-manage shared]# /var/ossec/bin/agent_groups -l -g test01

1 agent(s) in group 'test01':

  ID: 002 Name: agent02.

使用API:

[root@wazhu-manage test01]# curl -u wazuh-api:wazuh -X GET "http://localhost:55000/agents/groups/test01?pretty"

{

   "error": 0,

   "data": {

      "totalItems": 1,

      "items": [

         {

            "status": "Active",

            "configSum": "1a0e4e4aa11b2b284200925e3026090f",

            "group": [

               "default",

               "test01"

            ],

            "name": "agent02",

            "mergedSum": "2bdddd3efec5ffb7ec1486e314c28eb7",

            "ip": "155.138.165.154",

            "manager": "wazhu-manage",

            "node_name": "node01",

            "dateAdd": "2019-01-22 09:29:21",

            "version": "Wazuh v3.8.0",

            "lastKeepAlive": "2019-01-23 02:22:58",

            "os": {

               "major": "16",

               "name": "Ubuntu",

               "uname": "Linux |agent02 |4.4.0-137-generic |#163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 |x86_64",

               "platform": "ubuntu",

               "version": "16.04.5 LTS",

               "codename": "Xenial Xerus",

               "arch": "x86_64",

               "minor": "04"

            },

            "id": "002"

         }

      ]

   }

}

 

创建组后,agent.conf可以编辑其文件以包含要分配给该组的特定配置。对于此示例,要编辑的文件位于/var/ossec/etc/shared/test01/agent.conf中,并且属于该组的每个代理都将接收此文件。在连接到管理器的20分钟内,分配给组的每个代理将从管理器接收“test01”文件夹中包含的agent.conf文件,包括在上一步中修改的文件。管理器将这些文件推送到代理程序所需的时间长度取决于文件的大小,组中的代理程序数以及使用的连接协议。例如,根据网络带宽和性能,使用UDP在100个代理上接收10 MB文件夹(不包括merged.mg文件)可能需要8分钟,但是如果使用TCP,则可能会更快地复制。一旦特定代理属于某个组,即使它是以其他名称或ID注册,它也会自动重新分配给该组。发生这种情况是因为当代理重新注册时,代理merged.mg发送的校验和将与向管理员注册的其他代理的校验和进行比较。然而,这不是默认的设置,而且,如果需要的话,必须明确地在local_internal_options.conf文件中通过添加选项remoted.guess_agent_group=1进行激活(参见remoted在内部选件)。

 

多个组

3.7.0版中的新功能。

自Wazuh v3.7.0起,代理可以属于多个组。代理将从每个组接收所有配置文件。从上次分配的组接收的配置优先于其他组。

管理多个组

此功能专注于以更高的细分级别自定义代理的配置。通过APIagent_groups 列出代理状态,同时也允许分配/变更/取消分配组,代理管理组。让我们看一下在现有代理上管理多个组的三个用例。

将多个组分配给代理

将多个组设置为代理很简单,有三种不同的方法可以将代理分配给一个或多个组:注册,CLI和API。

在此示例中,代理001已添加到Web服务器apache组。首先,使用API

[root@wazhu-manage default]# cd /var/ossec/etc/shared

[root@wazhu-manage shared]# mkdir webserver

[root@wazhu-manage shared]# mkdir apache

[root@wazhu-manage shared]# curl -u wazuh-api:wazuh -X PUT "http://localhost:55000/agents/001/group/webserver?pretty"

{

   "error": 0,

   "data": "Group 'webserver' added to agent '001'."

}

 

}
[root@wazhu-manage shared]# curl -u wazuh-api:wazuh -X PUT "http://localhost:55000/agents/001/group/apache?pretty"
{
"error": 0,
"data": "Group 'apache' added to agent '001'."
}

之后,我们可以向API询问代理所属的组:

[root@wazhu-manage shared]# curl -u wazuh-api:wazuh -X GET "http://localhost:55000/agents/001?pretty" { "error": 0, "data": { "status": "Active", "configSum": "1a0e4e4aa11b2b284200925e3026090f", "group": [ "default", "webserver", "apache" ], "name": "agent01", "mergedSum": "32990d31d5f43a96cf6ca1aa4f1d839b", "ip": "45.77.105.194", "manager": "wazhu-manage", "node_name": "node01", "dateAdd": "2019-01-22 07:14:26", "version": "Wazuh v3.8.0", "lastKeepAlive": "2019-01-23 02:32:46", "os": { "major": "16", "name": "Ubuntu", "uname": "Linux |agent01 |4.4.0-137-generic |#163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 |x86_64", "platform": "ubuntu", "version": "16.04.5 LTS", "codename": "Xenial Xerus", "arch": "x86_64", "minor": "04" }, "id": "001" } }
 

在这种情况下,当任何配置参数存在冲突时,组apache的远程配置是三个组中最优先的。

使用agent_groups CLI,代理可以以相同的方式注册到组:

[root@wazhu-manage shared]# /var/ossec/bin/agent_groups -a -i 001 -g webserver
Do you want to add the group 'webserver' to the agent '001'? [y/N]: y
Agent '001' already belongs to group 'webserver

[root@wazhu-manage shared]# /var/ossec/bin/agent_groups -a -i 001 -g apache Do you want to add the group 'apache' to the agent '001'? [y/N]: y Agent '001' already belongs to group 'apache'.

要在注册过程中将代理分配给一个或多个组,请使用-G选项注册代理设置代理将包含在的组:

root@agent01:~# /var/ossec/bin/agent-auth -m 149.248.9.0   -G  webserver,apache
2019/01/23 02:36:01 agent-auth: INFO: Started (pid: 18442).
INFO: No authentication password provided.
INFO: Connected to 149.248.9.0:1515
INFO: Using agent name as: agent01
INFO: Send request to manager. Waiting for reply.
INFO: Received response with agent key
INFO: Valid key created. Finished.
INFO: Connection closed.

列出组和配置

可以实时了解属于组的代理,以及根据其所属的组应用于每个代理的配置和共享文件。

例如,要列出现在可用的组,我们可以对agent_groups运行以下查询:

[root@wazhu-manage shared]# /var/ossec/bin/agent_groups -l -g webserver 1 agent(s) in group 'webserver': ID: 005 Name: agent01.

同样容易查询分配给代理001的组:

[root@wazhu-manage shared]# /var/ossec/bin/agent_groups -s -i 005 The agent 'agent01' with ID '005' belongs to groups: webserver, apache.

组的优先级从左到右增加,最后一个优先级最高。

对多个组进行更改

以同样的方式可以将多个组分配给代理,可以还原分配并在可用组之间切换。下面显示了如何取消代理001 的组apache

# /var/ossec/bin/agent_groups -r -i 001 -g apache -q
Group 'apache' unset for agent '001'.

# /var/ossec/bin/agent_groups -s -i 001
The agent 'ag-windows-12' with ID '001' has the group: '[u'webserver']'.

也可以在组覆盖现有分配之间切换:

# /var/ossec/bin/agent_groups -s -i 001
The agent 'ag-windows-12' with ID '001' has the group: '[u'default', u'webserver']'.
# /var/ossec/bin/agent_groups -a -f -i 001 -g apache
Group 'apache' set to agent '001'.
# /var/ossec/bin/agent_groups -s -i 001
The agent 'ag-windows-12' with ID '001' has the group: '[u'apache']'.

-f参数重置分配给代理的组,并强制它仅属于新组。

最后,要检查单个代理的组配置的同步状态,可以使用以下两种方法:

# /var/ossec/bin/agent_groups -S -i 001
The agent '008' sync status is: Agent configuration is synced.

# curl -u foo:bar -X GET "http://localhost:55000/agents/001/group/is_sync?pretty"
{
    "error": 0,
    "data": {
        "synced": "Agent configuration is synced."
    }
}

agent_groups的其余功能可以在其参考部分找到。对于提供具有类似行为的调用的API也是如此。

共享文件行为

如上所述,传统上管理器根据它们所属的组与其代理共享配置文件。

如果属于多个组,则按照下一个条件将每个组的配置文件合并为一个:

  • 共享文件(如用于rootkit检测的CIS基准)将加入共享文件夹,如果重复文件,则添加的最后一个文件将覆盖旧文件。
  • agent.conf添加的新文件将附加到现有文件中。当两个组具有冲突配置时,分配给代理的最后一个组将是前导组。在集中配置手册中了解有关配置优先级的更多信息。
  • 从用户设置到特定组的自定义共享文件也会加入,以将它们发送给代理。
 


 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

转载于:https://www.cnblogs.com/backlion/p/10329664.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值