# Security

In this article, you will find everything you need regarding security within Umbraco.

## [The Umbraco Trust Center (external)](https://umbraco.com/about-us/trust-center/)

On our main website, we have a dedicated security section which provides all the details you need to know about security within the Umbraco CMS. This includes how to report a vulnerability.

## [Secure Sockets Layer (SSL)/HTTPS](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/ssl-https)

We highly encourage the use of HTTPS on Umbraco websites, especially in production environments. By using HTTPS you greatly improve the security of your website.

In the "Use HTTPS" article you can learn more about how to use HTTPS and how to set it up.

## [Security Settings](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/security-settings)

Learn which password settings that can be configured in Umbraco.

## [Security Hardening](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/security-hardening)

Learn about how to harden the security on your Umbraco website to secure it even further.

## [Security on Umbraco Cloud](https://docs.umbraco.com/umbraco-cloud/security)

When your project is hosted on Umbraco Cloud, you might be interested in more details about the security of the hosting. This information can be found in the Umbraco Cloud FAQs section of the documentation.

## [Backoffice users and website members (external)](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity)

Authentication for backoffice users and website members in Umbraco uses [ASP.NET Core Identity](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity) which is a flexible and extendable framework for authentication.

Out of the box Umbraco ships with a custom ASP.NET Core Identity implementation which uses Umbraco's database data. Normally this is fine for most Umbraco developers, but in some cases the authentication process needs to be customized.

### [External login providers](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/external-login-providers)

The Umbraco users and members supports external login providers (OAuth) for performing authentication of your users/members. This could be any OpenIDConnect provider such as Entra ID/Azure Active Directory, Identity Server, Google or Facebook.

### [Two-factor authentication](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/two-factor-authentication)

The Umbraco members supports a two-factor authentication (2FA) abstraction for implementing a 2FA provider of your choice. This could be any Time-based One-time Password (TOTP) Algorithm, including Microsoft and Google Authenticator Apps

### [BackOfficeUserManager and Notifications](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/backofficeusermanager-and-notifications)

The [`BackOfficeUserManager`](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/backofficeusermanager-and-notifications) is the ASP.NET Core Identity [UserManager](https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.identity.usermanager-1) implementation in Umbraco. It exposes APIs for working with Umbraco Users via the ASP.NET Core Identity including password handling.

### [Custom password check](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/custom-password-check)

In most cases [External login providers (OAuth)](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/external-login-providers) will meet the needs of most users when needing to authenticate with external resources. In some cases you may need to only change how the username and password credentials are checked.

This is typically a legacy approach to validating credentials with external resources but it is possible.

You are able to check the username and password against your own credentials store by implementing a [`IBackOfficeUserPasswordChecker`](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/custom-password-check).

## [Sensitive data on members](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/sensitive-data-on-members)

Marking fields as **sensitive** will hide the data in those fields for backoffice users that do not have permission to view personal data of members.

Learn more about this in the [Sensitive Data](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/sensitive-data-on-members) article.

## [Setup Umbraco for a Federal Information Processing Standards (FIPS) Compliant Server](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/setup-umbraco-for-a-fips-server)

How to configure Umbraco to run on a FIPS compliant server.

## [Reset admin password](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/reset-admin-password)

Use this guide to [reset the password of the "admin" user](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/reset-admin-password).

If you need to reset accounts of every other user while you still have administrative action, check this "[reset normal user password](https://docs.umbraco.com/umbraco-cms/13.latest/reference/security/password-reset)" article.

## Other articles related to security

* [Routing requirements for backoffice authentication](https://docs.umbraco.com/umbraco-cms/13.latest/reference/routing/authorized)
* [Health Checks](https://docs.umbraco.com/umbraco-cms/13.latest/extending/health-check)
* [Consent Service](https://docs.umbraco.com/umbraco-cms/13.latest/reference/management/services/consentservice)
