Repository navigation
Feature/lab11 - #1850
Open
sedimentt wants to merge 21 commits into
Open
Feature/lab11#1850sedimentt wants to merge 21 commits into
sedimentt wants to merge 21 commits into
Conversation
feat(lab1): juice shop deploy + PR template + triage report
feat(lab2): threat model, secure variant, auth flow
test: first signed commit
feat(lab4): juice shop SBOM + grype and trivy comparison
feat(lab5): zap baseline and authenticated, semgrep, correlation
feat(lab6): checkov and kics findings, custom policy
feat(lab7): trivy scans + PSS restricted deployment
feat(lab8): cosign signing, tamper demo, sbom attestation
feat(lab9): falco custom rules + conftest policy
feat(lab10): defectdojo capstone + governance report
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.
Goal
Put a hardened Nginx reverse proxy in front of Juice Shop with TLS, security headers and availability controls, prove each control with a command, and add a ModSecurity + OWASP CRS WAF that blocks SQL injection the plain proxy forwards.
Changes
limit_conn perip 20, answers 429)ssl_conf_command Ciphersuites) - `ssl_session_ticConnectionheader fix so the upstream keepalive pool actually workslabs/lab11/waf/docker-compose.override.yml— WAFowasp/modsecurity-c by digest), blocking mode, port127.0.0.1:8090`Testing
curl -sI http://ldirect; path andquery string preservedopenssl s_client S_256_GCM_SHA384401 ×6, then429 ×8(10 r/m,burst=5); other paths not limi429immediately (`limiting connectiodocker compose pause juice→504after 30.03 s(`proxy_read_timeout
-ciphersuites TLS_CHACHA20_POLY1305_SHA256→alert handshake failure(alert 40)nginx -t+nginx -s reload): 1736 re200`; fingerprintconfirmed changed500(SQLITE_ERROR)403, rul911100blocks t quantity)942190fires on ordinary text containing "union select"Artifacts & Screenshots
submissions/lab11.mdlabonflabs/lab11/waf/docker-compose.override.ymllab), logs(labs/lab11/logs/) and check outputs (labs/lab11/results/`) are notcommitted
Checklist