Skip to content

Commit 525a74f

Browse files
committed
Add new diagrams and image zooming plugin
1 parent 3929d8c commit 525a74f

16 files changed

+7350
-7200
lines changed

crowdsec-docs/docs/appsec/intro.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,28 @@ Meet the Crowdsec **Application Security Component** (AKA : **AppSec Component**
1212

1313
The **AppSec Component** offers:
1414

15-
- Low-effort **virtual patching** capabilities.
16-
- Support for your legacy **ModSecurity** rules.
17-
- Combining classic WAF benefits with advanced CrowdSec features for otherwise difficult **advanced behavior detection**.
18-
- **Full integration** with the Crowdsec software stack, including the console and remediation components.
15+
- Low-effort **virtual patching** capabilities.
16+
- Support for your legacy **ModSecurity** rules.
17+
- Combining classic WAF benefits with advanced CrowdSec features for otherwise difficult **advanced behavior detection**.
18+
- **Full integration** with the Crowdsec software stack, including the console and remediation components.
1919

2020
<!-- xx : links -->
2121

2222
This component capitalizes on existing remediation functions in web servers (such as Nginx, Traefik, Haproxy, etc.) to provide web application firewall capabilities.
2323

24-
![appsec-global](/img/appsec-global.png)
24+
![appsec-global](/img/appsec-global.svg)
2525

26-
1) The Web Server receives the HTTP request
27-
2) The HTTP Request is intercepted and passed to the Crowdsec Security Engine via [the HTTP API](/appsec/protocol.md)
28-
3) The Security Engine answers to the Web Server once the Appsec inband rules have been processed.
29-
4) Based on the [Security Engine answer](/appsec/protocol#response-code), the Web Server either blocks the HTTP Request or processes it as usual
26+
1. The Web Server receives the HTTP request
27+
2. The HTTP Request is intercepted and passed to the Crowdsec Security Engine via [the HTTP API](/appsec/protocol.md)
28+
3. The Security Engine answers to the Web Server once the Appsec inband rules have been processed.
29+
4. Based on the [Security Engine answer](/appsec/protocol#response-code), the Web Server either blocks the HTTP Request or processes it as usual
3030

3131
## Inband Rules and Out-Of-Band Rules
3232

3333
The AppSec component relies on rules to inspect HTTP Requests:
34-
- Inband rules are meant to interrupt request processing
35-
- Out-Of-Band rules are non-blocking and are evaluated asynchronously
34+
35+
- Inband rules are meant to interrupt request processing
36+
- Out-Of-Band rules are non-blocking and are evaluated asynchronously
3637

3738
### Inband rule processing
3839

@@ -54,18 +55,18 @@ They are usually meant to detect unwanted behaviors that exhibit a repetitive as
5455

5556
When a request triggers one or more rules, either in the inband section (blocking) or out-of-band (non-blocking), several things happen:
5657

57-
- Inband (blocking) rules will appear in your `cscli alerts list` (and thus in your [console dashboard](https://app.crowdsec.net)).
58-
- Inband and Out-Of-Band rules will trigger an internal crowdsec event that can be treated as any log lines.
58+
- Inband (blocking) rules will appear in your `cscli alerts list` (and thus in your [console dashboard](https://app.crowdsec.net)).
59+
- Inband and Out-Of-Band rules will trigger an internal crowdsec event that can be treated as any log lines.
5960

6061
This is meant to allow for scenarios to exploit the WAF rules events, such as blocking for a longer time an IP that clearly engages in malevolent activities, triggering several virtual patching rules.
6162

6263
## Next steps
6364

6465
Let's now start using this AppSec capabilities:
6566

66-
- **Installation**: [How to configure the Application Security Component with an existing remediation component](/appsec/installation.md)
67-
- **Rules**: [How to read, write and debug rules](/appsec/rules_syntax.md)
68-
- **Scenarios**: [How to create scenarios that leverage the AppSec Component events](#TODO)
69-
- **Hooks**: [For advanced use let's talk about possible Hooks](/appsec/hooks.md)
70-
- **Troubleshoot**: [How to troubleshoot the behavior of the AppSec Component](/appsec/troubleshooting.md)
71-
- **AppSec Protocol**: [if you're maintaining or creating a remedation component and want to add the AppSec capabilities](/appsec/protocol.md)
67+
- **Installation**: [How to configure the Application Security Component with an existing remediation component](/appsec/installation.md)
68+
- **Rules**: [How to read, write and debug rules](/appsec/rules_syntax.md)
69+
- **Scenarios**: [How to create scenarios that leverage the AppSec Component events](#TODO)
70+
- **Hooks**: [For advanced use let's talk about possible Hooks](/appsec/hooks.md)
71+
- **Troubleshoot**: [How to troubleshoot the behavior of the AppSec Component](/appsec/troubleshooting.md)
72+
- **AppSec Protocol**: [if you're maintaining or creating a remedation component and want to add the AppSec capabilities](/appsec/protocol.md)

crowdsec-docs/docs/intro.mdx

Lines changed: 44 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,94 +3,81 @@ title: Introduction
33
id: intro
44
---
55

6-
7-
import useBaseUrl from '@docusaurus/useBaseUrl';
8-
import AcademyPromo from '@site/src/components/AcademyPromo';
9-
10-
<!-- @tko
11-
12-
- replace the image with a gif
13-
- edit the image to have the same background color
14-
- add the cool miniature for the console
15-
16-
-->
6+
import useBaseUrl from "@docusaurus/useBaseUrl"
7+
import AcademyPromo from "@site/src/components/AcademyPromo"
178

189
# Security Engine Overview
1910

20-
The [CrowdSec Security Engine](https://github.com/crowdsecurity/crowdsec) is an open-source, lightweight software that detects and blocks malicious actors from accessing your systems at various levels, using log and HTTP Requests analysis with threat patterns called scenarios.
11+
The [CrowdSec Security Engine](https://github.com/crowdsecurity/crowdsec) is an open-source, lightweight software that detects and blocks malicious actors from accessing your systems at various levels, using log and HTTP Requests analysis with threat patterns called scenarios.
2112

2213
CrowdSec is a modular security tool offering [behavior-based detection](https://app.crowdsec.net/hub/collections), including [AppSec rules](https://app.crowdsec.net/hub/appsec-rules), and optional components to block threats called [Remediation Components](https://app.crowdsec.net/hub/bouncers)
2314

24-
&nbsp;
25-
&nbsp;
26-
<div style={{display: 'flex'}}>
27-
<div style={{textAlign: 'center', flex: '1'}}>
28-
<img width="800" height="auto" src={useBaseUrl('/img/simplified_SE_overview.png')} />
15+
<div style={{ display: "flex" }}>
16+
<div style={{ textAlign: "center", flex: "1" }}>
17+
<img
18+
width="auto"
19+
height="auto"
20+
src={useBaseUrl("/img/simplified_SE_overview.svg")}
21+
/>
2922
</div>
3023
</div>
31-
&nbsp;
32-
&nbsp;
24+
&nbsp; &nbsp;
3325

3426
The crowd-sourced aspect allows the sharing of attacks they detected and blocked. Participants of this crowd-sourced threat intel receive, automatically via the security engine, a curated list of validated attackers (community blocklist) enhancing their real-time protection capabilities by taking preemptive actions against known threats.
3527

36-
37-
3828
## Main Features
3929

4030
In addition to the core "detect and react" mechanism, CrowdSec is committed to several other key aspects:
4131

42-
- **Easy Installation**: Effortless out-of-the-box installation on all [supported platforms](/getting_started/versions_matrix.md).
43-
- **Simplified Daily Operations**: You have access to our Web UI administration via [CrowdSec's console](http://app.crowdsec.net) or the powerful [Command line tool cscli](/cscli/cscli.md) for effortless maintenance and keeping your detection mechanisms up-to-date.
44-
- **Reproducibility**: The Security Engine can analyze not only live logs but also [cold logs](/u/user_guides/replay_mode), making it easier to detect potential false triggers, conduct forensic analysis, or generate reports.
45-
- **Versatile**: The Security Engine can analyze [system logs](/docs/data_sources/intro) and [HTTP Requests](/docs/next/appsec/intro) to exhaustively protect your perimeter.
46-
- **Observability**: Providing valuable insights into the system's activity:
47-
- Users can view/manage alerts from the ([Console](https://app.crowdsec.net/signup)).
48-
- Operations personnel have access to detailed Prometheus metrics ([Prometheus](/observability/prometheus.md)).
49-
- Administrators can utilize a user-friendly command-line interface tool ([cscli](/observability/cscli.md)).
50-
- **API-Centric**: All components communicate via an [HTTP API](/local_api/intro.md), facilitating multi-machine setups.
51-
32+
- **Easy Installation**: Effortless out-of-the-box installation on all [supported platforms](/getting_started/versions_matrix.md).
33+
- **Simplified Daily Operations**: You have access to our Web UI administration via [CrowdSec's console](http://app.crowdsec.net) or the powerful [Command line tool cscli](/cscli/cscli.md) for effortless maintenance and keeping your detection mechanisms up-to-date.
34+
- **Reproducibility**: The Security Engine can analyze not only live logs but also [cold logs](/u/user_guides/replay_mode), making it easier to detect potential false triggers, conduct forensic analysis, or generate reports.
35+
- **Versatile**: The Security Engine can analyze [system logs](/docs/data_sources/intro) and [HTTP Requests](/docs/next/appsec/intro) to exhaustively protect your perimeter.
36+
- **Observability**: Providing valuable insights into the system's activity:
37+
- Users can view/manage alerts from the ([Console](https://app.crowdsec.net/signup)).
38+
- Operations personnel have access to detailed Prometheus metrics ([Prometheus](/observability/prometheus.md)).
39+
- Administrators can utilize a user-friendly command-line interface tool ([cscli](/observability/cscli.md)).
40+
- **API-Centric**: All components communicate via an [HTTP API](/local_api/intro.md), facilitating multi-machine setups.
5241

5342
## Architecture
5443

55-
<div style={{display: 'flex'}}>
56-
<div style={{textAlign: 'center', flex: '1'}}>
57-
<img src={useBaseUrl('/img/simplified_SE_underthehood.png')}></img>
44+
<div style={{ display: "flex" }}>
45+
<div style={{ textAlign: "center", flex: "1" }}>
46+
<img src={useBaseUrl("/img/simplified_SE_underthehood.svg")}></img>
5847
</div>
5948
</div>
6049

6150
Under the hood, the Security Engine has various components:
62-
63-
- The Log Processor is in charge of detection: it analyzes logs from [various data sources](/docs/data_sources/intro) or [HTTP requests](/appsec/intro.md) from web servers.
64-
- The [Appsec](/appsec/intro.md) feature is part of the Log Processor and filters HTTP Requests from the compatible web servers.
65-
- The [Local API](/local_api/intro.md) acts as a middle man:
66-
- Between the [Log Processors](/docs/data_sources/intro) and the [Remediation Components](/u/bouncers/intro) which are in charge of enforcing decisions.
67-
- And with the [Central API](/central_api/intro.md) to share alerts and receive blocklists.
68-
- The [Remediation Components](/u/bouncers/intro) - also known as bouncers - block malicious IPs at your chosen level—whether via IpTables, firewalls, web servers, or reverse proxies. [See the full list on our CrowdSec Hub.](https://app.crowdsec.net/hub/remediation-components)
51+
52+
- The Log Processor is in charge of detection: it analyzes logs from [various data sources](/docs/data_sources/intro) or [HTTP requests](/appsec/intro.md) from web servers.
53+
- The [Appsec](/appsec/intro.md) feature is part of the Log Processor and filters HTTP Requests from the compatible web servers.
54+
- The [Local API](/local_api/intro.md) acts as a middle man:
55+
- Between the [Log Processors](/docs/data_sources/intro) and the [Remediation Components](/u/bouncers/intro) which are in charge of enforcing decisions.
56+
- And with the [Central API](/central_api/intro.md) to share alerts and receive blocklists.
57+
- The [Remediation Components](/u/bouncers/intro) - also known as bouncers - block malicious IPs at your chosen level—whether via IpTables, firewalls, web servers, or reverse proxies. [See the full list on our CrowdSec Hub.](https://app.crowdsec.net/hub/remediation-components)
6958

7059
## Deployment options
7160

7261
This architecture allows for both simple/standalone setups, or more distributed ones including as illustrated below:
7362

74-
- One or more machines? Run crowdsec on each (alongside with a remediation component)
75-
- Already have a log pit (such as rsyslog or loki)? Run crowdsec next to it, not on the production workloads
76-
- Running Kubernetes? Have a look at [our helm chart](/u/getting_started/installation/kubernetes)
77-
- Running containers? The [docker data source](/docs/data_sources/docker) might be what you need
78-
- Just looking for a WAF? Look at [our quickstart](/appsec/intro.md)
63+
- One or more machines? Run crowdsec on each (alongside with a remediation component)
64+
- Already have a log pit (such as rsyslog or loki)? Run crowdsec next to it, not on the production workloads
65+
- Running Kubernetes? Have a look at [our helm chart](/u/getting_started/installation/kubernetes)
66+
- Running containers? The [docker data source](/docs/data_sources/docker) might be what you need
67+
- Just looking for a WAF? Look at [our quickstart](/appsec/intro.md)
7968

8069
Distributed architecture example:
8170

82-
<div style={{display: 'flex'}}>
83-
<div style={{textAlign: 'center', flex: '1'}}>
84-
<img src={useBaseUrl('/img/distributed_SE_setup.png')}></img>
71+
<div style={{ display: "flex" }}>
72+
<div style={{ textAlign: "center", flex: "1" }}>
73+
<img src={useBaseUrl("/img/distributed_SE_setup.svg")}></img>
8574
</div>
8675
</div>
8776

88-
89-
9077
<AcademyPromo
91-
image="crowdsec_fundamentals.svg"
92-
description="Watch a short series of videos on how to install CrowdSec and protect your infrastructure"
93-
title="More ways to learn"
94-
course="crowdsec-fundamentals"
95-
utm="?utm_source=docs&utm_medium=banner&utm_campaign=intro-page&utm_id=academydocs"
96-
/>
78+
image="crowdsec_fundamentals.svg"
79+
description="Watch a short series of videos on how to install CrowdSec and protect your infrastructure"
80+
title="More ways to learn"
81+
course="crowdsec-fundamentals"
82+
utm="?utm_source=docs&utm_medium=banner&utm_campaign=intro-page&utm_id=academydocs"
83+
/>

crowdsec-docs/docusaurus.config.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,14 @@ module.exports = {
8383
indexName: "crowdsec",
8484
contextualSearch: true,
8585
},
86+
zooming: {
87+
selector: '.markdown img',
88+
delay: 500,
89+
background: {
90+
light: 'rgba(101,108,133,0.8)',
91+
dark: 'rgba(9,10,17,0.8)'
92+
},
93+
},
8694
navbar: {
8795
items: [],
8896
},
@@ -264,6 +272,7 @@ module.exports = {
264272
],
265273
],
266274
plugins: [
275+
"docusaurus-plugin-zooming",
267276
[
268277
"@docusaurus/plugin-content-docs",
269278
{

crowdsec-docs/package-lock.json

Lines changed: 60 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crowdsec-docs/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"@mui/material": "^5.13.4",
2929
"@mui/x-date-pickers": "^6.18.0",
3030
"clsx": "^2.0.0",
31+
"docusaurus-plugin-zooming": "^1.0.0",
3132
"material-react-table": "^2.0.2",
3233
"prism-react-renderer": "^2.1.0",
3334
"react": "^18.2.0",

crowdsec-docs/static/img/appsec-global.svg

Lines changed: 4 additions & 0 deletions
Loading
-113 KB
Binary file not shown.

crowdsec-docs/static/img/distributed_SE_setup.svg

Lines changed: 4 additions & 0 deletions
Loading
-263 KB
Binary file not shown.

crowdsec-docs/static/img/simplified_SE_overview.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)