Hardening Business Central Server Security
Business Central Server is a .NET-based Windows Service application that works exclusively with SQL Server and Azure SQL Server databases. Business Central Server provides an additional layer of security between clients and the database. It leverages the authentication features of the Windows Communications Framework to provide another layer of user authentication and uses impersonation to ensure that business logic is executed in a process that has been instantiated by the user who submitted the request. This means that authorization and logging of user requests are performed on a per-user basis.
The Business Central Server is configured with a login account, which is referred to as the service account. The service account is used by Business Central clients to log on to the Business Central Server instance. The Business Central Server then uses the service account to log on to the Business Central database.
The default configuration is for the service to log on using the NT Authority\Network Service account. If Business Central Server and SQL Server are on different computers, then we recommend that you configure Business Central Server to log on using a dedicated Windows domain user account instead. This account should not be an administrator either in the domain or on any local computer. A dedicated domain user account is considered more secure because no other services and therefore no other users have permissions for this account. For more information about using a domain account and configuring the recommended permissions, see Provisioning the Business Central Server Service Account.
Client users can send files to be stored on Business Central Server, so we recommend that administrators set up disk quotas on all computers running Business Central Server. This can prevent users from uploading too many files, which can make the server unstable. Disk quotas track and control disk space usage for NTFS volumes, which allows administrators to control the amount of data that each user can store on a specific NTFS volume. For more information about disk quotas, see the Disk Quotas Technical Reference on Microsoft TechNet.
Limiting port access
The Business Central Setup program opens a port in the firewall on the computer where you install Business Central Server. By default, this is port 7085 (7046 in version 20 and earlier). To improve security, you can consider limiting access to this port to a specific subnet. One way is to use
netsh, which is a command-line tool for configuring and monitoring Windows-based computers at a command prompt. The specific version of this command that you would use is
netsh firewall set portopening. For example, the following command limits access to port 7085 to the specified addresses and subnets:
netsh firewall set portopening protocol=TCP port=7085 scope=subnet addresses=LocalSubnet
Data Encryption Between Business Central Server and SQL Server
When SQL Server and Business Central Server are running on different computers, you can make this data channel more secure by encrypting the connection with IPSec. (Other encryption options are not supported.) For information on how to do this, see Enable Encrypted Connections to the Database Engine.