User guide
Chapter 6. Profiling
68
• The module was compiled using the --unprivileged option.
• The module meets the restrictions required for use by an unprivileged user.
• The module has not been tampered with since it was created.
6.4.3. SSL and Certificate Management
SystemTap in Red Hat Enterprise Linux 6 implements authentication and security via certificates and
public/private key pairs. It is the responsibility of the system administrator to add the credentials (i.e.
certificates) of compile servers to a database of trusted servers. SystemTap uses this database to
verify the identity of a compile server that the client attempts to access. Likewise, SystemTap also
uses this method to verify kernel modules created by compile servers using the --unprivileged
option.
6.4.3.1. Authorizing Compile Servers for Connection
The first time a compile server is started on a server host, the compile server automatically generates
a certificate. This certificate verifies the compile server's identity during SSL authentication and module
signing.
In order for clients to access the compile server (whether on the same server host or from a client
machine), the system administrator must add the compile server's certificate to a database of trusted
servers. Each client host intending to use compile servers maintains such a database. This allows
individual users to customize their database of trusted servers, which can include a list of compile
servers authorized for their own use only.
6.4.3.2. Authorizing Compile Servers for Module Signing (for
Unprivileged Users)
Unprivileged users can only load signed, authorized SystemTap kernel modules. For modules to
be recognized as such, they have to be created by a compile server whose certificate appears in a
database of trusted signers; this database must be maintained on each host where the module will be
loaded.
6.4.3.3. Automatic Authorization
Servers started using the stap-server initscript are automatically authorized to receive connections
from all clients on the same host.
Servers started by other means are automatically authorized to receive connections from clients on
the same host run by the user who started the server. This was implemented with convenience in
mind; users are automatically authorized to connect to a server they started themselves, provided that
both client and server are running on the same host.
Whenever root starts a compile server, all clients running on the same host automatically recognize
the server as authorized. However, Red Hat advises that you refrain from doing so.
Similarly, a compile server initiated through stap-server is automatically authorized as a trusted
signer on the host in which it runs. If the compile server was initiated through other means, it is not
automatically authorized as such.
6.4.4. SystemTap Documentation
For more detailed information about SystemTap, refer to the following books (also provided by Red
Hat):