Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
coraza — Go 기반의 ModSecurity SecLang 규칙 및 OWASP Core Rule Set v4와 호환되는 웹 애플리케이션 방화벽 라이브러리로, 웹 애플리케이션 및 API를 위한 실시간 HTTP 트래픽 검사 및 공격 차단 기능을 제공합니다. | Kitploit
도구/GitHubGitHub/corazawaf/coraza
Defensive ToolsVulnerability ScannersIDS/IPS EvasionWeb Application ExploitationAPI Security TestingWAF BypassWeb SecurityMisconfigurationLearning & EducationAPI Security
GitHubcorazawaf/coraza

coraza

3.7k35175일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Go 기반의 ModSecurity SecLang 규칙 및 OWASP Core Rule Set v4와 호환되는 웹 애플리케이션 방화벽 라이브러리로, 웹 애플리케이션 및 API를 위한 실시간 HTTP 트래픽 검사 및 공격 차단 기능을 제공합니다.

저장소 보기웹사이트

  Coraza - 웹 애플리케이션 방화벽

Regression Tests Coreruleset Compatibility CodeQL codecov Project Status: Active – The project has reached a stable, usable state and is being actively developed. OWASP Production Project GoDoc

Coraza는 오픈 소스, 엔터프라이즈급, 고성능 웹 애플리케이션 방화벽(WAF)으로, 사랑하는 애플리케이션을 보호할 준비가 되어 있습니다. Go로 작성되었으며 ModSecurity SecLang 규칙 세트를 지원하고 OWASP Core Rule Set v4와 100% 호환됩니다.

  • 웹사이트: https://coraza.io
  • 포럼: Github Discussions
  • OWASP Slack 커뮤니티 (#coraza): https://owasp.org/slack/invite
  • 규칙 테스트: Coraza Playground

주요 기능:

  • ⇲ 드롭인 - Coraza는 TrustwaveOWASP ModSecurity Engine과 부분적으로 호환되는 대체 엔진이며 업계 표준 SecLang 규칙 세트를 지원합니다.

  • 🔥 보안 - Coraza는 OWASP CRS v4(이전 Core Rule Set)를 실행하여 OWASP Top Ten을 포함한 다양한 공격으로부터 웹 애플리케이션을 보호하며, 최소한의 거짓 경보를 유발합니다. CRS는 SQL Injection (SQLi), Cross Site Scripting (XSS), PHP & Java Code Injection, HTTPoxy, Shellshock, 스크립팅/스캐너/봇 탐지 및 메타데이터 및 오류 누출 등 많은 일반적인 공격 범주로부터 보호합니다. 이전 버전의 CRS는 호환되지 않습니다.

  • 🔌 확장 가능 - Coraza는 핵심적으로 라이브러리이며, 온프레미스 웹 애플리케이션 방화벽 인스턴스를 배포하기 위한 많은 통합 기능을 제공합니다. 감사 로거, 지속성 엔진, 연산자, 작업 등을 통해 원하는 대로 Coraza를 확장할 수 있습니다.

  • 🚀 성능 - 대규모 웹사이트부터 작은 블로그까지, Coraza는 최소한의 성능 영향으로 부하를 처리할 수 있습니다. 벤치마크를 확인하세요.

  • ﹡ 단순함 - 누구나 Coraza 소스 코드를 이해하고 수정할 수 있습니다. 새로운 기능으로 Coraza를 확장하기 쉽습니다.

  • 💬 커뮤니티 - Coraza는 커뮤니티 프로젝트이며, 기여를 환영하고 모든 아이디어를 고려합니다. 기여자 안내는 CONTRIBUTION 문서에서 확인하세요.


통합

Coraza 프로젝트는 다음 서버에 대한 구현 및 플러그인을 유지 관리합니다:

  • Caddy 리버스 프록시 및 웹서버 플러그인 - 안정적, 유지보수자 필요
  • Proxy WASM 확장 (proxy-wasm 지원 프록시, 예: Envoy용) - 안정적, 아직 개발 중
  • HAProxy SPOE 플러그인 - 실험적
  • Coraza C 라이브러리 (nginx 등용) - 실험적
  • RuiQi WAF - Coraza SPOA를 위한 웹 관리 패널 및 향상된 트래픽 제어 - 실험적

전제 조건

  • 최신 Go 버전 (go.mod 참조) 또는 tinygo 컴파일러.
  • Linux 배포판(Debian 또는 Centos 권장), Windows 또는 Mac.

Coraza 핵심 사용법

Coraza는 Go 프로그램의 라이브러리로 사용하여 보안 미들웨어를 구현하거나 기존 애플리케이션 및 웹 서버와 통합할 수 있습니다.

root@kitploit:~
package main

import (
	"fmt"

	"github.com/corazawaf/coraza/v3"
)

func main() {
	// First we initialize our waf and our seclang parser
	waf, err := coraza.NewWAF(coraza.NewWAFConfig().
		WithDirectives(`SecRule REMOTE_ADDR "@rx .*" "id:1,phase:1,deny,status:403"`))
	// Now we parse our rules
	if err != nil {
		fmt.Println(err)
	}

	// Then we create a transaction and assign some variables
	tx := waf.NewTransaction()
	defer func() {
		tx.ProcessLogging()
		tx.Close()
	}()
	tx.ProcessConnection("127.0.0.1", 8080, "127.0.0.1", 12345)

	// Finally we process the request headers phase, which may return an interruption
	if it := tx.ProcessRequestHeaders(); it != nil {
		fmt.Printf("Transaction was interrupted with status %d\n", it.Status)
	}
}

Examples/http-server는 Coraza를 연습할 수 있는 예제를 제공합니다.

빌드 태그

Go 빌드 태그는 컴파일 시 특정 기능을 조정할 수 있습니다. 이는 고급 사용 사례만을 위한 것이며, 마이너 버전 간 호환성을 보장하지 않습니다. 주의해서 사용하세요.

  • coraza.disabled_operators.* - 지정된 연산자를 컴파일에서 제외합니다. 특히 plugins.RegisterOperator로 연산자를 재정의하여 바이너리 크기/시작 오버헤드를 줄이는 데 유용합니다.
  • coraza.rule.multiphase_evaluation - 규칙이 정의된 단계뿐만 아니라 준비된 단계에서 규칙 변수를 평가할 수 있도록 합니다.
  • coraza.no_memoize - 정규식 및 aho-corasick 빌더의 기본 메모이제이션을 비활성화합니다. 메모이제이션은 기본적으로 활성화되어 있으며 전역 캐시를 사용하여 WAF 인스턴스 간에 컴파일된 패턴을 재사용하여 메모리 소비 및 시작 오버헤드를 줄입니다. 실시간 재로드를 수행하는 장기 실행 프로세스에서는 experimental.WAFCloser를 통해 WAF.Close()를 사용하여 WAF가 파괴될 때 캐시된 항목을 해제하거나 이 태그를 사용하여 메모이제이션을 완전히 옵트아웃하세요.
  • no_fs_access - 대상 환경에 FS 액세스가 없음을 나타내어 파일 본문 버퍼 등 OS 파일 시스템 관련 기능을 활용하지 않습니다.
  • coraza.rule.case_sensitive_args_keys - ARGS 키에 대해 대소문자 구분 일치를 활성화하여 Coraza 동작을 RFC 3986 사양에 맞춥니다. 다음 주요 버전에서 기본적으로 활성화될 예정입니다.
  • coraza.rule.no_regex_multiline - @rx 연산자에서 정규식의 다중 행 수정자를 기본적으로 비활성화합니다. CRS 예상 동작에 맞추고 거짓 양성을 줄이며 성능을 향상시킬 수 있습니다. 다음 주요 버전에서 기본적으로 다중 행 없음이 활성화될 예정입니다. 자세한 내용은 이 PR을 확인하세요.
  • - 모든 SecRule/SecAction에 작업이 필요한 엄격한 규칙 ID 검사를 활성화합니다.

E2E 테스트

http/e2e/는 e2e 테스트를 실행하는 유틸리티를 제공합니다. 자체 WAF 배포에 대해 독립적으로 사용할 수 있습니다:

root@kitploit:~
go run github.com/corazawaf/coraza/v3/http/e2e/cmd/httpe2e@main --proxy-hostport localhost:8080 --httpbin-hostport localhost:8081

또는 라이브러리로 가져와서 사용:

root@kitploit:~
"github.com/corazawaf/coraza/v3/http/e2e"

라이브러리 사용에 대한 참조는 testing/e2e/e2e_test.go를 참조하세요. 로드해야 하는 예상 지시문 및 사용 가능한 플래그는 http/e2e/cmd/httpe2e/main.go에서 확인할 수 있습니다.

도구

  • Go FTW: 규칙 테스트 엔진
  • Coraza Playground: 샌드박스 규칙 테스트 웹 인터페이스
  • OWASP Core Ruleset: Coraza와 호환되는 멋진 규칙 세트

개발

Coraza 개발에는 Go만 필요합니다. mage.go를 실행하여 개발 명령을 실행할 수 있습니다.

명령어 목록을 확인하세요

root@kitploit:~
$ go run mage.go -l
Targets:
  check        runs lint and tests.
  coverage     runs tests with coverage and race detector enabled.
  doc          runs godoc, access at http://localhost:6060.
  format       formats code in this repository.
  fuzz         runs fuzz tests.
  lint         verifies code quality.
  precommit    installs a git hook to run check when committing.
  test         runs all tests.

예를 들어, 제출 전에 코드 서식을 지정하려면 다음을 실행하세요.

root@kitploit:~
go run mage.go format

기여

기여를 환영합니다! 자세한 내용은 CONTRIBUTING.md를 참조하세요.

보안

보안 문제를 보고하려면 이 링크를 따라 문제 설명, 문제를 재현한 단계, 영향을 받는 버전, 그리고 알려진 경우 해결 방법을 설명해 주세요.

취약점 관리 팀이 보고 접수 후 3영업일 이내에 응답할 것입니다. 문제가 취약점으로 확인되면 보안 권고( Security Advisory )를 공개합니다. 이 프로젝트는 90일 공개 일정을 따릅니다.

감사

  • CRS와 도움을 준 OWASP Coreruleset 팀
  • ModSecurity를 만든 Ivan Ristić

X/Twitter의 Coraza

  • @corazaio

기부

기부는 기부 사이트를 참조하세요.

기여해주신 모든 분들께 감사드립니다

가장 먼저, 이 프로젝트를 시작하고 Coraza 주변에 놀라운 커뮤니티를 구축해주신 Juan Pablo Tosso님께 큰 감사를 드립니다!

오늘날 우리에게는 수많은 훌륭한 기여자가 있습니다. 여러분이 없었다면 이 모든 것이 불가능했을 것입니다!

Made with contrib.rocks

도구 다운로드
coraza.rule.mandatory_rule_id_check
id
  • coraza.rule.rx_prefilter - SecRxPreFilter 지시문의 기본값을 On으로 설정합니다. @rx 연산자를 최적화하여 입력이 일치할 수 없을 때 전체 정규식을 건너뜁니다. 이 빌드 태그는 테스트 목적으로만 사용되며, 런타임 구성 및 이 기능에 대한 포괄적인 문서는 SecRxPreFilter 지시문을 참조하세요.