From 3b10d15f40c0b875bf6e11f6cfb5c7de89539661 Mon Sep 17 00:00:00 2001 From: Chris Atkinson Date: Tue, 26 Sep 2017 10:48:13 +0100 Subject: [PATCH] Add a basic set of windows firewall checks --- lib/serverspec/helper/type.rb | 2 +- lib/serverspec/type/windows_firewall.rb | 28 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 lib/serverspec/type/windows_firewall.rb diff --git a/lib/serverspec/helper/type.rb b/lib/serverspec/helper/type.rb index 71f2fe0b..07af4ea2 100644 --- a/lib/serverspec/helper/type.rb +++ b/lib/serverspec/helper/type.rb @@ -10,7 +10,7 @@ module Type windows_feature windows_hot_fix windows_registry_key windows_scheduled_task zfs docker_base docker_image docker_container x509_certificate x509_private_key - linux_audit_system hadoop_config php_extension + linux_audit_system hadoop_config php_extension windows_firewall ) types.each {|type| require "serverspec/type/#{type}" } diff --git a/lib/serverspec/type/windows_firewall.rb b/lib/serverspec/type/windows_firewall.rb new file mode 100644 index 00000000..f80093d3 --- /dev/null +++ b/lib/serverspec/type/windows_firewall.rb @@ -0,0 +1,28 @@ +module Serverspec::Type + class WindowsFirewall < Base + def exists? + @runner.check_firewall_exists(@name) + end + + def tcp? + @runner.check_firewall_has_protocol(@name, 'TCP') + end + + def has_localport?(port) + @runner.check_firewall_has_localport(@name, port) + end + + def inbound? + @runner.check_firewall_has_direction(@name, 'Inbound') + end + + def enabled? + @runner.check_firewall_is_enabled(@name) + end + + def allowed? + @runner.check_firewall_has_action(@name, 'Allow') + end + + end +end