xref: /illumos-gate/usr/src/man/man7/nfssec.7 (revision 16b76d3cb933ff92018a2a75594449010192eacb)
te
Copyright 2014 Nexenta Systems, Inc. All rights reserved.
Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
NFSSEC 7 "Nov 20, 2014"
NAME
nfssec - overview of NFS security modes
DESCRIPTION

The mount_nfs(8) and share_nfs(8) commands each provide a way to specify the security mode to be used on an NFS file system through the sec=mode option. mode can be sys, dh, krb5, krb5i, krb5p, or none. These security modes can also be added to the automount maps. Note that mount_nfs(8) and automount(8) do not support sec=none at this time. mount_nfs(8) allows you to specify a single security mode; share_nfs(8) allows you to specify multiple modes (or none). With multiple modes, an NFS client can choose any of the modes in the list.

The sec=mode option on the share_nfs(8) command line establishes the security mode of NFS servers. If the NFS connection uses the NFS Version 3 protocol, the NFS clients must query the server for the appropriate mode to use. If the NFS connection uses the NFS Version 2 protocol, then the NFS client uses the default security mode, which is currently sys. NFS clients may force the use of a specific security mode by specifying the sec=mode option on the command line. However, if the file system on the server is not shared with that security mode, the client may be denied access.

If the NFS client wants to authenticate the NFS server using a particular (stronger) security mode, the client wants to specify the security mode to be used, even if the connection uses the NFS Version 3 protocol. This guarantees that an attacker masquerading as the server does not compromise the client.

The NFS security modes are described below. Of these, the krb5, krb5i, krb5p modes use the Kerberos V5 protocol for authenticating and protecting the shared filesystems. Before these can be used, the system must be configured to be part of a Kerberos realm. See kerberos(7). sys

Use AUTH_SYS authentication. The user's UNIX user-id and group-ids are passed in the clear on the network, unauthenticated by the NFS server. This is the simplest security method and requires no additional administration. It is the default used by Solaris NFS Version 2 clients and Solaris NFS servers. According to the ONC RPC specification (RFC 5531), AUTH_SYS authentication supports up to 16 groups for a user only. To workaround this limitation, in the case where the NFS client supplied 16 groups in AUTH_SYS and NGROUPS_MAX is more than 16, the NFS server will lookup the user's groups on the server instead of relying on the list of groups provided by the NFS client via AUTH_SYS.

dh

Use a Diffie-Hellman public key system (AUTH_DES, which is referred to as AUTH_DH in the forthcoming Internet RFC).

krb5

Use Kerberos V5 protocol to authenticate users before granting access to the shared filesystem.

krb5i

Use Kerberos V5 authentication with integrity checking (checksums) to verify that the data has not been tampered with.

krb5p

User Kerberos V5 authentication, integrity checksums, and privacy protection (encryption) on the shared filesystem. This provides the most secure filesystem sharing, as all traffic is encrypted. It should be noted that performance might suffer on some systems when using krb5p, depending on the computational intensity of the encryption algorithm and the amount of data being transferred.

none

Use null authentication (AUTH_NONE). NFS clients using AUTH_NONE have no identity and are mapped to the anonymous user nobody by NFS servers. A client using a security mode other than the one with which a Solaris NFS server shares the file system has its security mode mapped to AUTH_NONE. In this case, if the file system is shared with sec=none, users from the client are mapped to the anonymous user. The NFS security mode none is supported by share_nfs(8), but not by mount_nfs(8) or automount(8).

FILES
/etc/nfssec.conf

NFS security service configuration file

SEE ALSO

rpc_clnt_auth (3NSL), secure_rpc (3NSL), nfssec.conf (5), attributes (7), kerberos (7), automount (8), kclient (8), mount_nfs (8), share_nfs (8)

NOTES

/etc/nfssec.conf lists the NFS security services. Do not edit this file. It is not intended to be user-configurable. See kclient(8).