[go: up one dir, main page]

File: infoflow.conf

package info (click to toggle)
setools 4.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,900 kB
  • sloc: python: 20,968; makefile: 14
file content (193 lines) | stat: -rw-r--r-- 3,484 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
class infoflow
class infoflow2
class infoflow3
class file
class process

sid kernel
sid security

common infoflow
{
	low_w
	med_w
	hi_w
	low_r
	med_r
	hi_r
}

class infoflow
inherits infoflow

class infoflow2
inherits infoflow
{
	super
}

class infoflow3
{
	null
}

class file
{
	execute
	entrypoint
}

class process
{
	transition
}

sensitivity low_s;
sensitivity medium_s alias med;
sensitivity high_s;

dominance { low_s med high_s }

category here;
category there;
category elsewhere alias lost;

#level decl
level low_s:here.there;
level med:here, elsewhere;
level high_s:here.lost;

#some constraints
mlsconstrain infoflow hi_r ((l1 dom l2) or (t1 == mls_exempt));

attribute mls_exempt;

type system;
role system;
role system types system;

################################################################################
# Note: these tests should be to determine if the graph
# is being constructed correctly.  It is assumed that the
# graph algorithms being used are correct, as they are
# unit tested by the NetworkX project itself.
#
#
# Max steps for all flows: 6
#
# Graph if min weight is 8
#
#
#        4 -> 6 -> 7       d1 <-> d2
#        ^
# 1 -> 2-/
#
#       3     5 -> 8 <-> 9
#
# Graph if min weight is 3
#
#
#        4 -> 6 -> 7       d1 <-> d2
#        ^    |
# 1 -> 2-/    |
#   \         v
#    -> 3     5 -> 8 <-> 9
#
# Graph if min weight is 1
#
#
#        4 -> 6 -> 7       d1 <-> d2
#        ^    |
# 1 -> 2-/    |
#   \         v
#    -> 3  -> 5 -> 8 <-> 9
#
#
#
attribute allnodes;
type node1, allnodes;
type node2, allnodes;
type node3, allnodes;
type node4, allnodes;
type node5, allnodes;
type node6, allnodes;
type node7, allnodes;
type node8, allnodes;
type node9, allnodes;

# no infoflow
allow allnodes allnodes:infoflow3 null;

# 1->2 (10, 5)
allow node1 node2:infoflow med_w;
allow node2 node1:infoflow hi_r;

# 1->3 (5, 1)
allow node3 node1:infoflow { low_r med_r };

# 2->4 (10)
allow node2 node4:infoflow hi_w;

# 3->5 (1)
allow node5 node3:infoflow low_r;

# 4->6 (10)
allow node4 node6:infoflow2 hi_w;

# 6->5 (5)
allow node5 node6:infoflow med_r;

# 6->7 (10)
allow node6 node7:infoflow hi_w;

# 5->8 (10)
allow node5 node8:infoflow2 hi_w;

# 8 <-> 9 (10)
allow node8 node9:infoflow2 super;


# disconnected from the main graph
# for testing the handling of no
# paths.
type disconnected1;
type disconnected2;
allow disconnected1 disconnected2:infoflow2 super;


# not an infoflow:
type disconnected3;
auditallow node1 disconnected3:infoflow hi_w;

# infoflow loop that should be ignored:
allow disconnected3 self:infoflow hi_w;

################################################################################

#users
user system roles system level med range low_s - high_s:here.lost;

#normal constraints
constrain infoflow hi_w (u1 == u2);

#isids
sid kernel system:system:system:medium_s:here
sid security system:system:system:high_s:lost

#fs_use
fs_use_trans devpts system:object_r:system:low_s;
fs_use_xattr ext3 system:object_r:system:low_s;
fs_use_task pipefs system:object_r:system:low_s;

#genfscon
genfscon proc / system:object_r:system:med
genfscon proc /sys system:object_r:system:low_s
genfscon selinuxfs / system:object_r:system:high_s:here.there

portcon tcp 80 system:object_r:system:low_s

netifcon eth0 system:object_r:system:low_s system:object_r:system:low_s

nodecon 127.0.0.1 255.255.255.255 system:object_r:system:low_s:here
nodecon ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff system:object_r:system:low_s:here