New tutorial: Running a CrowdSec AppSec WAF with Nginx on a Hetzner Cloud server#1444
Open
KEYDALTR wants to merge 2 commits into
Open
New tutorial: Running a CrowdSec AppSec WAF with Nginx on a Hetzner Cloud server#1444KEYDALTR wants to merge 2 commits into
KEYDALTR wants to merge 2 commits into
Conversation
…loud server This tutorial walks through setting up CrowdSec's AppSec component as a Web Application Firewall in front of Nginx on Ubuntu 24.04, using the OWASP Core Rule Set for inband detection and blocking of SQL injection, XSS, LFI, RCE, and Log4Shell payloads. It complements the existing SSH-oriented CrowdSec tutorial and covers a component not yet documented in the repository. Verified end-to-end on a Hetzner Cloud CX22 running Ubuntu 24.04.3 LTS. Signed-off-by: Egemen KEYDAL <egemenkeydaltr@gmail.com>
Collaborator
|
Thank you for your contribution @KEYDALTR! I tested the tutorial and almost everything worked, I only have a few notes:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a new English-language tutorial,
crowdsec-appsec-waf-nginx-hetzner-cloud, that shows how to set up CrowdSec AppSec as a Web Application Firewall in front of Nginx on a Hetzner Cloud CX22 running Ubuntu 24.04 LTS, using the OWASP Core Rule Set (CRS) for inband blocking of SQLi, XSS, LFI, RCE, and Log4Shell payloads.Why this tutorial
The repository currently has one tutorial dedicated to CrowdSec —
how-to-set-up-crowdsec-and-protect-ssh— which covers the log-based firewall bouncer for SSH. It does not cover the AppSec (WAF) component, which is a separate part of the CrowdSec stack that works at the HTTP layer instead of the IP layer. The Coolify-specific CrowdSec tutorials in the repo also do not cover standalone Nginx + AppSec.This tutorial complements the existing SSH-focused content by walking through:
crowdsec-nginx-bouncer127.0.0.1:7422)APPSEC_URLandALWAYS_SEND_TO_APPSECto the listenerHTTP 403cscli metricsto see which CRS rule IDs firedTesting
Every command in the tutorial was executed end-to-end on a fresh Hetzner Cloud CX22 running Ubuntu 24.04.3 LTS. The verification section in Step 6 reports the exact HTTP codes observed during the test run (
normal: 200,sqli/xss/traversal/log4shell: 403).cscli metricsandcscli alerts listoutputs match the expected CRS anomaly-score block behaviour.Files added
~2150 words, one language (English). Frontmatter follows the repository template. No images are used.
DCO
I have read and understood the Contributor's Certificate of Origin available at the end of https://raw.githubusercontent.com/hetzneronline/community-content/master/tutorial-template.md and I hereby certify that I meet the contribution criteria described in it.
Signed-off-by: Egemen KEYDAL egemenkeydaltr@gmail.com