mirror of
https://github.com/juanfont/headscale.git
synced 2026-04-23 09:08:44 +02:00
hscontrol/policy/v2: convert ACL compat tests to JSON-driven format
Replace 9,937 lines of inline Go struct test expectations in tailscale_acl_compat_test.go with 215 JSON golden files in testdata/acl_results/ACL-*.json and a ~400-line Go driver in tailscale_acl_data_compat_test.go. This matches the pattern used by the grants compat tests (testdata/grant_results/GRANT-*.json + tailscale_grants_compat_test.go) and the SSH compat tests (testdata/ssh_results/SSH-*.json + tailscale_ssh_data_compat_test.go). The JSON golden files contain the same test expectations as the original Go file, preserving the Tailscale SaaS reference data. The expectations are NOT adapted to match headscale current output — they represent the target behavior. Test count is preserved: 215 test cases (203 success + 12 error). Updates #2180
This commit is contained in:
File diff suppressed because it is too large
Load Diff
426
hscontrol/policy/v2/tailscale_acl_data_compat_test.go
Normal file
426
hscontrol/policy/v2/tailscale_acl_data_compat_test.go
Normal file
@@ -0,0 +1,426 @@
|
||||
// This file implements a data-driven test runner for ACL compatibility tests.
|
||||
// It loads JSON golden files from testdata/acl_results/ACL-*.json and compares
|
||||
// headscale's ACL engine output against the expected packet filter rules.
|
||||
//
|
||||
// The JSON files were converted from the original inline Go struct test cases
|
||||
// in tailscale_acl_compat_test.go. Each file contains:
|
||||
// - A full policy (groups, tagOwners, hosts, acls)
|
||||
// - Expected packet_filter_rules per node (5 nodes)
|
||||
// - Or an error response for invalid policies
|
||||
//
|
||||
// Test data source: testdata/acl_results/ACL-*.json
|
||||
// Original source: Tailscale SaaS API captures + headscale-generated expansions
|
||||
|
||||
package v2
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/netip"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/google/go-cmp/cmp/cmpopts"
|
||||
"github.com/juanfont/headscale/hscontrol/policy/policyutil"
|
||||
"github.com/juanfont/headscale/hscontrol/types"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"gorm.io/gorm"
|
||||
"tailscale.com/tailcfg"
|
||||
)
|
||||
|
||||
// ptrAddr is a helper to create a pointer to a netip.Addr.
|
||||
func ptrAddr(s string) *netip.Addr {
|
||||
addr := netip.MustParseAddr(s)
|
||||
|
||||
return &addr
|
||||
}
|
||||
|
||||
// setupTailscaleCompatUsers returns the test users for compatibility tests.
|
||||
func setupTailscaleCompatUsers() types.Users {
|
||||
return types.Users{
|
||||
{Model: gorm.Model{ID: 1}, Name: "kratail2tid"},
|
||||
}
|
||||
}
|
||||
|
||||
// setupTailscaleCompatNodes returns the test nodes for compatibility tests.
|
||||
// The node configuration matches the Tailscale test environment:
|
||||
// - 1 user-owned node (user1)
|
||||
// - 4 tagged nodes (tagged-server, tagged-client, tagged-db, tagged-web).
|
||||
func setupTailscaleCompatNodes(users types.Users) types.Nodes {
|
||||
nodeUser1 := &types.Node{
|
||||
ID: 1,
|
||||
GivenName: "user1",
|
||||
User: &users[0],
|
||||
UserID: &users[0].ID,
|
||||
IPv4: ptrAddr("100.90.199.68"),
|
||||
IPv6: ptrAddr("fd7a:115c:a1e0::2d01:c747"),
|
||||
Hostinfo: &tailcfg.Hostinfo{},
|
||||
}
|
||||
|
||||
nodeTaggedServer := &types.Node{
|
||||
ID: 2,
|
||||
GivenName: "tagged-server",
|
||||
IPv4: ptrAddr("100.108.74.26"),
|
||||
IPv6: ptrAddr("fd7a:115c:a1e0::b901:4a87"),
|
||||
Tags: []string{"tag:server"},
|
||||
Hostinfo: &tailcfg.Hostinfo{},
|
||||
}
|
||||
|
||||
nodeTaggedClient := &types.Node{
|
||||
ID: 3,
|
||||
GivenName: "tagged-client",
|
||||
IPv4: ptrAddr("100.80.238.75"),
|
||||
IPv6: ptrAddr("fd7a:115c:a1e0::7901:ee86"),
|
||||
Tags: []string{"tag:client"},
|
||||
Hostinfo: &tailcfg.Hostinfo{},
|
||||
}
|
||||
|
||||
nodeTaggedDB := &types.Node{
|
||||
ID: 4,
|
||||
GivenName: "tagged-db",
|
||||
IPv4: ptrAddr("100.74.60.128"),
|
||||
IPv6: ptrAddr("fd7a:115c:a1e0::2f01:3c9c"),
|
||||
Tags: []string{"tag:database"},
|
||||
Hostinfo: &tailcfg.Hostinfo{},
|
||||
}
|
||||
|
||||
nodeTaggedWeb := &types.Node{
|
||||
ID: 5,
|
||||
GivenName: "tagged-web",
|
||||
IPv4: ptrAddr("100.94.92.91"),
|
||||
IPv6: ptrAddr("fd7a:115c:a1e0::ef01:5c81"),
|
||||
Tags: []string{"tag:web"},
|
||||
Hostinfo: &tailcfg.Hostinfo{},
|
||||
}
|
||||
|
||||
return types.Nodes{
|
||||
nodeUser1,
|
||||
nodeTaggedServer,
|
||||
nodeTaggedClient,
|
||||
nodeTaggedDB,
|
||||
nodeTaggedWeb,
|
||||
}
|
||||
}
|
||||
|
||||
// findNodeByGivenName finds a node by its GivenName field.
|
||||
func findNodeByGivenName(nodes types.Nodes, name string) *types.Node {
|
||||
for _, n := range nodes {
|
||||
if n.GivenName == name {
|
||||
return n
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// cmpOptions returns comparison options for FilterRule slices.
|
||||
// It sorts SrcIPs and DstPorts to handle ordering differences.
|
||||
func cmpOptions() []cmp.Option {
|
||||
return []cmp.Option{
|
||||
cmpopts.SortSlices(func(a, b string) bool { return a < b }),
|
||||
cmpopts.SortSlices(func(a, b tailcfg.NetPortRange) bool {
|
||||
if a.IP != b.IP {
|
||||
return a.IP < b.IP
|
||||
}
|
||||
|
||||
if a.Ports.First != b.Ports.First {
|
||||
return a.Ports.First < b.Ports.First
|
||||
}
|
||||
|
||||
return a.Ports.Last < b.Ports.Last
|
||||
}),
|
||||
cmpopts.SortSlices(func(a, b int) bool { return a < b }),
|
||||
}
|
||||
}
|
||||
|
||||
// aclTestFile represents the JSON structure of a captured ACL test file.
|
||||
type aclTestFile struct {
|
||||
TestID string `json:"test_id"`
|
||||
Source string `json:"source"` // "tailscale_saas" or "headscale_adapted"
|
||||
Error bool `json:"error"`
|
||||
HeadscaleDiffers bool `json:"headscale_differs"`
|
||||
ParentTest string `json:"parent_test"`
|
||||
Input struct {
|
||||
FullPolicy json.RawMessage `json:"full_policy"`
|
||||
APIResponseCode int `json:"api_response_code"`
|
||||
APIResponseBody *struct {
|
||||
Message string `json:"message"`
|
||||
} `json:"api_response_body"`
|
||||
} `json:"input"`
|
||||
Topology struct {
|
||||
Nodes map[string]struct {
|
||||
Hostname string `json:"hostname"`
|
||||
Tags []string `json:"tags"`
|
||||
IPv4 string `json:"ipv4"`
|
||||
IPv6 string `json:"ipv6"`
|
||||
User string `json:"user"`
|
||||
} `json:"nodes"`
|
||||
} `json:"topology"`
|
||||
Captures map[string]struct {
|
||||
PacketFilterRules json.RawMessage `json:"packet_filter_rules"`
|
||||
} `json:"captures"`
|
||||
}
|
||||
|
||||
// loadACLTestFile loads and parses a single ACL test JSON file.
|
||||
func loadACLTestFile(t *testing.T, path string) aclTestFile {
|
||||
t.Helper()
|
||||
|
||||
content, err := os.ReadFile(path)
|
||||
require.NoError(t, err, "failed to read test file %s", path)
|
||||
|
||||
var tf aclTestFile
|
||||
|
||||
err = json.Unmarshal(content, &tf)
|
||||
require.NoError(t, err, "failed to parse test file %s", path)
|
||||
|
||||
return tf
|
||||
}
|
||||
|
||||
// aclSkipReasons documents WHY tests are expected to fail and WHAT needs to be
|
||||
// implemented to fix them. Tests are grouped by root cause.
|
||||
//
|
||||
// Impact summary:
|
||||
//
|
||||
// SRCIPS_FORMAT - tests: SrcIPs use adapted format (100.64.0.0/10 vs partitioned CIDRs)
|
||||
// DSTPORTS_FORMAT - tests: DstPorts IP format differences
|
||||
// IPPROTO_FORMAT - tests: IPProto nil vs [6,17,1,58]
|
||||
// IMPLEMENTATION_PENDING - tests: Not yet implemented in headscale
|
||||
var aclSkipReasons = map[string]string{
|
||||
// Currently all tests are in the skip list because the ACL engine
|
||||
// output format changed with the ResolvedAddresses refactor.
|
||||
// Tests will be removed from this list as the implementation is
|
||||
// updated to match the expected output.
|
||||
}
|
||||
|
||||
// TestACLCompat is a data-driven test that loads all ACL-*.json test files
|
||||
// and compares headscale's ACL engine output against the expected behavior.
|
||||
//
|
||||
// Each JSON file contains:
|
||||
// - A full policy with groups, tagOwners, hosts, and acls
|
||||
// - For success cases: expected packet_filter_rules per node (5 nodes)
|
||||
// - For error cases: expected error message
|
||||
func TestACLCompat(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
files, err := filepath.Glob(
|
||||
filepath.Join("testdata", "acl_results", "ACL-*.json"),
|
||||
)
|
||||
require.NoError(t, err, "failed to glob test files")
|
||||
require.NotEmpty(
|
||||
t,
|
||||
files,
|
||||
"no ACL-*.json test files found in testdata/acl_results/",
|
||||
)
|
||||
|
||||
t.Logf("Loaded %d ACL test files", len(files))
|
||||
|
||||
users := setupTailscaleCompatUsers()
|
||||
nodes := setupTailscaleCompatNodes(users)
|
||||
|
||||
for _, file := range files {
|
||||
tf := loadACLTestFile(t, file)
|
||||
|
||||
t.Run(tf.TestID, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
// Check skip list
|
||||
if reason, ok := aclSkipReasons[tf.TestID]; ok {
|
||||
t.Skipf(
|
||||
"TODO: %s — see aclSkipReasons for details",
|
||||
reason,
|
||||
)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
if tf.Error {
|
||||
testACLError(t, tf)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
testACLSuccess(t, tf, users, nodes)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// testACLError verifies that an invalid policy produces the expected error.
|
||||
func testACLError(t *testing.T, tf aclTestFile) {
|
||||
t.Helper()
|
||||
|
||||
pol, err := unmarshalPolicy(tf.Input.FullPolicy)
|
||||
if err != nil {
|
||||
// Parse-time error — valid for some error tests
|
||||
if tf.Input.APIResponseBody != nil {
|
||||
wantMsg := tf.Input.APIResponseBody.Message
|
||||
if wantMsg != "" {
|
||||
assert.Contains(
|
||||
t,
|
||||
err.Error(),
|
||||
wantMsg,
|
||||
"%s: error message should contain expected substring",
|
||||
tf.TestID,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
err = pol.validate()
|
||||
if err != nil {
|
||||
if tf.Input.APIResponseBody != nil {
|
||||
wantMsg := tf.Input.APIResponseBody.Message
|
||||
if wantMsg != "" {
|
||||
// Allow partial match — headscale error messages differ
|
||||
// from Tailscale's
|
||||
errStr := err.Error()
|
||||
if !strings.Contains(errStr, wantMsg) {
|
||||
// Try matching key parts
|
||||
matched := false
|
||||
|
||||
for _, part := range []string{
|
||||
"autogroup:self",
|
||||
"not valid on the src",
|
||||
"port range",
|
||||
"tag not found",
|
||||
"undefined",
|
||||
} {
|
||||
if strings.Contains(wantMsg, part) &&
|
||||
strings.Contains(errStr, part) {
|
||||
matched = true
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !matched {
|
||||
t.Logf(
|
||||
"%s: error message difference\n want (tailscale): %q\n got (headscale): %q",
|
||||
tf.TestID,
|
||||
wantMsg,
|
||||
errStr,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// For headscale_differs tests, headscale may accept what Tailscale rejects
|
||||
if tf.HeadscaleDiffers {
|
||||
t.Logf(
|
||||
"%s: headscale accepts this policy (Tailscale rejects it)",
|
||||
tf.TestID,
|
||||
)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
t.Errorf(
|
||||
"%s: expected error but policy parsed and validated successfully",
|
||||
tf.TestID,
|
||||
)
|
||||
}
|
||||
|
||||
// testACLSuccess verifies that a valid policy produces the expected
|
||||
// packet filter rules for each node.
|
||||
func testACLSuccess(
|
||||
t *testing.T,
|
||||
tf aclTestFile,
|
||||
users types.Users,
|
||||
nodes types.Nodes,
|
||||
) {
|
||||
t.Helper()
|
||||
|
||||
pol, err := unmarshalPolicy(tf.Input.FullPolicy)
|
||||
require.NoError(
|
||||
t,
|
||||
err,
|
||||
"%s: policy should parse successfully",
|
||||
tf.TestID,
|
||||
)
|
||||
|
||||
err = pol.validate()
|
||||
require.NoError(
|
||||
t,
|
||||
err,
|
||||
"%s: policy should validate successfully",
|
||||
tf.TestID,
|
||||
)
|
||||
|
||||
for nodeName, capture := range tf.Captures {
|
||||
t.Run(nodeName, func(t *testing.T) {
|
||||
captureIsNull := len(capture.PacketFilterRules) == 0 ||
|
||||
string(capture.PacketFilterRules) == "null" //nolint:goconst
|
||||
|
||||
node := findNodeByGivenName(nodes, nodeName)
|
||||
if node == nil {
|
||||
t.Skipf(
|
||||
"node %s not found in test setup",
|
||||
nodeName,
|
||||
)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// Compile headscale filter rules for this node
|
||||
compiledRules, err := pol.compileFilterRulesForNode(
|
||||
users,
|
||||
node.View(),
|
||||
nodes.ViewSlice(),
|
||||
)
|
||||
require.NoError(
|
||||
t,
|
||||
err,
|
||||
"%s/%s: failed to compile filter rules",
|
||||
tf.TestID,
|
||||
nodeName,
|
||||
)
|
||||
|
||||
gotRules := policyutil.ReduceFilterRules(
|
||||
node.View(),
|
||||
compiledRules,
|
||||
)
|
||||
|
||||
// Parse expected rules from JSON
|
||||
var wantRules []tailcfg.FilterRule
|
||||
if !captureIsNull {
|
||||
err = json.Unmarshal(
|
||||
capture.PacketFilterRules,
|
||||
&wantRules,
|
||||
)
|
||||
require.NoError(
|
||||
t,
|
||||
err,
|
||||
"%s/%s: failed to unmarshal expected rules",
|
||||
tf.TestID,
|
||||
nodeName,
|
||||
)
|
||||
}
|
||||
|
||||
// Compare
|
||||
opts := append(
|
||||
cmpOptions(),
|
||||
cmpopts.EquateEmpty(),
|
||||
)
|
||||
if diff := cmp.Diff(
|
||||
wantRules,
|
||||
gotRules,
|
||||
opts...,
|
||||
); diff != "" {
|
||||
t.Errorf(
|
||||
"%s/%s: filter rules mismatch (-want +got):\n%s",
|
||||
tf.TestID,
|
||||
nodeName,
|
||||
diff,
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
233
hscontrol/policy/v2/testdata/acl_results/ACL-all_dest_types_7_2.json
vendored
Normal file
233
hscontrol/policy/v2/testdata/acl_results/ACL-all_dest_types_7_2.json
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
{
|
||||
"test_id": "ACL-all_dest_types_7_2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": [
|
||||
"tag:server:22",
|
||||
"tag:database:5432",
|
||||
"webserver:80",
|
||||
"database:443",
|
||||
"group:admins:8080",
|
||||
"kratail2tid@:3000",
|
||||
"100.108.74.26:9000"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 8080,
|
||||
"Last": 8080
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 8080,
|
||||
"Last": 8080
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 3000,
|
||||
"Last": 3000
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 3000,
|
||||
"Last": 3000
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 9000,
|
||||
"Last": 9000
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 9000,
|
||||
"Last": 9000
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
169
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_as_destinations.json
vendored
Normal file
169
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_as_destinations.json
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"test_id": "ACL-all_four_tags_as_destinations",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["kratail2tid@"],
|
||||
"dst": ["tag:server:22", "tag:client:22", "tag:database:22", "tag:web:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.80.238.75/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::7901:ee86/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.94.92.91/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::ef01:5c81/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
115
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_as_sources.json
vendored
Normal file
115
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_as_sources.json
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"test_id": "ACL-all_four_tags_as_sources",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:server", "tag:client", "tag:database", "tag:web"],
|
||||
"dst": ["kratail2tid@:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
169
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_dests_9_2.json
vendored
Normal file
169
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_dests_9_2.json
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"test_id": "ACL-all_four_tags_dests_9_2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server:22", "tag:client:22", "tag:database:22", "tag:web:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.80.238.75/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::7901:ee86/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.94.92.91/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::ef01:5c81/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
115
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_sources_9_1.json
vendored
Normal file
115
hscontrol/policy/v2/testdata/acl_results/ACL-all_four_tags_sources_9_1.json
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"test_id": "ACL-all_four_tags_sources_9_1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:server", "tag:client", "tag:database", "tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
117
hscontrol/policy/v2/testdata/acl_results/ACL-all_source_types_to_tag_server_7_1.json
vendored
Normal file
117
hscontrol/policy/v2/testdata/acl_results/ACL-all_source_types_to_tag_server_7_1.json
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"test_id": "ACL-all_source_types_to_tag_server_7_1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "autogroup:tagged", "group:admins", "tag:client", "webserver", "100.74.60.128"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
115
hscontrol/policy/v2/testdata/acl_results/ACL-all_tagged_nodes_as_source_to_specific_destination.json
vendored
Normal file
115
hscontrol/policy/v2/testdata/acl_results/ACL-all_tagged_nodes_as_source_to_specific_destination.json
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"test_id": "ACL-all_tagged_nodes_as_source_to_specific_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "BasicTags",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["tag:database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
332
hscontrol/policy/v2/testdata/acl_results/ACL-all_to_all_subset_wildcard_wildcard_14_30.json
vendored
Normal file
332
hscontrol/policy/v2/testdata/acl_results/ACL-all_to_all_subset_wildcard_wildcard_14_30.json
vendored
Normal file
@@ -0,0 +1,332 @@
|
||||
{
|
||||
"test_id": "ACL-all_to_all_subset_wildcard_wildcard_14_30",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"]
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "autogroup:tagged"],
|
||||
"dst": ["autogroup:member:22", "autogroup:tagged:80"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["*:443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.94.92.91/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::ef01:5c81/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.80.238.75/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::7901:ee86/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
155
hscontrol/policy/v2/testdata/acl_results/ACL-allow_all_wildcard.json
vendored
Normal file
155
hscontrol/policy/v2/testdata/acl_results/ACL-allow_all_wildcard.json
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"test_id": "ACL-allow_all_wildcard",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "WildcardACLs",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
85
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_internet_as_destination.json
vendored
Normal file
85
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_internet_as_destination.json
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_internet_as_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:internet:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_as_destination.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_as_destination.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_member_as_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:member:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
155
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_as_source.json
vendored
Normal file
155
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_as_source.json
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_member_as_source",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_plus_tag_client.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_plus_tag_client.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_member_plus_tag_client",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_plus_tag_client_1_1.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_plus_tag_client_1_1.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_member_plus_tag_client_1_1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_to_self.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_member_to_self.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_member_to_self",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_self_as_destination.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_self_as_destination.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_self_as_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_self_mixed_with_tag.json
vendored
Normal file
127
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_self_mixed_with_tag.json
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_self_mixed_with_tag",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:self:*", "tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
225
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_as_destination.json
vendored
Normal file
225
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_as_destination.json
vendored
Normal file
@@ -0,0 +1,225 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_tagged_as_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["autogroup:tagged:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.80.238.75/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.94.92.91/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::7901:ee86/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::ef01:5c81/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.80.238.75/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::7901:ee86/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.94.92.91/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::ef01:5c81/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
200
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_as_source.json
vendored
Normal file
200
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_as_source.json
vendored
Normal file
@@ -0,0 +1,200 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_tagged_as_source",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Autogroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
115
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_plus_all_4_tags_8_4.json
vendored
Normal file
115
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_plus_all_4_tags_8_4.json
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_tagged_plus_all_4_tags_8_4",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged", "tag:server", "tag:client", "tag:database", "tag:web"],
|
||||
"dst": ["autogroup:member:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_tagged_plus_autogroup_member_full_tailnet",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "MixedSources",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged", "autogroup:member"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
27
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_to_self_13_6.json
vendored
Normal file
27
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_to_self_13_6.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_tagged_to_self_13_6",
|
||||
"source": "headscale_adapted",
|
||||
"error": true,
|
||||
"headscale_differs": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"]
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"]
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups (400)"
|
||||
}
|
||||
}
|
||||
}
|
||||
27
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_to_self_6_1.json
vendored
Normal file
27
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_to_self_6_1.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_tagged_to_self_6_1",
|
||||
"source": "headscale_adapted",
|
||||
"error": true,
|
||||
"headscale_differs": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"]
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"]
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups (400)"
|
||||
}
|
||||
}
|
||||
}
|
||||
115
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_to_user.json
vendored
Normal file
115
hscontrol/policy/v2/testdata/acl_results/ACL-autogroup_tagged_to_user.json
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"test_id": "ACL-autogroup_tagged_to_user",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["kratail2tid@:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
117
hscontrol/policy/v2/testdata/acl_results/ACL-autogroups_wildcard_port_11_4.json
vendored
Normal file
117
hscontrol/policy/v2/testdata/acl_results/ACL-autogroups_wildcard_port_11_4.json
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"test_id": "ACL-autogroups_wildcard_port_11_4",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged", "autogroup:member"],
|
||||
"dst": ["tag:server:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
117
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_as_sources.json
vendored
Normal file
117
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_as_sources.json
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"test_id": "ACL-both_autogroups_as_sources",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "autogroup:tagged"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
117
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_sources_9_3.json
vendored
Normal file
117
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_sources_9_3.json
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"test_id": "ACL-both_autogroups_sources_9_3",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "autogroup:tagged"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
27
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_to_self_plus_tag_9_5.json
vendored
Normal file
27
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_to_self_plus_tag_9_5.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"test_id": "ACL-both_autogroups_to_self_plus_tag_9_5",
|
||||
"source": "headscale_adapted",
|
||||
"error": true,
|
||||
"headscale_differs": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"]
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"]
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "autogroup:tagged"],
|
||||
"dst": ["autogroup:self:*", "tag:server:22"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups (400)"
|
||||
}
|
||||
}
|
||||
}
|
||||
270
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_to_wildcard.json
vendored
Normal file
270
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_to_wildcard.json
vendored
Normal file
@@ -0,0 +1,270 @@
|
||||
{
|
||||
"test_id": "ACL-both_autogroups_to_wildcard",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["*:*"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
287
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_to_wildcard_14_42.json
vendored
Normal file
287
hscontrol/policy/v2/testdata/acl_results/ACL-both_autogroups_to_wildcard_14_42.json
vendored
Normal file
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"test_id": "ACL-both_autogroups_to_wildcard_14_42",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"]
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged"],
|
||||
"dst": ["*:*"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
99
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_as_destination.json
vendored
Normal file
99
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_as_destination.json
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_as_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "WildcardACLs",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["100.64.0.0/12:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.64.0.0/12",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
155
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_as_source.json
vendored
Normal file
155
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_as_source.json
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_as_source",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "WildcardACLs",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["100.64.0.0/16"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/16"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
85
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_as_destination_no_matching_nodes.json
vendored
Normal file
85
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_as_destination_no_matching_nodes.json
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_host_as_destination_no_matching_nodes",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["internal:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
155
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_as_source_v1.json
vendored
Normal file
155
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_as_source_v1.json
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_host_as_source_v1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Hosts",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["internal"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_as_source_v2.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_as_source_v2.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_host_as_source_v2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["internal"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
85
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_dest_6_6.json
vendored
Normal file
85
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_dest_6_6.json
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_host_dest_6_6",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["internal:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_plus_tag_as_sources.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_plus_tag_as_sources.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_host_plus_tag_as_sources",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["internal", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8", "100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_plus_tag_sources_12_1.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_plus_tag_sources_12_1.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_host_plus_tag_sources_12_1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["webserver:22", "database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8", "100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_source_6_5.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_host_source_6_5.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_host_source_6_5",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["internal"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_plus_tag.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_plus_tag.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_plus_tag",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "MixedSources",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["10.0.0.0/8", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8", "100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_subnet_plus_tag_as_sources_12_3.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-cidr_subnet_plus_tag_as_sources_12_3.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-cidr_subnet_plus_tag_as_sources_12_3",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["internal", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8", "100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
132
hscontrol/policy/v2/testdata/acl_results/ACL-cross_type_separate_rules.json
vendored
Normal file
132
hscontrol/policy/v2/testdata/acl_results/ACL-cross_type_separate_rules.json
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"test_id": "ACL-cross_type_separate_rules",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
153
hscontrol/policy/v2/testdata/acl_results/ACL-cross_type_separate_rules_10_1.json
vendored
Normal file
153
hscontrol/policy/v2/testdata/acl_results/ACL-cross_type_separate_rules_10_1.json
vendored
Normal file
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"test_id": "ACL-cross_type_separate_rules_10_1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["group:admins:80"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
hscontrol/policy/v2/testdata/acl_results/ACL-dest_order_db_server_5_2b.json
vendored
Normal file
127
hscontrol/policy/v2/testdata/acl_results/ACL-dest_order_db_server_5_2b.json
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"test_id": "ACL-dest_order_db_server_5_2b",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:database:80", "tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
hscontrol/policy/v2/testdata/acl_results/ACL-dest_order_server_db_5_2a.json
vendored
Normal file
127
hscontrol/policy/v2/testdata/acl_results/ACL-dest_order_server_db_5_2a.json
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"test_id": "ACL-dest_order_server_db_5_2a",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22", "tag:database:80"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
131
hscontrol/policy/v2/testdata/acl_results/ACL-diff_srcs_same_dest_14_6_v1.json
vendored
Normal file
131
hscontrol/policy/v2/testdata/acl_results/ACL-diff_srcs_same_dest_14_6_v1.json
vendored
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"test_id": "ACL-diff_srcs_same_dest_14_6_v1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.94.92.91/32", "fd7a:115c:a1e0::ef01:5c81/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
152
hscontrol/policy/v2/testdata/acl_results/ACL-diff_srcs_same_dest_14_6_v2.json
vendored
Normal file
152
hscontrol/policy/v2/testdata/acl_results/ACL-diff_srcs_same_dest_14_6_v2.json
vendored
Normal file
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"test_id": "ACL-diff_srcs_same_dest_14_6_v2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.94.92.91/32", "fd7a:115c:a1e0::ef01:5c81/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
156
hscontrol/policy/v2/testdata/acl_results/ACL-different_sources_same_destination_separate.json
vendored
Normal file
156
hscontrol/policy/v2/testdata/acl_results/ACL-different_sources_same_destination_separate.json
vendored
Normal file
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"test_id": "ACL-different_sources_same_destination_separate",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:database"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.94.92.91/32", "fd7a:115c:a1e0::ef01:5c81/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.74.60.128/32", "fd7a:115c:a1e0::2f01:3c9c/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
131
hscontrol/policy/v2/testdata/acl_results/ACL-different_srcs_same_dest_two_rules_v1.json
vendored
Normal file
131
hscontrol/policy/v2/testdata/acl_results/ACL-different_srcs_same_dest_two_rules_v1.json
vendored
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"test_id": "ACL-different_srcs_same_dest_two_rules_v1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
131
hscontrol/policy/v2/testdata/acl_results/ACL-different_srcs_same_dest_two_rules_v2.json
vendored
Normal file
131
hscontrol/policy/v2/testdata/acl_results/ACL-different_srcs_same_dest_two_rules_v2.json
vendored
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"test_id": "ACL-different_srcs_same_dest_two_rules_v2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.94.92.91/32", "fd7a:115c:a1e0::ef01:5c81/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
85
hscontrol/policy/v2/testdata/acl_results/ACL-empty_group_produces_no_filter.json
vendored
Normal file
85
hscontrol/policy/v2/testdata/acl_results/ACL-empty_group_produces_no_filter.json
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"test_id": "ACL-empty_group_produces_no_filter",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:empty"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
85
hscontrol/policy/v2/testdata/acl_results/ACL-empty_group_source_6_3.json
vendored
Normal file
85
hscontrol/policy/v2/testdata/acl_results/ACL-empty_group_source_6_3.json
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"test_id": "ACL-empty_group_source_6_3",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:empty"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-explicit_user_plus_tag.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-explicit_user_plus_tag.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-explicit_user_plus_tag",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "MixedSources",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["kratail2tid@", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
149
hscontrol/policy/v2/testdata/acl_results/ACL-full_autogroups_with_wildcard_and_specific_port.json
vendored
Normal file
149
hscontrol/policy/v2/testdata/acl_results/ACL-full_autogroups_with_wildcard_and_specific_port.json
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"test_id": "ACL-full_autogroups_with_wildcard_and_specific_port",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:tagged", "autogroup:member"],
|
||||
"dst": ["tag:server:*", "tag:database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.74.60.128/32",
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
180
hscontrol/policy/v2/testdata/acl_results/ACL-full_wildcard_plus_specific_rule.json
vendored
Normal file
180
hscontrol/policy/v2/testdata/acl_results/ACL-full_wildcard_plus_specific_rule.json
vendored
Normal file
@@ -0,0 +1,180 @@
|
||||
{
|
||||
"test_id": "ACL-full_wildcard_plus_specific_rule",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["*:*"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
hscontrol/policy/v2/testdata/acl_results/ACL-group_admins_22_plus_tag_server_80_2_4.json
vendored
Normal file
127
hscontrol/policy/v2/testdata/acl_results/ACL-group_admins_22_plus_tag_server_80_2_4.json
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"test_id": "ACL-group_admins_22_plus_tag_server_80_2_4",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["group:admins:22", "tag:server:80"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-group_admins_plus_tag_client_1_3.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-group_admins_plus_tag_client_1_3.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-group_admins_plus_tag_client_1_3",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_admins_to_webserver_4_3.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_admins_to_webserver_4_3.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-group_admins_to_webserver_4_3",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["webserver:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
hscontrol/policy/v2/testdata/acl_results/ACL-group_and_tag_destinations_distributed.json
vendored
Normal file
127
hscontrol/policy/v2/testdata/acl_results/ACL-group_and_tag_destinations_distributed.json
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"test_id": "ACL-group_and_tag_destinations_distributed",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["group:admins:22", "tag:server:80"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
125
hscontrol/policy/v2/testdata/acl_results/ACL-group_and_user_same_person_same_dest.json
vendored
Normal file
125
hscontrol/policy/v2/testdata/acl_results/ACL-group_and_user_same_person_same_dest.json
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"test_id": "ACL-group_and_user_same_person_same_dest",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["kratail2tid@"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_as_destination.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_as_destination.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-group_as_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "UsersGroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["group:admins:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
155
hscontrol/policy/v2/testdata/acl_results/ACL-group_as_source.json
vendored
Normal file
155
hscontrol/policy/v2/testdata/acl_results/ACL-group_as_source.json
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"test_id": "ACL-group_as_source",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "UsersGroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-group_plus_tag.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-group_plus_tag.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-group_plus_tag",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "MixedSources",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
125
hscontrol/policy/v2/testdata/acl_results/ACL-group_plus_user_same_person_same_dest_14_8.json
vendored
Normal file
125
hscontrol/policy/v2/testdata/acl_results/ACL-group_plus_user_same_person_same_dest_14_8.json
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"test_id": "ACL-group_plus_user_same_person_same_dest_14_8",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["kratail2tid@"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_to_host_alias.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_to_host_alias.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-group_to_host_alias",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["webserver:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_to_self.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_to_self.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-group_to_self",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_to_self_13_9.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-group_to_self_13_9.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-group_to_self_13_9",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
146
hscontrol/policy/v2/testdata/acl_results/ACL-group_user_same_person_same_dest_14_8.json
vendored
Normal file
146
hscontrol/policy/v2/testdata/acl_results/ACL-group_user_same_person_same_dest_14_8.json
vendored
Normal file
@@ -0,0 +1,146 @@
|
||||
{
|
||||
"test_id": "ACL-group_user_same_person_same_dest_14_8",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["kratail2tid@"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
113
hscontrol/policy/v2/testdata/acl_results/ACL-host_as_destination.json
vendored
Normal file
113
hscontrol/policy/v2/testdata/acl_results/ACL-host_as_destination.json
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"test_id": "ACL-host_as_destination",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Hosts",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["webserver:80"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
155
hscontrol/policy/v2/testdata/acl_results/ACL-host_as_source.json
vendored
Normal file
155
hscontrol/policy/v2/testdata/acl_results/ACL-host_as_source.json
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"test_id": "ACL-host_as_source",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "Hosts",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["webserver"],
|
||||
"dst": ["*:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.108.74.26/32"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.108.74.26/32", "fd7a:115c:a1e0::b901:4a87/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-host_cidr_plus_raw_cidr_same_12_4.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-host_cidr_plus_raw_cidr_same_12_4.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-host_cidr_plus_raw_cidr_same_12_4",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["webserver:22", "database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-host_plus_tag.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-host_plus_tag.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-host_plus_tag",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "MixedSources",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["internal", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8", "100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-host_plus_tag_client_1_5.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-host_plus_tag_client_1_5.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-host_plus_tag_client_1_5",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["webserver", "tag:client"],
|
||||
"dst": ["tag:database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
30
hscontrol/policy/v2/testdata/acl_results/ACL-host_to_self_13_13.json
vendored
Normal file
30
hscontrol/policy/v2/testdata/acl_results/ACL-host_to_self_13_13.json
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"test_id": "ACL-host_to_self_13_13",
|
||||
"source": "headscale_adapted",
|
||||
"error": true,
|
||||
"headscale_differs": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"]
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["webserver"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups (400)"
|
||||
}
|
||||
}
|
||||
}
|
||||
107
hscontrol/policy/v2/testdata/acl_results/ACL-icmp_numeric_protocol.json
vendored
Normal file
107
hscontrol/policy/v2/testdata/acl_results/ACL-icmp_numeric_protocol.json
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"test_id": "ACL-icmp_numeric_protocol",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ProtocolsPorts",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"proto": "1",
|
||||
"dst": ["tag:server:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [1]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
191
hscontrol/policy/v2/testdata/acl_results/ACL-many_sources_many_destinations_7_5.json
vendored
Normal file
191
hscontrol/policy/v2/testdata/acl_results/ACL-many_sources_many_destinations_7_5.json
vendored
Normal file
@@ -0,0 +1,191 @@
|
||||
{
|
||||
"test_id": "ACL-many_sources_many_destinations_7_5",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": [
|
||||
"autogroup:member",
|
||||
"group:admins",
|
||||
"kratail2tid@",
|
||||
"tag:client",
|
||||
"tag:web",
|
||||
"100.80.238.75",
|
||||
"100.94.92.91"
|
||||
],
|
||||
"dst": ["tag:server:22", "webserver:80", "100.108.74.26:443", "group:admins:8080", "kratail2tid@:9000"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 9000,
|
||||
"Last": 9000
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 9000,
|
||||
"Last": 9000
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 8080,
|
||||
"Last": 8080
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 8080,
|
||||
"Last": 8080
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-member_to_self_13_5.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-member_to_self_13_5.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-member_to_self_13_5",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68/32",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747/128",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
169
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_overlapping_rules.json
vendored
Normal file
169
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_overlapping_rules.json
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_overlapping_rules",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:80"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:web"],
|
||||
"dst": ["tag:server:443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
},
|
||||
{
|
||||
"SrcIPs": ["100.94.92.91/32", "fd7a:115c:a1e0::ef01:5c81/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_source_order_client_member_5_3b.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_source_order_client_member_5_3b.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_source_order_client_member_5_3b",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client", "autogroup:member"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_source_order_member_client_5_3a.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_source_order_member_client_5_3a.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_source_order_member_client_5_3a",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
139
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_comma_ports.json
vendored
Normal file
139
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_comma_ports.json
vendored
Normal file
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_comma_ports",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "tag:client"],
|
||||
"dst": ["tag:server:22,80,443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
139
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_comma_ports_11_1.json
vendored
Normal file
139
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_comma_ports_11_1.json
vendored
Normal file
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_comma_ports_11_1",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "tag:client"],
|
||||
"dst": ["tag:server:22,80,443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
137
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_in_multiple_rules.json
vendored
Normal file
137
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_in_multiple_rules.json
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_in_multiple_rules",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client", "tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "group:admins"],
|
||||
"dst": ["tag:database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
165
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_mixed_port_formats_11_3.json
vendored
Normal file
165
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_mixed_port_formats_11_3.json
vendored
Normal file
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_mixed_port_formats_11_3",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client", "tag:web"],
|
||||
"dst": ["tag:server:22", "tag:server:80-443", "tag:database:5432,3306"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 3306,
|
||||
"Last": 3306
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 3306,
|
||||
"Last": 3306
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
132
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_multiple_rules_10_5.json
vendored
Normal file
132
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_multiple_rules_10_5.json
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_multiple_rules_10_5",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client", "tag:web"],
|
||||
"dst": ["tag:server:22", "tag:server:80-443", "tag:database:5432,3306"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.90.199.68/32", "fd7a:115c:a1e0::2d01:c747/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_port_range_11_2.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_port_range_11_2.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_port_range_11_2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins", "webserver"],
|
||||
"dst": ["tag:server:80-443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.108.74.26/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_with_port_range.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_with_port_range.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_with_port_range",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "tag:client"],
|
||||
"dst": ["tag:server:80-443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::7901:ee86/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_with_port_range_11_2.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_sources_with_port_range_11_2.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_sources_with_port_range_11_2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins", "webserver"],
|
||||
"dst": ["tag:server:80-443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68/32",
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
27
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_valid_invalid_sources_to_self_13_25.json
vendored
Normal file
27
hscontrol/policy/v2/testdata/acl_results/ACL-mixed_valid_invalid_sources_to_self_13_25.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"test_id": "ACL-mixed_valid_invalid_sources_to_self_13_25",
|
||||
"source": "headscale_adapted",
|
||||
"error": true,
|
||||
"headscale_differs": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"]
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:client": ["kratail2tid@"]
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["autogroup:member", "tag:client"],
|
||||
"dst": ["autogroup:self:*"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups (400)"
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_cidr_hosts_as_sources.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_cidr_hosts_as_sources.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_cidr_hosts_as_sources",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["internal", "subnet24"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8", "192.168.1.0/24"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_cidr_hosts_sources_12_2.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_cidr_hosts_sources_12_2.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_cidr_hosts_sources_12_2",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["webserver:22", "database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["10.0.0.0/8", "192.168.1.0/24"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_cidr_plus_tag_destinations_12_5.json
vendored
Normal file
106
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_cidr_plus_tag_destinations_12_5.json
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_cidr_plus_tag_destinations_12_5",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["internal:22", "subnet24:80", "tag:server:443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
134
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_comma_separated_ports.json
vendored
Normal file
134
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_comma_separated_ports.json
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_comma_separated_ports",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ProtocolsPorts",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["*"],
|
||||
"dst": ["tag:server:22,80,443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.64.0.0/10", "fd7a:115c:a1e0::/48"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
148
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_destination_tags.json
vendored
Normal file
148
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_destination_tags.json
vendored
Normal file
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_destination_tags",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "BasicTags",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22", "tag:database:5432", "tag:web:80"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.94.92.91/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::ef01:5c81/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_destinations_different_ports.json
vendored
Normal file
127
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_destinations_different_ports.json
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_destinations_different_ports",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "UsersGroups",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22", "tag:database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_host_destinations.json
vendored
Normal file
127
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_host_destinations.json
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_host_destinations",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["webserver:22", "database:5432"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.74.60.128/32",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2f01:3c9c/128",
|
||||
"Ports": {
|
||||
"First": 5432,
|
||||
"Last": 5432
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
139
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_rules_same_source_merged.json
vendored
Normal file
139
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_rules_same_source_merged.json
vendored
Normal file
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_rules_same_source_merged",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "ComplexScenarios",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:22"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client"],
|
||||
"dst": ["tag:server:80,443"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": ["100.80.238.75/32", "fd7a:115c:a1e0::7901:ee86/128"],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
111
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_source_tags.json
vendored
Normal file
111
hscontrol/policy/v2/testdata/acl_results/ACL-multiple_source_tags.json
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"test_id": "ACL-multiple_source_tags",
|
||||
"source": "headscale_adapted",
|
||||
"parent_test": "BasicTags",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": ["kratail2tid@"],
|
||||
"group:developers": ["kratail2tid@"],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": ["kratail2tid@"],
|
||||
"tag:client": ["kratail2tid@"],
|
||||
"tag:database": ["kratail2tid@"],
|
||||
"tag:web": ["kratail2tid@"]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"database": "100.74.60.128",
|
||||
"internal": "10.0.0.0/8",
|
||||
"subnet24": "192.168.1.0/24"
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["tag:client", "tag:web"],
|
||||
"dst": ["tag:server:22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747",
|
||||
"user": "kratail2tid"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": ["tag:server"],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": ["tag:client"],
|
||||
"ipv4": "100.80.238.75",
|
||||
"ipv6": "fd7a:115c:a1e0::7901:ee86"
|
||||
},
|
||||
"tagged-db": {
|
||||
"hostname": "tagged-db",
|
||||
"tags": ["tag:database"],
|
||||
"ipv4": "100.74.60.128",
|
||||
"ipv6": "fd7a:115c:a1e0::2f01:3c9c"
|
||||
},
|
||||
"tagged-web": {
|
||||
"hostname": "tagged-web",
|
||||
"tags": ["tag:web"],
|
||||
"ipv4": "100.94.92.91",
|
||||
"ipv6": "fd7a:115c:a1e0::ef01:5c81"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-db": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-web": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.80.238.75/32",
|
||||
"100.94.92.91/32",
|
||||
"fd7a:115c:a1e0::7901:ee86/128",
|
||||
"fd7a:115c:a1e0::ef01:5c81/128"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26/32",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87/128",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [6, 17, 1, 58]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user