Académique Documents
Professionnel Documents
Culture Documents
Hardening Guide
Microsoft Corporation
Published: May 2008
Microsoft Dynamics is a line of integrated, adaptable business management solutions that
enables you and your people to make business decisions with greater confidence. Microsoft
Dynamics works like and with familiar Microsoft software, automating and streamlining financial,
customer relationship and supply chain processes in a way that helps you drive business
success.
Reduce the attack surface of the Microsoft Dynamics AX Application Object Server 16
Concepts
This guide discusses the following security concepts.
Concept Description
Least privilege To grant least privilege (also called least-privileged user accounts)
means to grant users the fewest possible permissions to software
features and data while still allowing the users to perform their job
functions. By granting least privilege, you restrict access to
features and data.
Concept Description
For example, users who are assigned to an HR_Users group
(Human Resources) might be granted fewer permissions than
users in an HR_Managers group or the Director of Human
Resources. By granting least privilege, you prevent members of
the HR_Users group from accessing reports or sensitive employee
information.
1. Users log on to their client computers and open a Remote Desktop Connection or a Remote
Desktop Web connection (if they are connecting by using the HTTP service). Or, the user
double-clicks the Microsoft Dynamics AX client icon on their computer and runs the
application as a Terminal Services session (which is a feature of Windows Server 2008 called
RemoteApp).
2. The load balancing solution routes traffic to the Terminal Services cluster based on server
availability and load.
3. Terminal Services receives the session request and communicates with the Terminal
Services Directory and Licensing Services to manage sessions and to verify that there is an
available license. If a license is available, Terminal Services starts a unique session for each
user. Depending on how you configured Terminal Services, users view a Windows desktop
Security Hardening Guide 8
Microsoft Dynamics AX
where they can access the Microsoft Dynamics AX client from the All Programs menu, or if
they are using Terminal Services RemoteApp, the Microsoft Dynamics AX client opens and
appears to users as an application that is running on their client computer.
4. The Microsoft Dynamics AX clients running on the Terminal Services cluster communicate
with the Microsoft Dynamics AX AOS and database server through normal channels.
5. The Terminal Services cluster transmits images of information that is displayed on the
Terminal Services server over the network to client computers. No data is transmitted over
the network, and therefore no Microsoft Dynamics AX data resides on users' client
computers.
Deployment considerations
By default, Terminal Services allows only two client sessions at one time. Business decision
makers in your business or organization will need to assess the cost of purchasing additional
Terminal Services licenses before you can deploy a Terminal Services cluster. We highly
recommend the investment because it reduces administration overhead and the attack
surface for security threats against Microsoft Dynamics AX and any other line-of-business
applications that you choose to run on the cluster.
Each user who will connect to the Microsoft Dynamics AX client on the Terminal Services
cluster must be a member of the Remote Desktop User group in Microsoft Windows Users
and Groups.
To enhance the security of your computing environment, deploy Group Policy and Encrypting
File System on all computers. If your business or organization uses Windows Server 2008,
Windows Vista Enterprise, or Windows Vista Ultimate deploy Windows BitLocker. Group
Policy and Encrypting File System are described in more detail in the following section.
For more information about Terminal Services, see the Windows Server 2008 Terminal Services
Technical Library or the Windows Server 2003 Terminal Service Reference.
You can mitigate some of these security risks by deploying the Windows security features that
are described in the following sections.
Deployment considerations
This section describes deployment practices that we recommend if you deploy the Microsoft
Dynamics AX client to multiple computers. If you deploy the client according to these
recommendations, you can improve security and mitigate some of the risks described earlier.
To maintain the security of the production environment, developers should not be granted access
to the Microsoft Dynamics AX production database. Client computers that are used for
development should have their own AOS and database, and the development environment
should have its own data set. To maintain security and privacy, you should not use production
data in a development environment.
malicious user would see data from those communications. In this situation, RPC encryption is
not used, because the information between the Role Center page and the AOS is sent by using
the Hypertext Transfer Protocol (HTTP).
If your business or organization uses Role Centers, then you must ensure that Enterprise Portal
is configured to use SSL encryption. SSL is a feature of Internet Information Services, the Web
server software that hosts the Enterprise Portal framework. For more information about
configuring SSL, see Secure Sockets Layer encryption in IIS 7.0 or Secure Sockets Layer
encryption in IIS 6.0.
Recommendation Description
Always specify least- You can read about how to set up and configure users, user
privileges when you set up groups, domains, and record-level security in the Microsoft
and configure Microsoft Dynamics AX online Help. (Click the Help icon > System and
Dynamics AX user security Application Setup > System setup > Setting up and
features. maintaining security.)
Before you set up and configure least-privileges in Microsoft
Dynamics AX, consider the following:
By default, no users or groups have access to the Application
Object Tree (AOT). This is by design. You should only grant
access to the AOT for members of a development group who
must access the AOT as a part of their specific job
requirements. If you grant regular users access to the AOT,
those users could intentionally or unintentionally compile the
application, synchronize the application, change license files,
or change module configurations, all of which can cause
problems in your business or organization. As a general rule,
you should not grant user groups access to an item unless
they specifically need access to do their job.
Do not grant regular users permission to set up or configure
master records unless they specifically need permission to do
their job. If a regular user has permission to set up or configure
master records, that user could intentionally or unintentionally
change a master record, which can cause problems for all
users of that specific module.
Recommendation Description
Only those persons who are responsible for setting up and
configuring Microsoft Dynamics AX in your business or
organization should be a member of the Administrators group
and have access to the Administration module in Microsoft
Dynamics AX. If regular users are granted access to this group
and module, they could intentionally or unintentionally cause
problems in the Microsoft Dynamics AX application.
Do not assign users to the Windows Administrators or Power
Users groups on their local computers unless they are
explicitly required to perform administrator or power user job
functions. Members of these groups can add or remove
applications to their local computers, which can introduce
security risks. Instead, assign users to the Windows User
group (Start > Administrative Tools > Computer
Management > Local Users and Groups).
Educate users about using Strong passwords and password policies in your domain are
strong passwords and essential for maintaining a secure computing environment. We
define password policies. highly recommend that you implement Password Best Practices in
your business or organization.
Enable Windows Firewall or A firewall drops incoming traffic that does not correspond to either
another firewall device on traffic sent in response to a request of the computer (solicited
each computer. traffic) or unsolicited traffic that has been specified as allowed
(excepted traffic). A firewall adds a level of protection from
malicious users and applications that rely on unsolicited incoming
traffic to attack computers.
Windows Firewall is a Control Panel feature that is used to set
restrictions on what traffic is allowed to enter your network from the
Internet. Windows Firewall is included in Windows Vista, Windows
Server 2008, Windows XP with Service Pack 2, and Windows
Server 2003 with Service Pack 1.
For more information, see Windows Firewall.
Enable a virus scanner on The threat of virus attacks is ongoing and always changing. You
each computer. should deploy a virus scanner on each computer in your business
or organization, and configure the scanners to scan computers and
update virus signatures regularly.
Deploy smart cards in your A smart card contains a small computer chip that is used to store
business or organization. security keys or other types of personal information. The smart
card uses cryptographic technology to store the information. Some
businesses or organizations deploy smart card readers on each
Recommendation Description
laptop and desktop computer and require employees to insert their
smart card into the reader before the user can connect to the
corporate network. By deploying smart cards in this way, the
business or organization adds another physical layer of security to
its computing environment by ensuring that every user who
connects to its network posses a valid password and a smart card.
For more information, see the Smart Card Reference.
See Also
TechNet Security Center
do not change the default settings, those services would be configured to listen on ports 2712,
2713, and 2714.
If a malicious user learned about a vulnerability in Microsoft Dynamics AX and the user knew the
default port number, they might attempt to gain access to data by using that port number. You
can reduce the attack surface by changing the default port number. You can change the port
number by using the Microsoft Dynamics 2009 Server Configuration utility.
1. On the AOS server, click Start > Administrative Tools > Microsoft Dynamics AX 2009
Server Configuration.
2. Select an instance from the Application Object Server Instance drop-down list.
3. On the Application Object Server tab, enter a new port number in the TCP/IP port field.
Note:
Choose a port number between 1024 and 65000. You can view a list of ports that are
currently being used on the server if you open the services file in a text editor, such
as Microsoft Notepad (<system root>\WINNT\system32\drivers\etc).
4. Click OK.
5. Repeat this process, if necessary, for each instance.
6. You must also specify the new port number on each client that connects to the AOS. You can
change the port number by using the Microsoft Dynamics 2009 Configuration utility.
7. On a client computer, click Start > Administrative Tools > Microsoft Dynamics AX 2009
Configuration.
8. In the Configuration target drop-down list, select Local client.
9. Click Manage > Create configuration.
10. Enter a name, and then select Copy from Active configuration.
11. On the Connection tab, select the appropriate instance in the text box, and then click Edit.
12. Enter the new port number, and then click OK.
13. To expedite the process of configuring multiple client computers, you can export this
configuration to a file and then import the configuration to all other client computers. For more
information, see "Manage a client configuration" in the Microsoft Dynamics 2009
Configuration utility Help.
The shared directory must be configured so that the AOS service account (the domain
account or the Network Service account) has Full Control permissions.
Use Internet Protocol security (IPsec) to secure communications between the servers.
Note:
IPsec is described in the next section.
Windows Firewall
Windows Firewall is a Control Panel feature that is used to set restrictions on what traffic is
allowed to enter your network from the Internet. Windows Firewall is included in Windows Vista,
Windows Server 2008, Windows XP with Service Pack 2, and Windows Server 2003 with Service
Pack 1.
For more information, see Windows Firewall.
Build and Maintain a Secure 1. Install and maintain a firewall configuration to protect cardholder
Network data.
2. Do not use vendor-supplied defaults for system passwords and
other security parameters.
Regularly Monitor and Test 10. Track and monitor all access to network resources and
Networks cardholder data.
11. Regularly test security systems and processes.
Enabling database encryption directly addresses the needs of requirement three: Protect stored
cardholder data. Microsoft® SQL Server™ 2008 includes a new encryption feature called
Transparent Data Encryption (TDE). TDE is designed to provide protection for the entire
database at rest without affecting existing applications. Implementing encryption in a database
traditionally involves complicated application changes, such as modifying table schemas,
removing functionality, and significant performance degradations. For example, to use encryption
in Microsoft SQL Server 2005, the column data type must be changed to varbinary; ranged and
equality searches are not allowed; and the application must call built-ins (or stored procedures or
views that automatically use these built-ins) to handle encryption and decryption, all of which slow
query performance. These issues are not unique to Microsoft SQL Server 2005; other database
management systems face similar limitations. Custom schemes are often used to resolve equality
searches and ranged searches often cannot be used at all. Even basic database elements, such
as creating an index or using foreign keys often do not work with cell-level or column-level
encryption schemes because the use of these features inherently leak information. TDE solves
these problems by encrypting everything, including all data types, keys, and indexes. For more
information, see Database Encryption in SQL Server 2008 Enterprise Edition. For information
about encryption with Oracle 10, see Oracle Database 10g Security and Identity Management.
If your business or organization uses Microsoft SQL 2005, you can address the needs of PCI
Data Security Standard requirement three by using Encrypting File System (EFS). EFS is a
component of the NTFS file system on Windows operating systems that is used for encrypting
files and folders on client computers and remote servers. Any user or application that does not
have the appropriate cryptographic key cannot read the encrypted data. With EFS, we
recommend that you encrypt the folder where the SQL Server database is stored. If your
business or organization creates views in SQL Server, and a view is created for a specific table in
the database, such as a credit card number table, you can configure the view to point to a
different database file and then enable EFS encryption on that file.
For more information, see EFS in Windows Server 2008 or EFS in Windows Server 2003.
FinancialResults. This table was added as part of a customization done by a partner after
Microsoft Dynamics AX was installed.
Note:
TPF can be enabled on any table in the Microsoft Dynamics AX database. For the
sake of time and efficiency, however, administrators assign TPF to tables that are
considered to be sensitive or to be of critical business value.
3. In the Application Object Tree (AOT), the administrator configures the FinancialResults table
so that the Application Object Server (AOS) must authorize all operations for that table. The
administrator specifies the value CreateReadUpdateDelete for the
AOSAuthorizationProperty.
4. Soon thereafter, a malicious user discovers a vulnerability in Contoso's third-party application
that connects to Microsoft Dynamics AX by using the .NET Business Connector. The
malicious user connects to the database as a member of the CRM_users group and attempts
to read the data in the FinancialResults table.
5. Before allowing the read operation, the AOS checks to see if the user is a member of the
Senior Leadership user group and if members of the group have permission to read the data.
The malicious user is not a member of the Senior Leadership group, so the AOS denies the
read operation.
To enable TPF, an administrator specifies a value for the AOSAuthorizationProperty on a specific
table in the AOT. The AOSAuthorizationProperty authorizes Create, Read, Update, and Delete
operations. For some tables, it is important to authorize all operations because the data is
sensitive. For other tables, you might find it suitable to specify a subset of operations, such as
Create, Update, and Delete. In the case when you have specified a subset, the AOS authorizes
the Create, Update, and Delete operations, but allows users to perform View operations if they
have access to Microsoft Dynamics AX.
Appendix A: Table Permissions Framework Reference lists all tables that are TPF-enabled by
default and which operations require authorization. You can change or add TPF for a table, but
we recommend that you perform TPF changes in a test environment so that you can study the
impact of TPF changes on user groups that access that table.
To enable TPF on database table:
1. In the AOT, expand Data Dictionary > Tables.
2. Right-click a table, and then click Properties.
3. Click AOSAuthorizationProperty and select a new value by using the drop-down list.
4. Click Save All.
If you added TPF to a table, you might need to specify or expand permissions for user groups
that access that table. You can view which objects access a table by using the Used-by
command in the AOT:
1. In the AOT, expand Data Dictionary > Tables.
2. Right-click a table, and then click Add-ins > Cross-reference > Update.
3. Right-click a table, and then click Add-ins > Cross-reference > Used by. The Used by form
is displayed. This form shows all objects that access the selected table and what permissions
(the Reference column) are required when accessing the table. You might need to adjust
user group permissions if you set tighter restrictions on a table.
Tables
This section lists all database tables that are TPF-enabled by default in Microsoft Dynamics AX
and the authorization requirements for those tables.
Important:
These tables store sensitive data. We recommend that you do not adjust these
authorization requirements unless told to do so by management. We also recommend
that you do not adjust these requirements in a production environment. Test your
changes in a test environment so that you can study the impact on user-group
permissions and make adjustments as necessary.
Enterprise Portal
Expense Management
Financials
GDL
Inventory Management
Project Accounting
Workflow
X++ Development