Skip to content

Commit c196a47

Browse files
committed
[irods/irods 2626] Replace "SSL" with "TLS" where appropriate
1 parent 6afcf32 commit c196a47

File tree

5 files changed

+31
-25
lines changed

5 files changed

+31
-25
lines changed

docs/plugins/pluggable_authentication.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The authentication methods are now contained in plugins. By default, similar to iRODS 3.3 and prior, iRODS comes with native iRODS challenge/response (password) enabled. However, enabling an additional authentication mechanism is as simple as adding a file to the proper directory. The server does not need to be restarted.
44

5-
By default, iRODS uses a secure password system for user authentication. The user passwords are scrambled and stored in the iCAT database. Additionally, iRODS supports user authentication via PAM (Pluggable Authentication Modules), which can be configured to support many things, including the LDAP or Active Directory (AD) authentication systems. PAM and SSL have been configured 'available' out of the box with iRODS, but there is still some setup required to configure an installation to communicate with your external authentication server of choice.
5+
By default, iRODS uses a secure password system for user authentication. The user passwords are scrambled and stored in the iCAT database. Additionally, iRODS supports user authentication via PAM (Pluggable Authentication Modules), which can be configured to support many things, including the LDAP or Active Directory (AD) authentication systems. PAM and TLS have been configured 'available' out of the box with iRODS, but there is still some setup required to configure an installation to communicate with your external authentication server of choice.
66

