幽映每白日,清辉照衣裳。这篇文章主要讲述au3+zabbix打造轻量级计算机安全告警系统(序)相关的知识,希望能为你提供帮助。
针对windows系统,最近准备整合一下用au3(autoit)自制的一些小工具,可以用于日常监控windows系统的安全情况,同时也可利用zabbix,部署基于zabbix的的轻量级计算机安全告警系统(告警内容可通过邮件或企业微信等发送)。本篇作为序章,简单介绍。
主要功能包括:
ping监控:监控远程ip是否正常
端口监控:监控远程ip端口是否关闭
连接数记录:监控本地端口的网络连接数
外网ip监控:监控外网ip是否变动
远程访问监控:监控并记录访问本地远程桌面的ip
防火墙监控:监控本地防火墙开关情况以及设置是否变动
文件同步:定时同步文件(利用FreeFileSync)
文件监控:监控文件是否存在或改动
USB接入监控:监控USB口是否接入设备
USB保护:禁止使用USB设备
网卡接入监控:监控是否有网卡设备接入使用或禁用无线网卡
本地ip监控:监控本地ip是否被改动
特点:
可用于企业日常安全管理
界面简洁,自动升级、部署简单,双击即可
对异常情况发邮件或企业微信提醒
可利用zabbix模板 批量监控
界面(主要功能为主,平民界面):
usb监控日志记录:
防火墙监控模块有命令对比、文件对比、注册表对比,以下是利用命令对比的au3源码:
Func getfirewallcfg()
$iReturn1 = Run(@ComSpec &
" /cnetsh advfirewall firewall show rule all",@ScriptDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD));
ProcessWaitClose($iReturn1)
sleep(1000)
$iReturn2 = Run(@ComSpec &
" /c netsh advfirewall show allprofile",@ScriptDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD));
ProcessWaitClose($iReturn2)
$iOutput1 = StdoutRead($iReturn1);
获取数据
sleep(1000)
$iOutput2 = StringInStr(StdoutRead($iReturn2),"状态关闭")
EndFunc;
==>
getfirewallcfg
Func getfirewallfile()
$hFileOpen1 = FileOpen(@ScriptDir &
\\NfeitrSeOTa.txt, 256)
If $hFileOpen1 = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "读取文件时出现错误.")
Return False
EndIf
$sRecord1 = FileRead($hFileOpen1)
sleep(1000)
FileClose($hFileOpen1)
EndFunc ;
==>
getfirewallfile
Func writefirewallfile()
if FileExists(@ScriptDir &
\\NfeitrSeOTa.txt) Then
;
MsgBox($MB_SYSTEMMODAL, "信息", "NfeitrSeOTa.txt 文件存在")
FileDelete(@ScriptDir &
\\NfeitrSeOTa.txt)
sleep(1000)
$iReturn3 = Run(@ComSpec &
" /c netsh advfirewall firewall show rule all",@ScriptDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD));
ProcessWaitClose($iReturn3)
$aaa =StdoutRead($iReturn3)
$iOutput0 = $aaa
;
MsgBox($MB_SYSTEMMODAL, "", $aaa)
$hFiles1 = FileOpen(@ScriptDir &
\\NfeitrSeOTa.txt, 256+2)
sleep(1000)
FileWrite($hFiles1, $aaa)
sleep(1000)
FileClose($hFiles1)
Else
$iReturn3 = Run(@ComSpec &
" /c netsh advfirewall firewall show rule all",@ScriptDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD));
ProcessWaitClose($iReturn3)
$aaa =StdoutRead($iReturn3)
;
MsgBox($MB_SYSTEMMODAL, "", $aaa)
$hFiles1 = FileOpen(@ScriptDir &
\\NfeitrSeOTa.txt, 256+2)
sleep(1000)
FileWrite($hFiles1, $aaa)
sleep(1000)
FileClose($hFiles1)
endif
;
RunWait(@ComSpec &
/c netsh advfirewall show allprofile>
&
@ScriptDir &
\\NfeitrSeOTb.txt, "", @SW_HIDE)
EndFunc ;
==>
writefirewallfile
扩展:关于windows防火墙命令行常用命令
1.导出防火墙配置到文件
netsh advfirewall export aaa.wfw
2.导入防火墙配置文件到系统中
netsh advfirewall import aaa.wfw
3.防火墙恢复默认设置
Netsh advfirewall reset
4.关闭防火墙
netsh advfirewall set allprofiles state off
5.开启防火墙
netsh advfirewall set allprofiles state on
6.在所有配置文件中设置默认阻挡入站并允许出站通信:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
7.删除名为 allow80 的规则:
netsh advfirewall firewall delete rule name=allow80
8.删除本地端口 80 的所有入则:
netsh advfirewall firewall delete rule name=all protocol=tcp localport=80
9.添加远程桌面入站规则允许端口1319
netsh advfirewall firewall add rule name=远程桌面(TCP-In-1319) protocol=TCP dir=in localport=1319 action=allow
【au3+zabbix打造轻量级计算机安全告警系统(序)】抛砖引玉,如有其他需求功能可留言,欢迎讨论交流!
推荐阅读
- 带你全面扫盲!
- Effective Java - 静态方法与构造器
- Win10开发者SDK首个浏览版改进的电话与消息应用
- Win10系统smartscreen筛选器检测技巧如何禁用【图文】
- 安装Win10浏览版10041系统跳过微软帐户创建本地帐户的办法
- win10的出现改变不了仍有数百万xp系统用户的现状
- Win10内测用户表示不在乎Bug:只想获得新版本本
- 微软Windows10将采纳“通用驱动程序”
- 澳洲网友为竞猜Win10全新斯巴达浏览器命名押宝