Best practices for configuring a secure environment
When securing ArcGIS Server, it's important that the environment ArcGIS Server runs in be secure as well. There are several security best practices that you can follow to ensure the greatest security.
Restricting file permissions
It is recommended that file permissions be set so that only necessary access is granted to the ArcGIS Server installation directory, configuration store, and server directories. The only account that the ArcGIS Server software requires to have access to is the ArcGIS Server account. This is the account that is being used to run the software. Your organization may require that additional accounts also be given access. Keep in mind that the ArcGIS Server account needs full access to the installation directory, configuration store, and server directories in order for your site to function properly.
ArcGIS Server is installed with file permissions that only allow the account running ArcGIS Server access to the files. Files created by ArcGIS Server such as the configuration store and server directories are already locked down so that only the account running ArcGIS Server can access them.
Any account that has write access to the configuration store can change ArcGIS Server settings that normally can only be modified by an administrator of the system. If a built-in security store is being used to maintain users, the configuration store will contain encrypted passwords for those users. In this case, read access to the configuration store should also be restricted.
If you have secured map or geoprocessing services, it's important to lock down file permissions on the server directories to ensure that unauthorized accounts don't obtain access to maps and geoprocessing job outputs.
Disabling the primary site administrator account
The primary site administrator account is the account that you specify when you first create a site in ArcGIS Server Manager. It's name and password are recognized only by ArcGIS Server; it is not an operating system account, and it is managed separately from the users account in your identity store.
It's recommended that you disable the primary site administrator account. This ensures that there isn't another way to administer ArcGIS Server other than the group or role you've specified in your identity store. See Disabling the primary site administrator account for full instructions.
Defining the shared key used to generate an ArcGIS token
An ArcGIS token is a string of encrypted information. The shared key is the cryptographic key used to generate this encrypted string. The more complex the shared key, the harder it is for a malicious user to break the encryption and decipher the shared key. If a user is able to decipher the shared key, replicate ArcGIS Server's encryption algorithm, and obtain the list of authorized users, the user will be able to generate tokens and consume any secured resource on that particular ArcGIS Server.
Before defining a shared key, consider the following:
- The shared key should be set to 16 characters (any characters beyond 16 are not used). It is recommended that you use a sequence of random characters for the key. Any characters may be used, including nonalphanumeric characters.
- The key should not be set to a dictionary word or a common value that is easily guessed. Since there is no need to remember the key or use it elsewhere, key complexity does not pose the same issues as it does with passwords.
- The token is encrypted with the shared key using the Advanced Encryption Standard (AES), also known as Rijndael. The 16 characters in the key represent the 128 bits used for encryption. For more information on encryption and AES, consult security references or someone in your organization with expertise in security and cryptography.
- In highly secure environments, it is recommended that you change the shared key on a periodic basis. Keep in mind that if you change the shared key, you may need to update your applications to use the new shared key. All existing embedded tokens will become invalid once you change the shared key.
To learn more, see About ArcGIS tokens.
Securely transmitting ArcGIS tokens
To prevent the interception and misuse of tokens, the use of a secure connection using HTTPS (Secure Sockets Layer, or SSL) is recommended. The use of HTTPS/SSL ensures that the user name and password sent from the client and the token returned from ArcGIS Server cannot be intercepted. To learn more, see Enabling SSL on ArcGIS Server.