MicroStrategy ONE
Enforce Security Constraints for the Plugin Folder in MicroStrategy Web or Library
Prior to MicroStrategy 2021 Update 8 (11.3.8), you must follow the steps below to enforce security constraints for the plugin folder.
Starting in MicroStrategy 2021 Update 8 (11.3.8), MicroStrategy enabled this option by default in Web JSP, so you do not need to follow the steps below. However, if you are using Web ASP, you must follow the steps below.
If you are using plugins for customization in Microstrategy Web or Library, MicroStrategy suggests implementing the security constraints detailed below to protect sensitive or confidential files, such as passwords or database connections. These security constraints protect the JSP Web plugin’s WEB-INF
and jsp
folders, as well as the asp
folder for ASP Web, from remote access via URL.
Solution for JSP Deployments
To prevent the WEB-INF
and jsp
folders inside the given plugin folder from being accessed by a web URL, add the following security constraint in web.xml
. This file is located in the Web JSP’s WEB-INF
folder, such as <Web JSP deployment>/WEB-INF/web.xml
.
<security-constraint>
<web-resource-collection>
<web-resource-name>NoAccess</web-resource-name>
<url-pattern>/plugins/<plugin name>/jsp/*</url-pattern>
<url-pattern>/plugins/<plugin name>/WEB-INF/*</url-pattern>
</web-resource-collection>
<auth-constraint />
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
MicroStrategy recommends you place your server side files for jsp deployment in the WEB-INF
and jsp
folders. If your plugin has sensitive files in other folders, you can add more <url-pattern>
entries for those folders in web.xml
to ensure they cannot be accessed.
See Java Servlet Specification for more information about security-constraint
.
Solution for ASP Deployments
To prevent the WEB-INF
and jsp
folders inside the given plugin folder from being accessed by a web URL, copy the web.config
file in <Web ASPx Deployment>\WEB-INF\web.config
to <Web ASPx Deployment>\plugins\<plugin name>\WEB-INF\web.config
and <Web ASPx Deployment>\plugins\<plugin name>\asp\web.config
.
MicroStrategy recommends you place your server side files for asp deployment in the WEB-INF
and asp
folders. If your plugin has sensitive files in other folders, you can copy the same web.config
in the corresponding location.
The contents of the web.config
file is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="None" />
</system.webServer>
</configuration>
See the Handlers <handlers> Microsoft IIS document regarding accessPolicy
for more information.