You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/plugins/pluggable_authentication.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
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.
4
4
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.
6
6
7
7
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)).
8
8
@@ -24,7 +24,7 @@ For PAM Authentication, the iRODS user selects the new iRODS PAM authentication
24
24
"irods_authentication_scheme": "pam_password",
25
25
~~~
26
26
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.
28
28
29
29
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.
30
30
@@ -78,10 +78,10 @@ This will allow any username/password combination to successfully authenticate w
78
78
79
79
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.
80
80
81
-
### Setting up SSL/TLS
81
+
### Setting up TLS
82
82
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).
84
84
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.
86
86
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.
@@ -17,17 +22,17 @@ The only valid value for 'irods_client_server_negotiation' at this time is 'requ
17
22
18
23
The possible values for 'irods_client_server_policy' include:
19
24
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
23
28
24
29
On the server side, the `core.re` has a default value of 'CS_NEG_DONT_CARE' in the acPreConnect() rule:
25
30
26
31
~~~
27
32
acPreConnect(*OUT) { *OUT="CS_NEG_DONT_CARE"; }
28
33
~~~
29
34
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.
31
36
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).
Copy file name to clipboardExpand all lines: docs/system_overview/tls.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,11 @@
1
1
#
2
2
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".
4
5
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.
6
7
7
-
## Server SSL Setup
8
+
## Server TLS Setup
8
9
9
10
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.
10
11
@@ -102,9 +103,9 @@ In order for the configuration to take effect, the iRODS server configuration mu
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.
108
109
109
110
### Server Verification Settings
110
111
@@ -126,7 +127,7 @@ Then, the client library will only require certificate validation, but will not
126
127
127
128
### Encryption Settings
128
129
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:
130
131
131
132
-`irods_encryption_algorithm` (required) - EVP-supplied encryption algorithm for parallel transfer encryption
132
133
-`irods_encryption_key_size` (required) - Key size for parallel transfer encryption
0 commit comments