Security Checklist

Use this checklist to validate your SPE security configuration before deploying to any environment. Each section corresponds to a security layer that should be properly configured.

Pre-Deployment Checklist

Environment Validation

Configuration Checklist

1. Web Services Security

Review App_Config\Include\Spe\Spe.config (via patch file):

Services Status:

If Remoting is Enabled:

Documentation: Web Services Security

2. Session Elevation (UAC)

Token Configuration:

Quick Test:

Documentation: Session Elevation

3. User and Role Access

Sitecore Security:

Application Pool Account:

Documentation: Security Policies, Users and Roles

4. File Upload Restrictions

Configuration:

Quick Test:

Documentation: File Upload Restrictions

5. IIS-Level Security

Web.config Configuration (sitecore modules\PowerShell\Services\web.config):

Additional IIS Security:

Quick Test:

Documentation: IIS Security

6. Delegated Access

If Using Delegated Access:

If NOT Using Delegated Access:

Documentation: Delegated Access

7. Identity Server (Sitecore 9.1+)

For Sitecore 9.1+ with Identity Server:

Documentation: Getting Started - Identity Server

8. Minimal Web Service Deployment

For CI/CD Environments:

Documentation: Minimal Deployment

Testing Checklist

Functional Testing

As Non-Administrator User:

As Administrator User (without elevated session):

As Administrator User (with elevated session):

Web Services (if enabled):

Security Testing

Attack Surface:

Privilege Escalation:

Logging and Monitoring Checklist

Logging Configuration:

Monitoring:

Documentation: Logging and Monitoring

Documentation Checklist

Required Documentation:

Compliance Checklist

Organizational Requirements:

Regulatory Compliance (if applicable):

Sign-Off

Deployment Approval:

Approved By:

Post-Deployment Checklist

Within 24 Hours:

Within 1 Week:

Monthly:

Environment-Specific Checklists

Development Environment

Minimum Requirements:

Optional:

  • IP restrictions

  • Strict session timeouts

  • HTTPS enforcement

QA/Staging Environment

Must Match Production:

Production Environment

Strictest Security:

CI/CD Environment

Automation-Focused:

Quick Reference

Security Layer
Configuration File
Critical Setting

Web Services

Spe.config (via patch)

Services enabled/disabled

Session Elevation

Spe.config (via patch)

Token expiration and action

File Upload

Spe.config (via patch)

Allowed types and locations

IIS Auth

Services\web.config

Deny anonymous

Sitecore Security

Core DB items

Role permissions

Remoting Auth

Spe.config (via patch)

Authorization roles/users

Emergency Procedures

Security Incident Response

If you suspect a security breach:

  1. Immediate Actions:

    • Disable all SPE web services

    • Block access at firewall level

    • Review recent logs for suspicious activity

    • Document the incident

  2. Investigation:

    • Check IIS logs for unauthorized access

    • Check SPE logs for unusual script execution

    • Review user activity

    • Identify scope of incident

  3. Remediation:

    • Change service account passwords

    • Review and tighten security configuration

    • Apply security patches if needed

    • Re-deploy with validated security

  4. Recovery:

    • Restore from backup if necessary

    • Re-enable services with enhanced security

    • Monitor closely for 48 hours

    • Document lessons learned

Quick Lockdown

To immediately lock down SPE:

<!-- Add to config patch to disable all external access -->
<configuration xmlns:patch="https://www.sitecore.net/xmlconfig/">
  <sitecore>
    <powershell>
      <services>
        <remoting enabled="false" />
        <restfulv1 enabled="false" />
        <restfulv2 enabled="false" />
        <fileDownload enabled="false" />
        <fileUpload enabled="false" />
        <mediaDownload enabled="false" />
        <mediaUpload enabled="false" />
      </services>
      <userAccountControl>
        <tokens>
          <token name="Console">
            <patch:attribute name="elevationAction">Block</patch:attribute>
          </token>
          <token name="ISE">
            <patch:attribute name="elevationAction">Block</patch:attribute>
          </token>
        </tokens>
      </userAccountControl>
    </powershell>
  </sitecore>
</configuration>

Add to Services\web.config:

<authorization>
  <deny users="*" />
</authorization>

Version History

Track when security reviews were completed:

Date
Reviewer
Environment
Status
Notes

YYYY-MM-DD

Name

Production

✓ Pass

Initial deployment

YYYY-MM-DD

Name

QA

✓ Pass

Quarterly review


Last Updated: {{DATE}} Next Review: {{DATE + 3 months}}

Last updated