一、应用场景
现在很多安全审核、认证、法规对于日志保存都有相应的规定。比如《中华人民共和国网络安全法》第三章第二十一条规定“采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月;”。
派拓防火墙通讯数量越多、策略越多,产生的日志就越多,在防火墙存储空间有限的情况,有可能日志保存时间不能达到相对的要求。
针对这种情况提出以下解决方案。
二、环境
防火墙型号:paloalt PA820
防火墙OS版本:9.1.16-h3
日志服务器系统:windows Server 2016
日志备份软件:Kiwi Syslog Server_9.5.0
一些其它说明:
Kiwi Syslog Server_9.5.0是一款收费软件。如果仅仅用于日志备份等基础功能,也有一些免费开源的软件可以实现,有一些甚至功能强大。这一类的软件很多是基于Linux平台的,很多人对于Linux平台不熟悉,上手有难度,比如我自己。所以我也找了找基于windows7平台下的免费开源软件,虽然不多,但还是有。比如:
visualsyslog
地址:https://github.com/MaxBelkov/visualsyslog。
配置上简单,且很轻。但功能较少点,稳定性未经长时间测试,不太清楚。
另外之所以选择Kiwi Syslog Server 9.5.0这个版本,而不是最新版本,也是基于多种原因。最主要是目前手上的硬件配置较差,但心最新的版本对资源要求太高。
以下仅围绕派拓防火墙的Syslog协议讲实现,不讲其它功能以及原理。
三、Kiwi_Syslog_Server安装
1、安装.NET Framework 3.5
(1)windows7到windows11安装.NET Framework 3.5
先检查电脑上是否已经安装了.NET Framework 3.5,如果没有进行安装。
在windows7到windows11的系统中,直接打开控制面板-程序-启用和关闭windows功能-选择**.NET Framework 3.5 (包括 .NET 2.0 和 3.0)-确定
即可。如下面的图2到图4所示:
不同的windows版本操作上略有区别,请根据自己的Windows版本进行调整。
(2)本例windows Server 2016安装.NET Framework 3.5略有不同
在windows Server 2016系统中直接打开控制面板-启用或关闭 windows 功能
,此时会打开“服务器管理器”,并自动进入“添加角度和功能向导”,如图5.
**直接按提示多次点击
下一步
,直到出现图9所示界面.
**在图9所示界面中勾选.NET Framwork 3.5 功能
,然后继续点示下一步
,出现图10.
**在图10所示界面中中勾选如果需要,自动重新启动目标服务器
,此时会弹出如图10所示的消息框,直接点击下一步
,出现图11所示界面。
**点击如图11所示界面中的安装
,出现下面图12所示的安装界面。
等待安装结束,安装结束后,点击关闭
退出安装。
**至此,.NET Framwork3.5即安装结束。
2、安装Wiki Syslog Serve
拿到的安装包有可能是种名子,但一般都是.exe格式的可执行文件。本例是从网下载的打包好的文件,解压后如图13.
双击其中的”Kiwi_Syslog_Server_9.5.0.setup.exe“进行安装。
在经过一个如图14的解压的过程后,出现如图15的安装界面。
点击上图中的I Agree
,出现如图16所示界面。
此处是询问将程序安装成服务,还是只保留程序,从使用场景来说,日志备份肯定是24小时不停的,那做为服务更好一些,所以保持默认的选项,直接点击Next>
,弹出如图17所示界面。
此处询问使用系统本地帐户还是其它帐户,保持默认即可。强调一下,这个程序应该在本地管理员帐户下安装,如果安装时不在本地管理员帐户下,对于此处的帐户选择就要谨慎了。直接点击Next>
,出现如图18所示界面。
这是询问是否安装“Kiwi Syslog Web Access”,这是一个工具,后期可以从其它电脑上通过浏览器查看备份的日志,并做一些简单的过滤等工作。本例中此处保持默认安装。继续点击Next>
,出现如图19所示界面。
此处询问要安装哪些组件以及一些选项,比如是否将程序启动项添加到开始菜单、是否添加桌面快捷方式等,保持默认,点击Next>
,弹出如图20所示界面。
此处询问将程序安装到什么位置,保持默认并记住这个位置。点击Install
后开始安装,如图21.
安装结束后,因为之前勾选了”Kiwi Syslog Web Access“,所以这儿弹出了如图22所示的Kiwi Syslog Web Access的安装界面。
如果不想安装Kiwi Syslog Web Access,直接点击图22上的完成
,否则继续点击下一步
,弹出如图23所示界面。
此处询问安装哪些Kiwi Syslog Web Access需要用到的组件,保持默认,继续点击下一步
,经过几个安装进度条的滚动后,出现图24所示界面。
下面的步骤是对Wiki Syslog Web Access进行安装,点击Next>
,出现如图25所示界面。
这儿不用说了,选择I accept the terms in the license Agreement
,然后点击Next>
出现图26界面。
这儿询问是否在桌面、开始菜单 、快速启动栏添加快捷方式,根据需要选择吧,点击Next>
,出现图27界面。
询问安装位置,默认即可,继续Next>
,出现图28界面。
这个界面要小心了。
图中上面两个红圈的地方分别是询问网站的根目录位置和端口号。
因为Kiwi Syslog Web Access是可以在各台电脑上以浏览器的形式打开的,所以本质上就是一个网站的形式,这儿询问这个站点安装到哪个位置去。这个位置最好不要随便改,在测试中发现这个位置更改后出现安装报错的情况。
至于下面的端口号即为访问该网站的端口号,保持默认也可以,但如果默认的端口已经被其它程序占用,此处可以输入其它未被占用的端口。图28上的Check Port
,可以选择你输入的端口是否被占用。点击后如果出现图29中的提示则表示该端口未被占用。
图29所示界面上点击确定
后,继续点击Next>
,弹出图30所示界面。
这个界面是用来为后面登录Kiwi Syslog Web Access创建默认帐户的,Login name
中默认的Administrator
也是可以改的,下面的密码也可以按自己要求设置。更改完成后点击Next>
,弹出图31界面。
直接点击Install
开始安装,安装结束后在出现的图32界面上点击Finish
结束安装。
此时返回到Kiwi Syslog Server的安装界面,如图33所示。
此处询问是否运行Kiwi Syslog Server 9.5.0服务,因为还有个补丁要打,所以此处建议取消勾选,然后点击Finish
,结束安装。
四、安装补丁
下载的压缩包中有一个补丁包KSS-v9.5.0-HotFix2.zip
,该补丁用来解决程序运行的内存泄露以及收到一些类型不匹配的信息时在一些系统崩溃的BUG。
如果前面安装结束前勾选了Run Kiwi Syslog Server 9.5.0
,此时安装补丁前要先在“服务管理器”中(如图34)停止Kiwi Syslog Server
服务。
如果已经打开了Kiwi Syslog Server控制台(如图35的界面)也要关闭。如果之前在安装时,未选择将程序安装为服务,此处可以忽略。
打开程序安装目录(之前安装时要记住的[图20],本例中为C:\Program Files (x86)\Syslogd
),备份syslogd_service.exe
和
syslogd_Manager.exe
两个文件,如图36所示。
将补丁包中的三个.exe文件复制到安装目录,其中有两个文件跟上面两个同名,覆盖掉即可。
启动Kiwi Syslog Server控制台,此时会提示新的版本为9.5.0.337,如图37所示。
去服务管理器中启动Kiwi Syslog Server
服务,如果找不到对应服务,重启电脑(或服务器)即可。
至此Wiki Syslog Server程序安装完成。
五、Kiwi Syslog Server配置
1、启动Kiwi Syslog Server控制台
如果之前安装时有勾选“安装快捷方式到桌面”(默认)的选项,此时桌面上应该有个图标叫Kiwi Syslog Server Console
,如图38所示。
双击该图标即可启动Kiwi Syslog Server控制台,如图39所示。
2、打开控制台配置界面
点击菜单-File
-Setup
(如图40所示)或者通过快捷键Ctrl+P
即可进入Kiwi Syslog Server配置界面,如图41所示。
3、配置界面的说明
(1)Wiki Syslog Server配置的核心是策略,即图41中红框中的内容。
目前图41中看到默认已经有两条策略,分别是Default
和Logo to Syslog Web Access
,其中“Default”策略是系统默认的,“Logo to Syslog Web Access"策略是在安装“Kiwi Syslog Web Access"时创建的。
(2)策略是有执行顺序的,所以在新建策略时要考虑哪条放在上面,哪条放在下面。
策略建好后可以通过工具栏下的上下箭头按钮调整顺序。
(3)每条策略中由Filters
(过滤器)和Actions
(动作)组成。
在同时接收多个设备的日志或消息,或是接收设备的多个日志时可以通过”过滤器“对信息进行过滤,然后由下面的”动作“来决定将过滤的信息做怎样的处理,比如写入文件或是发给其它Syslog服务器。
(4)目前Actions
(动作)中比较常用的主要就是Display
(显示)和Log to file
(日志写入文件).
Display
很简单,Kiwi Syslog Server控制台提供了多达24个显示面板,在如图42所示的控制台主界面中进行选择。
此处的Display
主要是为设置“过滤器”过滤后的信息在哪个面板显示,在如图43的界面中选择需要的面板即可。当然,如果不需要,只需要删除掉这个"Display"这个动作即可。
(5)Log to file
动作主要是设置接收到的日志如何写入文件。
在如图44所示的界面中包括以下几项:
Path and file name of log file:
文件的保存路径以及文件名称规则。这儿需要注意的是关于最后文件名的起名规则包括了一些变量替换,比如图44所示的界面中的Path and file name of log file
文本框中的完整内容是C:\Program Files (x86)\Syslogd\Logs\SyslogCatchAll-%DateISO.txt
这代表文件的存放位置是C:\Program Files (x86)\Syslogd\Logs\
,文件名格式是SyslogCatchAll-YYYY-MM-DD.txt
,其中YYYY-MM-DD
代表文件建立时当时的日期(四位年份+两位月份+两位日期)。根据需要我们也可以修改为其它的变量替换,以实现我们在日志保存为文件时的分割与辨识。
至于以上完整路径中的%DateISO
这样的变量,是可能通过图44所示界面中的Insert AutoSplit value
来查询和插入,如图45所示。
Example of aclual path and file name
这是根据上面Path and file name of log file
设置给出的示例,便于查看设置是否正确。
Log file format
文件格式,对应的选项如下:
Kiwi 格式 ISO 年 - 月 - 日(制表符分隔)
Kiwi 格式 ISO UTC 年 - 月 - 日(制表符分隔)
Kiwi 格式 月 - 日 - 年(制表符分隔)
Kiwi 格式 日 - 月 - 年(制表符分隔)
Kiwi 格式 UTC 月 - 日 - 年(制表符分隔)
Kiwi 格式 UTC 日 - 月 - 年(制表符分隔)
逗号分隔值 年 - 月 - 日(CSV)
逗号分隔值 UTC 年 - 月 - 日(CSV)
BSD Unix 系统日志格式
XML 标记格式
RnRsoft ReportGen 格式
Web Trends 格式
Cisco PIX PFSS 格式(原始日志记录)
3Com 3CDaemon 格式(BSD 空格分隔)
仅消息文本(无优先级)
Sawmill 格式 ISO 年 - 月 - 日(制表符分隔)
保留 1
保留 2
保留 3
……
Log File Rotation
日志文件轮转,用来设置对应的文件的覆盖与保留等规则。
Enable Log File Rotation
勾选此处,将启用日志文件循环,否则一个文件写下去,将会无限大,只到超出NTFS以及GPT分区的限制(或是其它磁盘分区格式的限制)。
Total number of log files
保留日志的总数,超出这个数目将会覆盖最早的日志文件
Maximum log file size
最大日志文件大小(Bytes)
Maximum log file age
最大日志文件时间Minute (s)
以上内容可以根据需要设置,或者在必要的时候创建新的策略。
(6)设置通讯协议、监听端口、限制的IP地址以及监听的日志的格式。
在配置界面将滚动条往下拉,到达下方的input
,如图46所示。
在图46所示界面中,根据要备份的设备发送日志的Syslog协议设置来决定使用UDP、TCP还是其它通讯方式,设备以UDP协议来发送,此处就要以UDP协议来监听和接收,其它以此类推。以UDP为例(图47所示),此处需要设置以下内容:
Listen for UDP Syslog messages
监听UDP协议的日志消息,如果使用UDP协议来接收日志消息,此处一点要勾选。
UDP Port(1-65535]
监听端口,Syslog协议的默认端口一般都是514,也可以根据发送日志的设备上对于Syslog日志发送配置进行修改。
Bind to address
对发送日志的设备的IP进行限制,如果留空,则不予限制。例如此处填写192.168.1.15,那就只接收iIP地址为192.168.1.15设备发送过来的日志,其它设备即使往Kiwi Syslog Server发送日志,也不接收。
Data encoding
数据编码格式
六、针对本例的配置
1、配置监听端口
PA820防火墙同时支持UDP和TCP端口发送日志消息,本例中使用UDP端口进行传输,Kiwi Syslog Server只需要保持默念配置即可。
2、策略配置
暂时使用默认配置。等收到日志消息后再根据消息做进一步筛选。
3、在PA820防火墙上建议Syslog服务器配置文件
相当于在防火墙上添加Syslog服务器(本例中即为Kiwi Syslog Server服务器)信息。
(1)登录防火墙后选择Device
-服务器配置文件
-Syslog
,如图48所示。
(2)在图48所示界面上点击添加
,弹出图49界面。
(3)图49界面最上方名称
文本框中先为该配置文件起个令你开心的名子。然后点击下方添加
,依次输入图中内容。
名称
:随便起个你开心的名子即可
Syslog
:前面建立的Kiwi Syslog Server服务器的IP地址
传输
:此处可以选择UDP、TCP、SSL,此处的选择也决定了Kiwi Syslog Server中监听协议的选择。
端口
:要与Kiwi Syslog Server中设定的端口一致,且该端口不能被其它程序占用。一般Syslog的默认端口即为514.
格式
:用两种,一种是BSD
,另一种是IETF。
BSD格式使用UDP传输、IETF使用TCP传输,所以这儿也与上一条端口要匹配。
工具
:有多种可以选择,主要用来配合Syslog服务器使用的软件对日志格式进行匹配,本例中保持默念值LOG_USER
即可,经测试,使用其它的选择也可以,对于Kiwi Syslog Server区别不大。
录入以上信息后点击成功
按钮返回到图50界面。
4、配置PA820的日志转发配置文件
(1)在防火墙上选择Objects
-日志转发
-点击下方的添加
弹出如图51界面。
在该界面上的名称
文本框中起一个你开心的名子,下面的说明
中可以写一些备注,也可以留空。
(2)点击下方的添加
按钮弹出如图52所示界面。
(3)图52界面是用来配置"日志转发配置文件匹配列表",作用是对要发送的日志文件给出筛选并指定发送到哪个Syslog服务器中去,在图中红圈处填写或是选择以下信息:
名称
:随便起一个开心的名子。
说明
:可以写一些备注,也可以留空
日志类型
:
PA820防火墙日志中包括多种类型,包括auth(授权)、data(数据)、threat(威胁)、traffic(通讯)、tunnel(隧道)、url、wildfire。此处选择要发送的是哪一类型的日志。本例中以通讯日志为例进行说明。此处点击右侧的下拉列表框的倒三角按钮,选择traffic
过滤器:默认是All logs
,即全部日志(本例即全部日志),做为备份来说,选择这个就可以了,但如果要进行筛选的话,还需要通过”过滤生成器“生成过滤条件(不在此处讨论)
Syslog
:此列表框中点击下方的添加
,选择之前建好的Syslog服务器配置文件。
最后点击下方的成功
按钮,返回到图53界面。
如果还需要添加其它(如Threat
、data
)日志,按以上方法继续在图53界面中点击添加
按钮继续添加,如图54.
所有的日志类型建后好点击下方的成功
按钮后返回图55界面。
5、将日志“转发配置文件”与安全策略绑定。
所有的日志是与安全策略匹配的,需要转发哪些策略产生的日志,需要通过在安全策略中的具体策略中进行配置。
打开PA820配置界面上的Policies
-安全
,如图56界面
在图56界面中,哪一条安全策略记录的日志需要转发到Sylslog服务器,就单击该策略的名称,进入策略编辑界面,然后选择操作
选项卡,如图57。
在策略编辑界面点击操作
选项卡,根据需要勾选在会话开始前记录
和在会话结束时记录
选项,然后在日志转发
下拉列表中选择之前新建的日志转发配置文件,最后点击下方的成功
按钮。
关于在会话开始前记录
和在会议结束时记录
的官方说明如下:
在会话开始时记录
: 生成关于会话开始的流量日志条目(默认为禁用)。
在会话结束时记录
:— 生成关于会话结束的流量日志条目(默认为启用)。
注:如果记录了会话开始或结束条目,则 drop 和 deny 条目也随之记录下来。
以上就完成了PA820防火墙关于日志转发的配置。理论上这时Kiwi Syslog Server服务器的控制台就可以看到接收到的日志在滚动。但是不出意外的话,这个时候就要出意外了。很大的可能性是Kiwi Syslog Server控制台上什么都没收到。这个时候如果其它配置没错的话,主要查询两个地方。
6、Kiwi Syslog Server收不到日志。
(1)查询安装Kiwi Syslog Server电脑的windows防火墙配置。
看看windows防火墙是否未开放514(默认,如果修改了端口,自行变通)端口。具体操作不做讨论。
(2)添加PA82防火墙安全策略
很奇怪的是PA820能过Syslog发送日志时并不是使用的Trust内网IP发送的,而是使用连接互联网的端口IP发送的,为什么会这样我也不理解,不同配置下的PA820是否都是这样不太清楚。这还是通过查看PA820日志时才发现的。所以需要在PA820防火墙的安全策略中添加一条将互联网端口IP到Syslog服务器IP流量放行的策略。但要注意,因为涉及到互联网端口,最好能限制服务端口号或是用PA820中的程序进行限制,以保证安全性。具体操作属于PA820防火墙的范畴,此处不讨论。
经过以上操作,如果前面配置没有错误的话,现在在Kiwi Syslog server控制台中已经能够看到接收到的日志不停的翻滚了,如图58界面。
7、在Kiwi Syslog Server中对日志进行分类存储并限制存储数据的大小天数等。
目前我们收到的日志可能包括了data(数据)、threat(威胁)、traffic(通讯)等各种类型,这些日志混杂在一起不利分阅读与分析,通过上面讲过的Kiwi Syslog Server中的策略来对数据进行筛选与分类存储。
PA820防火墙发送的日志其实是一个逗号分隔的CSV格式文件,每一条日志中都已经标注了日志的类型,见图58上红圈所示。
据此我们以threat(威胁)日志为例说明。
(1)图59的界面中,在左侧的树形列表框中选择Rules
,然后单击上方工具栏中的“新建”按钮,建立一条新的策略New Rule
.
(2)在新建的New Rule
策略上右击,在弹出的快捷菜单中选择Rename rule
,给新策略起个名子,如图60界面
(3)在新建的策略下方的Filters
上右击,弹出的快捷菜单单击Add filter
,新建一个过滤器,如图61界面。
(4)选择新建的New filter
过滤器,对过滤器进行配置,如图62界面。必要时可以参照前面的方法右击,给该过滤器改个名子。
Field
中选择Message text
,表示要匹配的字段是日志文本。
Filter Type
保持默认的Simple
(简易)即可。
Include
(包含)文本框中输入"TRAFFIC"
,此处注意大小写。
以上配置代表在每一条日志消息中查找“TRAFFIC”字符串,如果找到就代表匹配上。
当上面的配置设置好后,可以点击下方的Test Setup
按钮,来配置用来测试的日志文本。注意这个日志文本是测试使用,并不是真实的日志,需要对文本的内容进行符合要求的修改,如图63界面。
因为我们主要是对日志的信息文本进行匹配,所以主要是看Message text
文本框中的内容,图63中Message text
文本框中红圈处的内容是我手工添加的,主要目的就是为了看看添加了对应的字符后,是否能够匹配到。
添加完对应的字符串后,点击下方的Show filter
按钮,返回前面图62所示的过滤器设置界面,点击图62界面上的Test
按钮,如果匹配成功,在Test
按钮后面会现一个勾号,否则会出现一个叉号。
(5)点击下方的Actions
,参照上面的方法新建动作,根据需要改个名子,比如图64中的log to file
具体log to file的配置方法在上面已经介绍过了,不再详细说明,这儿说一下关于本例中的一些考虑。
本例中日志存放位置是D:\DATA\Log\PA820\Traffic\
,文件名称类似TrafficLog20250410.csv
格式保存,其中20250410代表日期。
Log file format
文件格式选择Comma Separated Values yyyy-mm-dd (CSV)
是因为PA820发过来的就是逗号分隔的CSV格式。
Enable Log File Rotaion
选项是要 勾选的,否则数据会越来越多,最大硬盘空间也不够。
Total number of log files
之所以输入184是因为一年当中连接6个月的最大天数就是184天。
最后选择了Maximum log file age
选择了1天,也就是1天一个文件,这个文件会比较大,正常的EXCEL是打不开的,需要借助于其它一些工具,不在此处讨论。
对于其它的日志类型,比如data(数据)、threat(威胁)等,参照以上的方法建立新的规则就可以了。
另外上面在建立动作的时候没有建立Display
动作,这是因为我们的本来目的是为了备份数据,而不需要在屏幕上滚动展示。另外Kiwi Syslog Server控制台中默认的策略已经针对所有收到的日志在Display 00 (Default)
面板中做Display
动作,如图66所示。
再有,Kiwi Syslog Server默认策略中有Log to file
动作,我给取消了,因为与我们自己建立的策略重复了,没有必要,见图65.
七、关于其它日志的转发
前面提到,以上介绍的的日志是由安全策略产生的,还有一些日志如用户日志、配置日志等,这些不由安全策略产生,不适用以上方法。具体方法如下。
1、PA820防火墙上在配置
打开防火墙Device
-日志设置
,然后在右边的界面中根据需要分别在系统
、配置
、用户ID
等日志类型下建立这些类型的日志转发设置。具体方法与上面类似。不再详细说明。
2、Kiwi Syslog Server控制台配置
控制台的配置也与上面一样,只需要建立新的策略即可。
八、总结
经过以上操作这一套日志备份系统就可以动作起来了。其中还涉及到一些其它方面的知识,不再扩展讨论。