// ReSharper disable once TooManyDeclarations public void CreateDirectIPv6Rule() { var ruleName = RulesPrefix + Guid.NewGuid().ToString("N"); var remoteAddress = SingleIP.Parse("2607:fea8:4260:31a::9"); var rule = new FirewallWASRule( ruleName, FirewallAction.Block, FirewallDirection.Outbound, FirewallProfiles.Public ) { Protocol = FirewallProtocol.Any, RemoteAddresses = new IAddress[] { remoteAddress } }; _firewall.Rules.Add(rule); var checkRule = _firewall.Rules.FirstOrDefault(firewallRule => firewallRule.Name == ruleName); Assert.IsNotNull(checkRule); Assert.IsTrue(checkRule.RemoteAddresses.SequenceEqual(new IAddress[] { remoteAddress })); Assert.AreEqual(checkRule.Profiles, FirewallProfiles.Public); Assert.AreEqual(checkRule.Direction, FirewallDirection.Outbound); Assert.AreEqual(checkRule.Action, FirewallAction.Block); _firewall.Rules.Remove(rule); checkRule = _firewall.Rules.FirstOrDefault(firewallRule => firewallRule.Name == ruleName); Assert.IsNull(checkRule); }
// ReSharper disable once TooManyDeclarations public void CreateDirectICMPRule() { var ruleName = RulesPrefix + Guid.NewGuid().ToString("N"); var rule = new FirewallWASRule( ruleName, FirewallAction.Allow, FirewallDirection.Inbound, FirewallProfiles.Domain ) { Protocol = FirewallProtocol.ICMPv4, RemoteAddresses = new IAddress[] { SingleIP.Parse("192.168.0.1") } }; _firewall.Rules.Add(rule); var checkRule = _firewall.Rules.FirstOrDefault(firewallRule => firewallRule.Name == ruleName); Assert.IsNotNull(checkRule); Assert.AreEqual(checkRule.Protocol, FirewallProtocol.ICMPv4); Assert.AreEqual(checkRule.Profiles, FirewallProfiles.Domain); _firewall.Rules.Remove(rule); checkRule = _firewall.Rules.FirstOrDefault(firewallRule => firewallRule.Name == ruleName); Assert.IsNull(checkRule); }
private static void AddFwRule(string ruleName, string exeFullPath) { var rule = new FirewallWASRule(ruleName, exeFullPath, FirewallAction.Allow, FirewallDirection.Inbound, FirewallProfiles.Private | FirewallProfiles.Public | FirewallProfiles.Domain); FirewallManager.Instance.Rules.Add(rule); }
public void bansAfterEnoughFailures() { for (int i = 0; i < MAX_ALLOWED_FAILURES + 1; i++) { eventLogListener.failure += Raise.With(null, SOURCE_ADDRESS); } Assert.NotEmpty(firewallRules); FirewallWASRule actual = firewallRules.First(); Assert.True(actual.IsEnable); Assert.Equal("Banned 192.0.2.0/24", actual.Name); Assert.Equal("Fail2Ban4Win", actual.Grouping); Assert.Equal(FirewallAction.Block, actual.Action); Assert.Equal(FirewallDirection.Inbound, actual.Direction); Assert.Equal(NetworkAddress.Parse("192.0.2.0/24"), actual.RemoteAddresses[0]); }