SPE provides several web services for external access and automation. By default, most services are disabled to minimize the attack surface. This guide explains each service and how to secure them when enabled.
Overview
Web services enable powerful capabilities like:
Remote script execution (SPE Remoting)
RESTful API access
File and media uploads/downloads
Report exports
Security Warning: Only enable web services you specifically need. Each enabled service increases your attack surface. Never enable services on internet-facing servers.
Service Configuration
Services are configured in App_Config\Include\Spe\Spe.config:
Should you disable it? No - this breaks SPE integration points.
Handle Download Service (enabled by default)
Service File:RemoteScriptCall.ashx
Purpose: Enables file downloads through the Sitecore interface.
Required For:
Out-Download command
Report exports (CSV, Excel, etc.)
ISE script exports
Security Considerations:
Only works for authenticated users
Requires active Sitecore session
Downloads are temporary and time-limited
Should you disable it? Only if you never need to download files from SPE (rare).
Remoting Service (disabled by default)
Service File:RemoteAutomation.asmx
Purpose: Allows external clients to execute PowerShell scripts remotely.
Required For:
SPE Remoting module
Automated CI/CD scripts
External automation tools
Security Considerations:
⚠️ HIGH RISK - enables remote code execution
Must be protected with role-based authorization
Should require HTTPS
Ideal for CI/CD environments with proper security
Example Use Case: Automated content deployment from build servers.
Securing Remoting Service
Enable with HTTPS requirement:
Restrict to specific users:
Load Balancer Note: When using requireSecureConnection behind a load balancer that handles TLS termination, you may receive 403 errors. The backend server receives HTTP traffic and .NET doesn't recognize it as secure. Consider network-level security instead.
RESTful v2 Service (disabled by default)
Service File:RemoteScriptCall.ashx
Purpose: Execute scripts via RESTful URLs with all parameters in the URL.
Required For:
PowerShell Web API
RESTful script endpoints
External integrations
Security Considerations:
⚠️ MEDIUM-HIGH RISK - exposes script execution via HTTP
URL-based parameters may be logged
Should require HTTPS
Should use POST instead of GET when possible
Example Use Case: Providing a web API for external systems to query Sitecore content.
Enabling RESTful v2
File Download Service (disabled by default)
Service File:RemoteScriptCall.ashx
Purpose: Download files from the server file system via URL.
Required For:
SPE Remoting file downloads
External file retrieval
Security Considerations:
⚠️ MEDIUM RISK - exposes file system
Restricted by file type and location configuration
Only works with allowed paths
Should you enable it? Only if using SPE Remoting and need file downloads.
File Upload Service (disabled by default)
Service File:RemoteScriptCall.ashx
Purpose: Upload files to the server file system via URL.
Required For:
SPE Remoting file uploads
External file deployment
Security Considerations:
⚠️ HIGH RISK - allows writing to file system
Restricted by file type and location configuration
Can be used to deploy malicious files if misconfigured
Must be carefully controlled
Should you enable it? Only if absolutely necessary, with strict restrictions.