NXLog
NXLog是一种将文件转换为syslog的工具,当应用程序生成的日志输出不被InsightIDR接受时,该工具非常有用。
安装和配置NXLog
在您的环境中开始使用NXLog:
- 下载NXLog的最新版本:http://nxlog.co/products/nxlog-community-edition/download
- 在本地安装NXLog,并将ROOT设置为NXLog所在的文件夹,否则NXLog将无法启动。路径应该如下所示:
C:\Program Files (x86)\nxlog\conf\nxlog.conf - 安装完成后,请停止NXLog服务。
- 2 .打开NXLog配置文件,粘贴如下内容,并根据您的账号进行调整:
示例配置文件
1
##这是一个示例配置文件。请参见nxlog相关参考手册
2
# #配置选项。它应该安装在本地,也可以使用
3.
##在线http://nxlog.org/docs/
4
5
##设置nxlog的ROOT文件夹
6
##否则它将不会启动。
7
8
#define ROOT C:\Program Files\nxlog
9
定义ROOT C:\Program Files (x86)\nxlog
10
11
Moduledir %根% \模块
12
CacheDir %根% \数据
13
Pidfile % % \ data \ nxlog.pid根源
14
SpoolDir %根% \数据
15
日志文件% % \ data \ nxlog.log根源
16
17
<扩展_syslog >
18
模块xm_syslog
19
> < /扩展
20.
21
<输入>
22
模块im_msvistalog
23
ReadFromLast真实
24
#对于windows 2003及更早版本,请使用以下命令:
25
#模块im_mseventlog
26
27
查询< QueryList > \
28
<查询Id = " 0 "路径=“安全”> \
29
30.
< /查询> \
31
< / QueryList >
32
33
输入> < /
34
35
< >输出出来
36
模块om_tcp
37
主机COLLECTOR-HOST-NAME
38
港口COLLECTOR-PORT
39
Exec to_syslog_snare ();
40
< / >输出
41
42
<路线1 >
43
路径in => out
44
> < /路线
有关其他配置选项,请参见NXLog参考手册。http://nxlog.org/docs/
- 重启NXLog服务。
现在可以使用新的NXLog配置。
收集Windows服务器日志
如果您需要从您的环境中收集安全日志事件,但不想使用Domain Admin帐户,您可以配置NXLog为您收集事件。
可以通过以下配置文件收集安全日志:
活动目录
通过NXLog可以收集Active Directory的域控制器安全日志。
使用NXLog收集安全日志:
- 在域控制器上安装NXLog。
- 创建一个
新nxlog.conf文件替换默认文件。这个文件的默认位置是C:\Program Files (x86)\nxlog\conf. - 以收集并转发域控制器安全日志到InsightIDR Collector为例,配置文件如下:
文本
1
# nxlog.conf示例文件可以用来读取Microsoft安全日志,并通过syslog发送到InsightIDR。
2
#将日志以syslog_snare格式发送到InsightIDR。
3.
4
#define ROOT C:\Program Files\nxlog
5
定义ROOT C:\Program Files (x86)\nxlog
6
7
Moduledir %根% \模块
8
CacheDir %根% \数据
9
Pidfile % % \ data \ nxlog.pid根源
10
SpoolDir %根% \数据
11
日志文件% % \ data \ nxlog.log根源
12
13
<扩展_syslog >
14
模块xm_syslog
15
> < /扩展
16
17
<输入in_securitylog >
18
模块im_msvistalog
19
查询< QueryList > \
20.
<查询Id = " 0 " > \
21
<选择路径= "安全" > < /选择> \
22
< /查询> \
23
< / QueryList >
24
< Exec >
25
$Message = replace($Message, "\t", " ");$Message = replace($Message, "\n", " ");$Message = replace($Message, "\r", " ");
26
raw_event =美元消息;
27
to_syslog_snare ();
28
< / Exec >
29
输入> < /
30.
31
<输出out_securitylog >
32
模块om_udp
33
# InsightIDR采集器的IP地址
34
主机192.168.0.46
35
#这是事件源上配置的端口
36
端口10341
37
< / >输出
38
39
<路线1 >
40
路径in_securitylog = > out_securitylog
41
> < /路线
微软DHCP
您可以通过NXLog收集Microsoft DHCP的DHCP日志。
使用NXLog收集Microsoft DHCP日志。
- 在DHCP服务器上安装NXLog
- 创建一个新的
nxlog.conf文件替换默认文件。这个文件的默认位置是C:\Program Files (x86)\nxlog\conf. - DHCP日志收集并转发到InsightIDR采集器,以配置文件为例:
文本
1
# nxlog.conf示例文件可以用来读取Microsoft DHCP日志文件,并通过syslog发送到InsightIDR。
2
#将日志以syslog_bsd格式发送到InsightIDR。
3.
4
#define ROOT C:\Program Files\nxlog
5
定义ROOT C:\Program Files (x86)\nxlog
6
7
Moduledir %根% \模块
8
CacheDir %根% \数据
9
Pidfile % % \ data \ nxlog.pid根源
10
SpoolDir %根% \数据
11
日志文件% % \ data \ nxlog.log根源
12
13
<扩展_syslog >
14
模块xm_syslog
15
> < /扩展
16
17
<输入in_dhcp >
18
模块im_file
19
#修改以下位置为DHCP日志所在的位置。
20.
文件“C: \ \ Windows \ \ Sysnative \ \ dhcp \ \ DhcpSrvLog - * . log”
21
InputType LineBased
22
SavePos真实
23
< Exec >
24
如果$raw_event =~ /^#/ drop();
25
其他的
26
{
27
to_syslog_bsd ();
28
}
29
< / Exec >
30.
输入> < /
31
32
< >输出出来
33
#如果您希望使用tcp而不是udp发送日志,请将下面的模块修改为om_tcp。
34
模块om_udp
35
# InsightIDR采集器的IP地址
36
主机192.168.0.156
37
#这是事件源上配置的端口
38
端口10400
39
< / >输出
40
41
<路线1 >
42
路径in_dhcp = >
43
> < /路线
微软DNS
您可以通过NXLog收集Microsoft DNS服务器的DNS日志。
使用NXLog收集DNS日志。
- 在DNS服务器上安装NXLog
- 创建一个新的
nxlog.conf文件替换默认文件。这个文件的默认位置是C:\Program Files (x86)\nxlog\conf. - 启用DNS文件翻转功能。看到DNS页,获取关于如何启用滚动的说明。
- DNS日志收集并转发到InsightIDR采集器,以配置文件为例:
文本
1
# nxlog.conf示例文件可以用来读取Microsoft DNS日志文件,并使用加密的syslog发送到InsightIDR。
2
#将日志以syslog_bsd格式发送到InsightIDR。#define ROOT C:\Program Files\nxlog
3.
4
定义ROOT C:\Program Files (x86)\nxlog
5
6
Moduledir %根% \模块
7
CacheDir %根% \数据
8
Pidfile % % \ data \ nxlog.pid根源
9
SpoolDir %根% \数据
10
日志文件% % \ data \ nxlog.log根源
11
12
<扩展_syslog >
13
模块xm_syslog
14
> < /扩展
15
16
<输入in_dns >
17
模块im_file
18
文件c: \ dnslogs \ dns * . log的
19
InputType LineBased
20.
SavePos真实
21
< Exec >
22
如果$raw_event =~ /^#/ drop();
23
其他的
24
{
25
to_syslog_bsd ();
26
}
27
< / Exec >
28
输入> < /
29
30.
<输出out_dns >
31
模块om_udp
32
# InsightIDR采集器的IP地址
33
主机192.168.0.46
34
#这是事件源上配置的端口
35
端口10350
36
< / >输出
37
38
<路线1 >
39
路径in_dns = > out_dns
40
> < /路线
Microsoft Exchange消息跟踪日志
您可以通过NXLog收集Microsoft Exchange Message Tracking日志。
使用NXLog收集Microsoft Exchange Message Tracking日志:
- 在Exchange服务器上安装NXLog
- 创建一个新的
nxlog.conf文件替换默认文件。这个文件的默认位置是C:\Program Files (x86)\nxlog\conf. - 以以下配置文件为例,收集并转发Message Tracking日志到InsightIDR采集器:
文本
1
示例nxlog.conf文件可用于收集Exchange Message Tracking Log并将其发送给InsightIDR。
2
#define ROOT C:\Program Files\nxlog
3.
定义ROOT C:\Program Files (x86)\nxlog
4
5
Moduledir %根% \模块
6
CacheDir %根% \数据
7
Pidfile % % \ data \ nxlog.pid根源
8
SpoolDir %根% \数据
9
日志文件% % \ data \ nxlog.log根源
10
定义CertDir C:\Program Files (x86)\nxlog\cert
11
12
定义nxlog要使用的模块。
13
14
<扩展json >
15
模块xm_json
16
> < /扩展
17
18
<扩展_syslog >
19
模块xm_syslog
20.
> < /扩展
21
22
<扩展MessageTrackingLog >
23
模块xm_csv
24
字段日期时间、客户端ip美元,美元client-hostname,服务器ip美元,美元的服务器主机,source-context美元,连接器id美元,美元来源,标识符美元,internal-message-id美元,美元问题,network-message-id美元,美元的收件人地址,recipient-status total-bytes美元,美元$ recipient-count related-recipient-address美元,美元参考,信息主题美元,sender-address美元,美元回传)message-info美元,方向性,美元承租者id, original-client-ip美元,original-server-ip美元,美元定义数据,transport-traffic-type log-id,架构版本美元美元
25
#FieldTypes string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string
26
分隔符,
27
QuoteMethod没有
28
> < /扩展
29
30.
<输入in_MessageTrackingLog >
31
模块im_file
32
文件的c: \ logs \ * . log的日志文件
33
InputType LineBased
34
SavePos真实
35
PollInterval 1
36
< Exec >
37
如果$raw_event =~ /^#/ drop();
38
其他的
39
{
40
MessageTrackingLog - > parse_csv ();
41
$EventTime = parsedate($date + " " + $time);
42
$ SourceName =“MessageTrackingLog”;
43
$ raw_event = to_json ();
44
}
45
< / Exec >
46
输入> < /
47
48
<输出out_MesssageTrackingLog >
49
模块om_udp
50
# InsightIDR采集器的IP地址
51
主机192.168.0.156
52
#通用事件源上配置的端口
53
端口10060
54
< / >输出
55
56
<路线1 >
57
路径in_MessageTrackingLog = > out_MesssageTrackingLog
58
> < /路线
创建这个替换文件之后,配置一个自定义日志事件源。
Microsoft IIS
通过NXLog可以收集Microsoft IIS的日志信息。
使用NXLog收集IIS日志。
- 在IIS服务器上安装NXLog。
- 创建一个新的
nxlog.conf文件替换默认文件。这个文件的默认位置是C:\Program Files (x86)\nxlog\conf. - 使用以下配置文件收集和转发IIS日志到您的InsightIDR收集器:
文本
1
##这是一个示例配置文件。请参见nxlog相关参考手册
2
# #配置选项。它应该安装在本地,也可以使用
3.
##在线http://nxlog.org/nxlog-docs/en/nxlog-reference-manual.html
4
##设置nxlog的ROOT文件夹
5
##否则它将不会启动。
6
#define ROOT C:\Program Files\nxlog
7
定义ROOT C:\Program Files (x86)\nxlog
8
Moduledir %根% \模块
9
CacheDir %根% \数据
10
Pidfile % % \ data \ nxlog.pid根源
11
SpoolDir %根% \数据
12
日志文件% % \ data \ nxlog.log根源
13
#在旋转日志或调试时包含fileop
14
# <扩展相>
15
#模块xm_fileop
16
# > < /扩展
17
<扩展json >
18
模块xm_json
19
> < /扩展
20.
#创建IIS日志解析规则。您可以从IIS日志文件的头文件中复制这些文件。
21
<扩展w3c >
22
模块xm_csv
23
字段:$date, $time, $s_ip, $cs_method, $cs_uri_stem, $cs_uri_query, $s_port, $cs_username, #$c_ip, $cs_User_Agent, $cs_Referer, $sc_status, $sc_substatus, $sc_win32_status, $time_taken
24
FieldTypes string, string, string, string, string, string, integer, string, string, #string, integer, integer, integer
25
分隔符' '
26
> < /扩展
27
#将IIS日志转换为JSON,并使用原始事件时间
28
<输入IIS_Site1 >
29
模块im_file
30.
文件“C: \ inetpub \ \ logs \ \日志\ \ W3SVC1 \ \ u_ex *”
31
SavePos真实
32
33
Exec if $raw_event =~ /^#/ drop(); / /删除事件\
34
其他\
35
{\
36
w3c - > parse_csv ();\
37
$EventTime = parsedate($date + " " + $time);\
38
$ SourceName =“IIS”;\
39
$ raw_event = to_json ();\
40
}
41
输入> < /
42
<输出IIS_Site1_out >
43
模块om_udp
44
主机< IDR_COLLECTOR_IP / DNS >
45
港< IDR_EVENT_PORT >
46
#请注意,如果您在日志搜索中看不到IIS日志,您将需要取消下面的行注释。
47
# Generic Syslog事件源要求日志有一个Syslog报头,由RFC3164指定。这将在日志中添加所需的RFC3164 syslog头。
48
# Exec to_syslog_bsd ();
49
< / >输出
50
<路线IIS_Site1 >
51
路径IIS_Site1_out =>
52
> < /路线
创建这个替换文件之后,配置一个通用的SyslogInsightIDR中的事件源,它将IIS日志解析为日志搜索的可搜索格式。
发送加密的日志
如果您希望使用加密的syslog日志将日志传输到InsightIDR,可以使用om_ssl在输出模块中。例如:
文本
1
#从InsightIDR下载证书,并将其放在下面指定的文件夹中。
2
<输出out_dns >
3.
模块om_ssl
4
# InsightIDR采集器的IP地址
5
主机10.10.10.10
6
#这是事件源上配置的端口
7
端口10001
8
#指定证书位置,默认位置是nxlog\cert。
9
CAFile % CertDir % \ Rapid7CA.pem
10
< / >输出
其他的例子
可以有多个“进”和“出”部分nxlog.conf文件。例如,如果需要收集单个服务器的安全日志、DHCP日志和DNS日志,可以采用如下方式nxlog.conf文件:
文本
1
这个nxlog.conf文件可以用来从域控制器读取Windows安全日志、DHCP和DNS日志。
2
#define ROOT C:\Program Files\nxlog
3.
定义ROOT C:\Program Files (x86)\nxlog
4
5
Moduledir %根% \模块
6
CacheDir %根% \数据
7
Pidfile % % \ data \ nxlog.pid根源
8
SpoolDir %根% \数据
9
日志文件% % \ data \ nxlog.log根源
10
11
<扩展_syslog >
12
模块xm_syslog
13
> < /扩展
14
15
#收集安全日志。
16
<输入in_securitylog >
17
模块im_msvistalog
18
查询< QueryList > \
19
<查询Id = " 0 " > \
20.
<选择路径= "安全" > < /选择> \
21
< /查询> \
22
< / QueryList >
23
< Exec >
24
$Message = replace($Message, "\t", " ");$Message = replace($Message, "\n", " ");$Message = replace($Message, "\r", " ");
25
raw_event =美元消息;
26
to_syslog_snare ();
27
< / Exec >
28
输入> < /
29
30.
#收集Microsoft DHCP日志。
31
<输入in_dhcp >
32
模块im_file
33
#修改以下位置为DHCP日志所在的位置。
34
文件“C: \ \ Windows \ \ Sysnative \ \ dhcp \ \ DhcpSrvLog - * . log”
35
InputType LineBased
36
SavePos真实
37
< Exec >
38
如果$raw_event =~ /^#/ drop();
39
其他的
40
{
41
to_syslog_bsd ();
42
}
43
< / Exec >
44
输入> < /
45
46
#收集Microsoft DNS日志。
47
<输入in_dns >
48
模块im_file
49
文件c: \ dnslogs \ dns * . log的
50
InputType LineBased
51
SavePos真实
52
< Exec >
53
如果$raw_event =~ /^#/ drop();
54
其他的
55
{
56
to_syslog_bsd ();
57
}
58
< / Exec >
59
输入> < /
60
61
<输出out_securitylog >
62
模块om_udp
63
# InsightIDR采集器的IP地址
64
主机192.168.0.46
65
#这是事件源上配置的端口
66
端口10001
67
# Exec to_json ();消息= raw_event美元;
68
< / >输出
69
70
<输出out_dhcp >
71
#如果您希望使用tcp而不是udp发送日志,请将下面的模块修改为om_tcp。
72
模块om_udp
73
# InsightIDR采集器的IP地址
74
主机192.168.0.46
75
#这是事件源上配置的端口
76
端口10101
77
< / >输出
78
79
<输出out_dns >
80
模块om_udp
81
# InsightIDR采集器的IP地址
82
主机192.168.0.46
83
#这是事件源上配置的端口
84
端口10201
85
< / >输出
86
87
<路线1 >
88
路径in_securitylog = > out_securitylog
89
> < /路线
90
91
2 > <路线
92
路径in_dhcp = > out_dhcp
93
> < /路线
94
95
< 3 >
96
路径in_dns = > out_dns
97
> < /路线
这个页面对你有帮助吗?