77
The iRODS administrator can 'force' a particular authentication scheme for a rodsuser by 'blanking' the native password for the rodsuser. There is currently no way to signal to a particular login attempt that it is using an incorrect scheme ([GitHub Issue #2005](https://github.com/irods/irods/issues/2005)).
88

@@ -24,7 +24,7 @@ For PAM Authentication, the iRODS user selects the new iRODS PAM authentication
2424
"irods_authentication_scheme": "pam_password",
2525
~~~
2626

27-
Then, the user runs 'iinit' and enters their system password. To protect the system password, SSL (via OpenSSL) is used to encrypt the `iinit` session.
27+
Then, the user runs 'iinit' and enters their system password. To protect the system password, TLS (via OpenSSL) is used to encrypt the `iinit` session.
2828

2929
Configuring the operating system, the service name used for PAM is 'irods'. An addition to /etc/pam.d/ is required if the fall-through behavior is not desired.
3030

@@ -78,10 +78,10 @@ This will allow any username/password combination to successfully authenticate w
7878

7979
With the permissive configuration working with irodsPamAuthCheck, the next step is to adjust your PAM configuration to your desired settings (LDAP, in this case). You will know that is correct when irodsPamAuthCheck behaves as you would expect when using LDAP username/passwords. iRODS uses irodsPamAuthCheck directly, so if it is working on the command line, it should work when run by iRODS.
8080

81-
### Setting up SSL/TLS
81+
### Setting up TLS
8282

83-
Since PAM requires the user's password in plaintext, iRODS relies on SSL encryption to protect these credentials. PAM authentication makes use of SSL regardless of the iRODS Zone SSL configuration (meaning even if iRODS explicitly does *not* encrypt data traffic, PAM will use SSL during authentication).
83+
Since PAM requires the user's password in plaintext, iRODS relies on TLS encryption to protect these credentials. PAM authentication makes use of TLS regardless of the iRODS Zone TLS configuration (meaning even if iRODS explicitly does *not* encrypt data traffic, PAM will use TLS during authentication).
8484

85-
In order to use the iRODS PAM support, you also need to have SSL working between the iRODS client and server.
85+
In order to use the iRODS PAM support, you also need to have TLS working between the iRODS client and server.
8686

87-
See [SSL/TLS Documentation](../../system_overview/ssl_and_tls) for instructions to set up SSL/TLS communications between iRODS clients and servers.
87+
See [TLS Documentation](../../system_overview/tls) for instructions to set up TLS communications between iRODS clients and servers.

docs/plugins/pluggable_network.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
#
22

3-
iRODS now ships with both TCP and SSL network plugins enabled. The SSL mechanism is provided via OpenSSL and wraps the activity from the TCP plugin.
3+
iRODS provides both TCP and TLS network plugins.
44

5-
The SSL parameters are tunable via the following `irods_environment.json` variables:
5+
!!! Note
6+
The TLS network plugin is named the "SSL" plugin for legacy reasons. This documentation will use the term "TLS".
7+
8+
The TLS mechanism is provided via OpenSSL and wraps the activity from the TCP plugin.
9+
10+
The TLS parameters are tunable via the following `irods_environment.json` variables:
611

712
~~~
813
"irods_client_server_negotiation": "request_server_negotiation",
@@ -17,17 +22,17 @@ The only valid value for 'irods_client_server_negotiation' at this time is 'requ
1722

1823
The possible values for 'irods_client_server_policy' include:
1924

20-
- CS_NEG_REQUIRE: This side of the connection requires an SSL connection
21-
- CS_NEG_DONT_CARE: This side of the connection will connect either with or without SSL
22-
- CS_NEG_REFUSE: (default) This side of the connection refuses to connect via SSL
25+
- CS_NEG_REQUIRE: This side of the connection requires an TLS connection
26+
- CS_NEG_DONT_CARE: This side of the connection will connect either with or without TLS
27+
- CS_NEG_REFUSE: (default) This side of the connection refuses to connect via TLS
2328

2429
On the server side, the `core.re` has a default value of 'CS_NEG_DONT_CARE' in the acPreConnect() rule:
2530

2631
~~~
2732
acPreConnect(*OUT) { *OUT="CS_NEG_DONT_CARE"; }
2833
~~~
2934

30-
In order for a connection to be made, the client and server have to agree on the type of connection they will share. When both sides choose `CS_NEG_DONT_CARE`, iRODS shows an affinity for security by connecting via SSL. Additionally, it is important to note that all servers in an iRODS Zone are required to share the same SSL credentials (certificates, keys, etc.). Maintaining per-route certificates is not supported at this time.
35+
In order for a connection to be made, the client and server have to agree on the type of connection they will share. When both sides choose `CS_NEG_DONT_CARE`, iRODS shows an affinity for security by connecting via TLS. Additionally, it is important to note that all servers in an iRODS Zone are required to share the same TLS credentials (certificates, keys, etc.). Maintaining per-route certificates is not supported at this time.
3136

32-
The remaining parameters are standard SSL parameters and made available through the EVP library included with OpenSSL. You can read more about these remaining parameters at [https://www.openssl.org/docs/crypto/evp.html](https://www.openssl.org/docs/crypto/evp.html).
37+
The remaining parameters are standard TLS parameters and made available through the EVP library included with OpenSSL. You can read more about these remaining parameters at [https://www.openssl.org/docs/crypto/evp.html](https://www.openssl.org/docs/crypto/evp.html).
3338

docs/system_overview/configuration.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -523,16 +523,16 @@ This is the main iRODS configuration file defining the iRODS environment. Any ch
523523
{
524524
// (Optional)
525525
// Set to "request_server_negotiation" indicating advanced negotiation is desired,
526-
// for use in enabling SSL and other technologies.
526+
// for use in enabling TLS and other technologies.
527527
"irods_client_server_negotiation": "request_server_negotiation",
528528

529529
// (Optional)
530-
// Controls whether the client and server should use SSL/TLS for communication.
530+
// Controls whether the client and server should use TLS for communication.
531531
//
532532
// The following values are supported:
533-
// - CS_NEG_REFUSE: Do not use SSL
534-
// - CS_NEG_REQUIRE: Demand SSL be used
535-
// - CS_NEG_DONT_CARE: Let the server decide if SSL should be used
533+
// - CS_NEG_REFUSE: Do not use TLS
534+
// - CS_NEG_REQUIRE: Demand TLS be used
535+
// - CS_NEG_DONT_CARE: Let the server decide if TLS should be used
536536
"irods_client_server_policy": "CS_NEG_REFUSE",
537537

538538
// Number of seconds after which an existing connection in a connection pool is refreshed.
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#
22

3-
Throughout this page, "SSL" (or, Secure Sockets Layer) will be used interchangeably with "TLS" (or, Transport Layer Security).
3+
!!! Note
4+
The TLS network plugin is named the "SSL" plugin for legacy reasons. This documentation will use the term "TLS".
45

5-
The SSL communication between client and iRODS server needs some basic setup in order to function properly.
6+
The TLS communication between client and iRODS server needs some basic setup in order to function properly.
67

7-
## Server SSL Setup
8+
## Server TLS Setup
89

910
Much of the setup concerns getting a proper X.509 certificate setup on the server side, and setting up the trust for the server certificate on the client side. You can use either a self-signed certificate (best for testing) or a certificate from a trusted CA.
1011

@@ -102,9 +103,9 @@ In order for the configuration to take effect, the iRODS server configuration mu
102103
irods@hostname:~/ $ kill -HUP $(cat /var/run/irods/irods-server.pid)
103104
~~~
104105

105-
## Client SSL Setup
106+
## Client TLS Setup
106107

107-
The client may or may not require configuration at the SSL level, but there are a few parameters that can be set via `irods_environment.json` properties to customize the client SSL interaction if necessary. In many cases, if the server's certificate comes from a common CA, your system might already be configured to accept certificates from that CA, and you will not have to adjust the client configuration at all. For example, on Debian-based systems, the `/etc/ssl/certs` directory is used as a repository for system trusted certificates installed via an Ubuntu package. Many of the commercial certificate vendors such as VeriSign and AddTrust have their certificates already installed.
108+
The client may or may not require configuration at the TLS level, but there are a few parameters that can be set via `irods_environment.json` properties to customize the client TLS interaction if necessary. In many cases, if the server's certificate comes from a common CA, your system might already be configured to accept certificates from that CA, and you will not have to adjust the client configuration at all. For example, on Debian-based systems, the `/etc/ssl/certs` directory is used as a repository for system trusted certificates installed via an Ubuntu package. Many of the commercial certificate vendors such as VeriSign and AddTrust have their certificates already installed.
108109

109110
### Server Verification Settings
110111

@@ -126,7 +127,7 @@ Then, the client library will only require certificate validation, but will not
126127

127128
### Encryption Settings
128129

129-
The following SSL encryption settings are required in `irods_environment.json` on both sides of the connection (client and server) and the values must match:
130+
The following TLS encryption settings are required in `irods_environment.json` on both sides of the connection (client and server) and the values must match:
130131

131132
- `irods_encryption_algorithm` (required) - EVP-supplied encryption algorithm for parallel transfer encryption
132133
- `irods_encryption_key_size` (required) - Key size for parallel transfer encryption

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ nav:
5454
- Process Model: 'system_overview/process_model.md'
5555
- Control Plane: 'system_overview/control_plane.md'
5656
- Configuration: 'system_overview/configuration.md'
57-
- SSL/TLS: 'system_overview/ssl_and_tls.md'
57+
- TLS/SSL: 'system_overview/tls.md'
5858
- Users and Permissions: 'system_overview/users_and_permissions.md'
5959
- GenQuery: 'system_overview/genquery.md'
6060
- Backing Up: 'system_overview/backing_up.md'

0 commit comments

Comments
 (0)