File: security.rd

package info (click to toggle)
drb 2.0.4-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 492 kB
  • ctags: 697
  • sloc: ruby: 5,132; makefile: 45
file content (37 lines) | stat: -rw-r--r-- 1,441 bytes parent folder | download
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
=begin
= dRubySecurity.en

== About the security of dRuby

* What is dRuby?
   * dRuby is a Ruby library that allows Ruby objects to call the methods
     of other Ruby objects across the network.

* How does dRuby protect communications?
   * dRuby does not perform encryption or authentication.

* Is a dRuby service protected from a malicious method call?
   * No, it is not protected nor does dRuby provide a sandbox model.

* Can anyone call a method?
   * Any host or process can call a method but this can be limited by:
     * ACL's can be used to limit the hosts that a connection can come from.
     * drb-1.3.7 can provide its service to be available only to localhost
       connections (e.g. druby://localhost:port)
     * SSL and UNIX domain sockets can be used in drb-2.x

* Can any method be called?
   * Although dRuby strives to implmement the same visibility model as
     Ruby, it is not extactly the same.  The behavior is:
     * A private method cannot be directly called (see below).
     * A protected method can be called.

* Is it safe if the method which you don't want to be called is
  declared private?
   * Although private methods cannot be directly called, one can get
     around this with the :send, :method and :extend (and possibly others).

* Can the :eval method be called?
   * Yes it can unless the safe level is set to $SAFE=1. 
     In this case, the Ruby interpreter raises a SecurityError.
=end