Skip to content

ParkJuhan94/WAF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

78 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” WAF

πŸ§‘πŸ»β€πŸ’» [λΈŒλΌμš°μ € λ˜λŠ” curl]
     ↓
[WAF Docker μ»¨ν…Œμ΄λ„ˆ :80]
  ↳ Nginx + ModSecurity
     ↓
[Spring Boot μ•± :8080]
  • μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ°©ν™”λ²½(Web Application Firewall)의 μ•½μžλ‘œ, μ›Ή μ„œλ²„ μ•žλ‹¨μ— μœ„μΉ˜ν•˜μ—¬ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ³΅κ²©μœΌλ‘œλΆ€ν„° λ³΄ν˜Έν•˜λŠ” λ³΄μ•ˆ μ†”λ£¨μ…˜μž…λ‹ˆλ‹€.
  • HTTP/HTTPS ν”„λ‘œν† μ½œμ„ 톡해 μ „μ†‘λ˜λŠ” νŠΈλž˜ν”½μ„ λΆ„μ„ν•˜κ³  μ•…μ„± 곡격을 μ°¨λ‹¨ν•˜μ—¬ μ›Ή μ„œλΉ„μŠ€μ˜ μ•ˆμ „μ„±μ„ λ†’μž…λ‹ˆλ‹€.
  • nginx + ModSecurity + OWASP CRS 기반의 WAFλ₯Ό 직접 κ°œλ°œν•˜κ³ , SaaS ν˜•νƒœλ‘œ κ΅¬μ‘°ν™”ν•©λ‹ˆλ‹€.

βš™οΈ ν™˜κ²½ μ„€μ •

λ°±μ—”λ“œ ν™˜κ²½λ³€μˆ˜ μ„€μ •

  1. .env 파일 생성

    cd backend
    cp .env.example .env
  2. ν•„μˆ˜ ν™˜κ²½λ³€μˆ˜ μ„€μ •

    # λ°μ΄ν„°λ² μ΄μŠ€
    DB_PASSWORD=your-password-here
    
    # Google OAuth (https://console.cloud.google.com/)
    GOOGLE_CLIENT_ID=your-google-client-id-here
    GOOGLE_CLIENT_SECRET=your-google-client-secret-here
    
    # JWT Secret (openssl rand -base64 32 둜 생성)
    JWT_SECRET=your-256-bit-secret-key
  3. 선택적 ν™˜κ²½λ³€μˆ˜ (ν•„μš” μ‹œ μˆ˜μ •)

    • REDIS_HOST, REDIS_PORT: Redis μ—°κ²° 정보
    • KAFKA_ENABLED=true: Kafka μ‚¬μš© μ‹œ
    • ELASTICSEARCH_ENABLED=true: Elasticsearch μ‚¬μš© μ‹œ

μ„œλΉ„μŠ€ ꡬ성

  • κΈ°λ³Έ μ„œλΉ„μŠ€ (항상 μ‹€ν–‰)

    • waf: WAF μ»¨ν…Œμ΄λ„ˆ (Nginx + ModSecurity)
    • web: λ°±μ—”λ“œ μ›Ή μ„œλ²„ (ν…ŒμŠ€νŠΈμš©)
    • mysql: MySQL λ°μ΄ν„°λ² μ΄μŠ€
    • redis: Redis μΊμ‹œ
  • λͺ¨λ‹ˆν„°λ§ μ„œλΉ„μŠ€

    • zookeeper: Kafka Zookeeper
    • kafka: Kafka λ©”μ‹œμ§€ 브둜컀
    • elasticsearch: Elasticsearch 검색 μ—”μ§„

About

πŸ” Web Application Firewall

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages