Skip to content

Commit c1881ea

Browse files
author
Richard Jones
committed
More thoughts
1 parent d8ef46e commit c1881ea

File tree

1 file changed

+49
-4
lines changed

1 file changed

+49
-4
lines changed

doc/security.txt

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Security Mechanisms
33
===================
44

5-
:Version: $Revision: 1.2 $
5+
:Version: $Revision: 1.3 $
66

77
Current situation
88
=================
@@ -16,14 +16,20 @@ ANONYMOUS_REGISTER = 'deny'
1616
ANONYMOUS_REGISTER_MAIL = 'deny'
1717
Deny or allow anonymous users to register through the mail interface
1818

19-
The web interface implements another level of user-interface security,
19+
Current user interface authentication and controls:
20+
21+
- command-line tool access controlled with passwords, but no logical controls
22+
- CGI access is by username and password and has some logical controls
23+
- mailgw access is through identification using sender email address, with
24+
limited functionality available
25+
26+
The web interface implements has specific logical controls,
2027
preventing non-admin users from accessing:
2128

2229
- other user's details pages
2330
- listing the base classes (not issues or their user page)
2431
- editing base classes
2532

26-
2733
Issues
2834
======
2935

@@ -32,7 +38,9 @@ Issues
3238
but restrict those users from accessing the web interface.
3339
3. Only one user may perform admin functions.
3440
4. There is no verification of users in the mail gateway by any means other
35-
than the From address. Support for strong signatures should be added.
41+
than the From address. Support for strong identification through digital
42+
signatures should be added.
43+
5. The command-line tool has no logical controls.
3644

3745

3846
Possible approaches
@@ -50,6 +58,7 @@ In all cases, the security built into roundup assumes restricted access to the
5058
hyperdatabase itself, through Operating System controls such as user or group
5159
permissions.
5260

61+
5362
Hyperdb-level control
5463
---------------------
5564

@@ -115,6 +124,8 @@ Cons:
115124

116125
- large number of possible permissions that may be defined, possibly
117126
mirroring actual user interface controls.
127+
- access to the hyperdb must be strictly controlled through program code
128+
that implements the logical controls.
118129

119130

120131
Applying controls to users
@@ -201,7 +212,41 @@ The instance dbinit module then has::
201212
r = db.getclass('role').find('User')
202213
user.create(username="anonymous", roles=[r])
203214

215+
216+
Authentication of Users
217+
-----------------------
218+
219+
Users must be authenticated correctly for the above controls to work. This is
220+
not done in the current mail gateway at all. Use of digital signing of
221+
messages could alleviate this problem.
222+
223+
The exact mechanism of registering the digital signature should be flexible,
224+
with perhaps a level of trust. Users who supply their signature through their
225+
first message into the tracker should be at a lower level of trust to those
226+
who supply their signature to an admin for submission to their user details.
227+
228+
229+
Action
230+
======
231+
232+
The CGI interface must be changed to:
233+
234+
- authenticate over a secure connection
235+
- use unique tokens as a result of authentication, rather than pass the user's
236+
real credentials (username/password) around for each request (this means
237+
sessions :)
238+
- use the new logical control mechanisms
239+
240+
The mail gateway must be changed to:
241+
242+
- use digital signatures
243+
- use the new logical control mechanisms
204244

245+
The command-line tool must be changed to:
246+
247+
- use the new logical control mechanisms (only allowing write
248+
access by admin users, and read-only by everyone else)
249+
205250

206251
Use cases
207252
=========

0 commit comments

Comments
 (0)