Lua Cisco AnyConnect 脚本
Lua Scripts for Cisco AnyConnect
我们正在尝试为 Cisco AnyConnect 客户端部署动态访问策略 (DAP),这将检查最终用户的计算机是否安装了防病毒软件并且 运行、防火墙已启动并且 运行,以及有某些 Windows 更新 (KB)。
Cisco 有一个不错的网站,它以不同的脚本显示这些内容,但是,我们想将这三个脚本合并为一个。
下面是显示 Lua 防病毒和防火墙检查脚本的代码和网站。你能帮我把这个脚本也和 Hotfix KB 检查合并吗?
https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/115947-dap-adv-functions-00.html#anc9
提前致谢
assert(function()
function checkav(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.activescan, "EQ", "ok", "string") and EVAL (v.lastupdate, "LT", "2592000", "integer")) then
return true
end
end
end
return false
end
function checkfw(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.enabled, "EQ", "ok", "string")) then
return true
end
end
end
return false
end
return (checkav(endpoint.av) and checkfw(endpoint.fw))
end)()
assert(function ()
local pattern = "KB944"
local true_on_match = true
local match = false
for k,v in pairs(endpoint.os.hotfix) do
print(k)
match = string.find(k, pattern)
if (match) then
if (true_on_match) then
return true
else return (false)
end
end
end
end)()
前进的道路:独立的功能。然后,您可以使用逻辑 and
:
调用断言和组合调用
修补程序知识库检查:
function hotfixKb()
local pattern = "KB944"
local true_on_match = true
local match = false
for k,v in pairs(endpoint.os.hotfix) do
print(k)
match = string.find(k, pattern)
if (match) then
if (true_on_match) then
return true
else
return (false)
end
end
end
end
防病毒检查:
function checkAntiVirus(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.activescan, "EQ", "ok", "string") and EVAL (v.lastupdate, "LT", "2592000", "integer")) then
return true
end
end
end
return false
end
防火墙检查:
function checkFireWall(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.enabled, "EQ", "ok", "string")) then
return true
end
end
end
return false
end
然后:
assert(hotfixKb() and checkAntiVirus() and checkFireWall())
我们正在尝试为 Cisco AnyConnect 客户端部署动态访问策略 (DAP),这将检查最终用户的计算机是否安装了防病毒软件并且 运行、防火墙已启动并且 运行,以及有某些 Windows 更新 (KB)。 Cisco 有一个不错的网站,它以不同的脚本显示这些内容,但是,我们想将这三个脚本合并为一个。
下面是显示 Lua 防病毒和防火墙检查脚本的代码和网站。你能帮我把这个脚本也和 Hotfix KB 检查合并吗? https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/115947-dap-adv-functions-00.html#anc9
提前致谢
assert(function()
function checkav(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.activescan, "EQ", "ok", "string") and EVAL (v.lastupdate, "LT", "2592000", "integer")) then
return true
end
end
end
return false
end
function checkfw(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.enabled, "EQ", "ok", "string")) then
return true
end
end
end
return false
end
return (checkav(endpoint.av) and checkfw(endpoint.fw))
end)()
assert(function ()
local pattern = "KB944"
local true_on_match = true
local match = false
for k,v in pairs(endpoint.os.hotfix) do
print(k)
match = string.find(k, pattern)
if (match) then
if (true_on_match) then
return true
else return (false)
end
end
end
end)()
前进的道路:独立的功能。然后,您可以使用逻辑 and
:
修补程序知识库检查:
function hotfixKb()
local pattern = "KB944"
local true_on_match = true
local match = false
for k,v in pairs(endpoint.os.hotfix) do
print(k)
match = string.find(k, pattern)
if (match) then
if (true_on_match) then
return true
else
return (false)
end
end
end
end
防病毒检查:
function checkAntiVirus(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.activescan, "EQ", "ok", "string") and EVAL (v.lastupdate, "LT", "2592000", "integer")) then
return true
end
end
end
return false
end
防火墙检查:
function checkFireWall(antix)
if (type(antix) == "table") then
for k,v in pairs(antix) do
if (EVAL(v.enabled, "EQ", "ok", "string")) then
return true
end
end
end
return false
end
然后:
assert(hotfixKb() and checkAntiVirus() and checkFireWall())