Skip to content

Commit

Permalink
docs: Secure and monitor restructure (#3280)
Browse files Browse the repository at this point in the history
* secure and monitor restructure

* secure and monitor restructure

* fix lint issues

---------

Co-authored-by: Tatenda <[email protected]>
  • Loading branch information
sixhobbits and rideam authored Feb 25, 2025
1 parent 77eb536 commit 617aa9c
Show file tree
Hide file tree
Showing 48 changed files with 184 additions and 172 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Imagine a security system that not only asks for your credentials but also reads

What's truly fascinating about adaptive MFA is its dynamic nature. It's not just about adding layers of security; it's about adding the right layers, at the right time. This approach minimizes friction for users, making security feel less like a series of hoops to jump through and more like a smart, responsive ally. It's a dance between convenience and caution, where security measures are tailored in real-time, based on the perceived level of risk. This not only enhances the user experience but also fortifies defenses, ensuring that the keys to the kingdom aren't handed over too easily, nor kept under lock and key unnecessarily.

You can also use the same principles for initial authentication (for instance, requiring a CAPTCHA if a user logs in from a new device). Read more about adaptive approaches in our [Advanced Threat Detection](/docs/operate/secure-and-monitor/advanced-threat-detection) features.
You can also use the same principles for initial authentication (for instance, requiring a CAPTCHA if a user logs in from a new device). Read more about adaptive approaches in our [Advanced Threat Detection](/docs/operate/secure/advanced-threat-detection) features.

## Why Use Multi-factor Authentication (MFA)?

Expand Down
2 changes: 1 addition & 1 deletion astro/src/content/blog/announcing-fusionauth-1-47.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ All in all there are 21 issues, enhancements, and bug fixes included in the 1.47

There were a number of performance improvements in these releases, as the team focused on making FusionAuth even faster and more scalable.

Some improvements are only applicable for Enterprise clients. This included lowering the memory overhead when downloading and storing the IP location database. This IP data is used by [Advanced Threat Detection](/docs/operate/secure-and-monitor/advanced-threat-detection).
Some improvements are only applicable for Enterprise clients. This included lowering the memory overhead when downloading and storing the IP location database. This IP data is used by [Advanced Threat Detection](/docs/operate/secure/advanced-threat-detection).

Other improvements apply to all FusionAuth users. These include:

Expand Down
2 changes: 1 addition & 1 deletion astro/src/content/blog/announcing-fusionauth-1-48.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ If they match, you can be certain the payload is unchanged.
But it's not just webhook signing. There were other webhook related improvements too, including:

* Webhook test messages now include more information if the webhook does not succeed.
* You can use [key master](/docs/operate/secure-and-monitor/key-master) to manage webhook certificates. This is the recommended solution going forward.
* You can use [key master](/docs/operate/secure/key-master) to manage webhook certificates. This is the recommended solution going forward.
* A bug was fixed. Previously tenant specific webhooks were removed when `PATCH`-ing a tenant, and now they are not.
* Test messages sent using the admin UI now preserve the body payload, making it easier to develop webhooks.

Expand Down
2 changes: 1 addition & 1 deletion astro/src/content/blog/javascript-sdks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ A client library, in contrast, is a wrapper over [FusionAuth APIs](/docs/apis/).

If you want to compare a client library to a child's toy, it is like legos. Engineers build a script or program using a client library to extend or configure FusionAuth. Some examples of tasks well suited to a client library:

* [rotating client secrets or API keys](/docs/operate/secure-and-monitor/key-rotation) to improve your security posture
* [rotating client secrets or API keys](/docs/operate/secure/key-rotation) to improve your security posture
* pulling user data every night for data warehouse ingestion
* creating a new FusionAuth tenant every time a client signs up for your app
* offering a unique, custom login or registration experience not supported by the [FusionAuth hosted login pages](/docs/get-started/core-concepts/integration-points#hosted-login-pages)
Expand Down
2 changes: 1 addition & 1 deletion astro/src/content/blog/log4j-fusionauth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ To learn more about the CVE, you can:

## What about Elasticsearch

Elasticsearch is used by many FusionAuth installations. However, in general the Elasticsearch service is not publicly accessible, if [following the recommended security guidance](/docs/operate/secure-and-monitor/securing).
Elasticsearch is used by many FusionAuth installations. However, in general the Elasticsearch service is not publicly accessible, if [following the recommended security guidance](/docs/operate/secure/securing).

<Aside type="note" nodark="true">
You should never allow internet connections to Elasticsearch.
Expand Down
4 changes: 2 additions & 2 deletions astro/src/content/docs/_shared/_client-side-api-keys.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ The client code then sends requests to the server side component, and the server
This is the **recommended option**.
* Create an API key with extremely limited permissions and distribute it.
Since stealing the key when used on the client side is trivial--all an attacker has to do is 'view source'--make sure you have carefully considered the risk and result of someone stealing and using the key outside of your application.
You can also monitor FusionAuth usage with webhooks, use [IP ACLs](/docs/operate/secure-and-monitor/advanced-threat-detection/#ip-access-control-lists) to limit where the API key can be used from, or place an [HTTP proxy](/docs/operate/deploy/proxy-setup) in front of FusionAuth to further limit access.
Plan to [rotate the key regularly](/docs/operate/secure-and-monitor/key-rotation) to limit the impact.
You can also monitor FusionAuth usage with webhooks, use [IP ACLs](/docs/operate/secure/advanced-threat-detection/#ip-access-control-lists) to limit where the API key can be used from, or place an [HTTP proxy](/docs/operate/deploy/proxy-setup) in front of FusionAuth to further limit access.
Plan to [rotate the key regularly](/docs/operate/secure/key-rotation) to limit the impact.

2 changes: 1 addition & 1 deletion astro/src/content/docs/_shared/_update-key-note.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Only the name of the Key may be changed; all other fields will remain the same. If you need to update a Key with a new certificate, algorithm or other attributes, please [Import a Key](/docs/apis/keys#import-a-key).

For example, if you have a Key with an associated expiring certificate, you'll need to follow the steps similar to those outlined in the [JWT signing key rotation documentation](/docs/operate/secure-and-monitor/key-rotation#jwt-signing-key-rotation):
For example, if you have a Key with an associated expiring certificate, you'll need to follow the steps similar to those outlined in the [JWT signing key rotation documentation](/docs/operate/secure/key-rotation#jwt-signing-key-rotation):

* Import this key, keypair or certificate into FusionAuth. This will create a new Key entity in FusionAuth.
* Update the appropriate configuration with this new Key (JWT signing configuration, SAML validation configuration, etc).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ import JSON from 'src/components/JSON.astro';
<ReactorStatusValues />
</APIField>
<APIField name="status.breachedPasswordDetection" type="String">
The status for [Breached Password Detection](/docs/operate/secure-and-monitor/breached-password-detection). The possible following values:
The status for [Breached Password Detection](/docs/operate/secure/breached-password-detection). The possible following values:

* `ACTIVE` - the feature is active
* `DISCONNECTED` - the feature is currently disconnected
Expand Down
4 changes: 2 additions & 2 deletions astro/src/content/docs/apis/hosted-backend.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ _Response Codes_
|------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 200 | There was an error. The route will serve up an error page with HTML and details on what went wrong. |
| 302 | A successful request will redirect the user to `/oauth2/authorize` to log in. |
| 403 | A forbidden response typically means that the Origin of this request did not pass the FusionAuth CORS filter. Add your app origin to your [CORS Configuration](/docs/operate/secure-and-monitor/cors) as an <InlineField>Allowed Origin</InlineField>. |
| 403 | A forbidden response typically means that the Origin of this request did not pass the FusionAuth CORS filter. Add your app origin to your [CORS Configuration](/docs/operate/secure/cors) as an <InlineField>Allowed Origin</InlineField>. |
| 500 | There was a FusionAuth internal error. A stack trace is provided and logged in the FusionAuth log files. |

## Register
Expand Down Expand Up @@ -147,7 +147,7 @@ _Response Codes_
|------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 200 | There was an error. The route will serve up an error page with HTML and details on what went wrong. |
| 302 | A successful request will redirect the user to `/oauth2/register` to register. |
| 403 | A forbidden response typically means that the Origin of this request did not pass the FusionAuth CORS filter. Add your app origin to your [CORS Configuration](/docs/operate/secure-and-monitor/cors) as an <InlineField>Allowed Origin</InlineField>. |
| 403 | A forbidden response typically means that the Origin of this request did not pass the FusionAuth CORS filter. Add your app origin to your [CORS Configuration](/docs/operate/secure/cors) as an <InlineField>Allowed Origin</InlineField>. |
| 500 | There was a FusionAuth internal error. A stack trace is provided and logged in the FusionAuth log files. |

## Callback
Expand Down
Loading

0 comments on commit 617aa9c

Please sign in to comment.