SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Apache Module,
SecuIP
Project 1실 장성재
- 2016년 3월 -
SecuIP
• HTTP 요청을 차단하는 아파치 모듈
클라이언트 IP 1.1.1.1에서 서버로 /api/login 요청이…
20초 동안 4회를 초과하면
1.1.1.1에서 오는 /api/login 요청을 30초 동안 차단
30초 후에는 차단 해제
Apache Web
Server
1 요청
Tomcat
2 요청
3 응답
4 응답
전체 구성
Apache Web
Server
1 요청
Tomcat
2 요청
3 응답
4 응답
일반적인 어플리케이션 서버의 구성
• 클라이언트의 요청은 아파치 웹서버를 경유하여 Tomcat 서버로 전달
• 아파치 모듈을 이용하여 Tomcat으로 요청이 전달되기 전에 요청 처리
가 가능함
전체 구성 - mod_jk
Apache Core
mod_jk
Apache Web
Server
요청
데이터
응답
데이터
• 아파치 Core 모듈은 아파치 내의 여러가지 모듈들을 호출하여 줌
• 아파치 모듈 mod_jk는 클라이언트의 요청을 Tomcat으로 전달하는 역할
• 클라이언트의 요청은 아파치의 mod_jk를 거쳐 Tomcat으로 전달되고, Tomcat에서는
요청을 처리한 후에 응답데이터를 생성하고 이를 아파치를 거쳐서 클라이언트로 전달
됨
전체 구성 - input/output
filter
Apache Core
mod_jk
Apache Web
Server
{ }input filter:
요청 데이터 조작
output filter:
응답 데이터 조작
mod_ssl
mod_deflat
e
mod_ssl
mod_deflat
e
• 아파치에는 필요에 의해서 요청, 응답 데이터를 조작하는 기능을 제공함. 대표적으로 mod_ssl,
mod_deflate 있음.
• mod_ssl: 클라이언트와 서버 사이에 Secure Layer 형태의 HTTPS 를 사용하게 해주는 모듈(요청 데
이터 복호화, 응답 데이터 암호화 역할)
mod_deflate: 클라이언트 서버 사이에 데이터 압축 전송을 지원하기 위한 모듈(요청 데이터 압축해
제, 응답 데이터 압축 역할)
• 이렇게, 아파치 모듈은 뒷단의 어플리케이션 서버에서 공통적으로 필요한 기능을 구현하여 추가할
전체 구성 - mod_secuip
Apache Core
…
…
mod_ssl
…
mod_deflate
…
…
…
mod_deflate
…
mod_ssl
…
…
mod_jk
Apache Web
Server
mod_secuip
요청회수 갱신
• Secuip를 구현하여 mod_jk 모듈로 처리가 이루어지기 전에 클라이언트 IP와 URI를 기준으로
Redis에 요청회수를 저장함.
• Secuip는 Redis를 이용하여 동일한 요청의 회수를 조회하여 차단 조건에 부합하는지 확인함.
secuip 동작(미차단)mod_secuip
(최초 0초) INCR IP1_/api/login
IP1_/api/login 1 (10초)
10초 동안 4회를 초과하면 동일IP에서 들어오는 /api/login
요청을
60초 동안 차단(60초 후에는 차단 해제)
KEY Value 유효시간
(2초후) INCR IP1_/api/login
IP1_/api/login 2 (8초)
(11초후) INCR IP1_/api/login
IP1_/api/login 1 (10초)
IP1_/api/login 2 (0초)
(최초요청10초후 Key 제거)
.
.
.
secuip 동작(차단)mod_secuip
(최초 0초) INCR IP1_/api/login
IP1_/api/login 1 (10초)
10초 동안 4회를 초과하면 동일IP에서 들어오는 /api/login
요청을
60초 동안 차단(60초 후에는 차단 해제)
KEY Value 유효시간
(2 초후) INCR IP1_/api/login
IP1_/api/login 2 (8초)
(5 초후) INCR IP1_/api/login
IP1_/api/login 4 (3초)
IP1_/api/login 3 (5초)
(7 초후) INCR IP1_/api/login
(8 초후) INCR IP1_/api/login
IP1_/api/login 5 (2초)(차단 인지)
expire 설정 IP1_/api/login 60초
IP1_/api/login 5 (60초)
IP1_/api/login XX (0초)
.
.
.
(30 초후) INCR IP1_/api/login
(차단)
전체 구성 - 요약
Apache HTTP
Server
1 요청
Tomcat
3 요청
4 응답
5 응답
secuip
2 요청회수 갱신
SecuIP 소스코드
https://github.com/skplanet/secuip
끝

Weitere ähnliche Inhalte

Was ist angesagt?

Oracle Cloud에서 Open VPN 설치 및 이용 방법
Oracle Cloud에서 Open VPN 설치 및 이용 방법Oracle Cloud에서 Open VPN 설치 및 이용 방법
Oracle Cloud에서 Open VPN 설치 및 이용 방법JC Park
 
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법JC Park
 
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례YongSung Yoon
 
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문Hyunmin Kim
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 finalGi Bong Kim
 
중고나라 거래 통계 서비스 1차 개발 완료 보고
중고나라 거래 통계 서비스 1차 개발 완료 보고중고나라 거래 통계 서비스 1차 개발 완료 보고
중고나라 거래 통계 서비스 1차 개발 완료 보고embian
 
[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개Open Source Consulting
 
Web server
Web serverWeb server
Web serverHerren
 
AWS Community Day: AWS Fargate on EKS 실전 사용하기
AWS Community Day: AWS Fargate on EKS 실전 사용하기AWS Community Day: AWS Fargate on EKS 실전 사용하기
AWS Community Day: AWS Fargate on EKS 실전 사용하기Chanho Yong
 
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Opennaru, inc.
 
Mcollective orchestration tool 소개
Mcollective orchestration tool 소개Mcollective orchestration tool 소개
Mcollective orchestration tool 소개태준 문
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현Hong Min Kim
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220Seomgi Han
 
가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계Herren
 
Spring Cloud Workshop
Spring Cloud WorkshopSpring Cloud Workshop
Spring Cloud WorkshopYongSung Yoon
 
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)삵 (sarc.io)
 
자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료태준 문
 
E2E-Monitor와 Pinpoint 비교
E2E-Monitor와 Pinpoint 비교E2E-Monitor와 Pinpoint 비교
E2E-Monitor와 Pinpoint 비교Jung Kim
 

Was ist angesagt? (20)

Oracle Cloud에서 Open VPN 설치 및 이용 방법
Oracle Cloud에서 Open VPN 설치 및 이용 방법Oracle Cloud에서 Open VPN 설치 및 이용 방법
Oracle Cloud에서 Open VPN 설치 및 이용 방법
 
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
 
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
 
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
 
03.Ansible 소개
03.Ansible 소개03.Ansible 소개
03.Ansible 소개
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 final
 
중고나라 거래 통계 서비스 1차 개발 완료 보고
중고나라 거래 통계 서비스 1차 개발 완료 보고중고나라 거래 통계 서비스 1차 개발 완료 보고
중고나라 거래 통계 서비스 1차 개발 완료 보고
 
[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개
 
Web server
Web serverWeb server
Web server
 
AWS Community Day: AWS Fargate on EKS 실전 사용하기
AWS Community Day: AWS Fargate on EKS 실전 사용하기AWS Community Day: AWS Fargate on EKS 실전 사용하기
AWS Community Day: AWS Fargate on EKS 실전 사용하기
 
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
 
Lam pstack
Lam pstackLam pstack
Lam pstack
 
Mcollective orchestration tool 소개
Mcollective orchestration tool 소개Mcollective orchestration tool 소개
Mcollective orchestration tool 소개
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
 
가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계
 
Spring Cloud Workshop
Spring Cloud WorkshopSpring Cloud Workshop
Spring Cloud Workshop
 
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
 
자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료
 
E2E-Monitor와 Pinpoint 비교
E2E-Monitor와 Pinpoint 비교E2E-Monitor와 Pinpoint 비교
E2E-Monitor와 Pinpoint 비교
 

Ähnlich wie Apache Module, Secuip

Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개Mee Nam Lee
 
파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 SeongHyun Ahn
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요dgmit2009
 
Tech talk 2 - 이윤구
Tech talk 2 - 이윤구Tech talk 2 - 이윤구
Tech talk 2 - 이윤구대영 최
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Esun Kim
 
오픈소스 소프트웨어 성능 최적화 보고서 2장.
오픈소스 소프트웨어 성능 최적화 보고서 2장.오픈소스 소프트웨어 성능 최적화 보고서 2장.
오픈소스 소프트웨어 성능 최적화 보고서 2장.HyeonSeok Choi
 
Application Performance Cloud Service
Application Performance Cloud ServiceApplication Performance Cloud Service
Application Performance Cloud ServiceMee Nam Lee
 
600.Troubleshooting Patterns
600.Troubleshooting Patterns600.Troubleshooting Patterns
600.Troubleshooting PatternsOpennaru, inc.
 
임태현, IIS with ASP.NET
임태현, IIS with ASP.NET임태현, IIS with ASP.NET
임태현, IIS with ASP.NET태현 임
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring SANG WON PARK
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종nexusz99
 
GS Neotek aws_Amazon_CloudFrontDay2018_session4
GS Neotek aws_Amazon_CloudFrontDay2018_session4GS Neotek aws_Amazon_CloudFrontDay2018_session4
GS Neotek aws_Amazon_CloudFrontDay2018_session4GS Neotek
 
오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석Jennifer Noh
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQLrockplace
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)jeongseokoh
 
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...Cloud-Barista Community
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 

Ähnlich wie Apache Module, Secuip (20)

Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개
 
파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
 
Tech talk 2 - 이윤구
Tech talk 2 - 이윤구Tech talk 2 - 이윤구
Tech talk 2 - 이윤구
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
 
오픈소스 소프트웨어 성능 최적화 보고서 2장.
오픈소스 소프트웨어 성능 최적화 보고서 2장.오픈소스 소프트웨어 성능 최적화 보고서 2장.
오픈소스 소프트웨어 성능 최적화 보고서 2장.
 
3장
3장3장
3장
 
Application Performance Cloud Service
Application Performance Cloud ServiceApplication Performance Cloud Service
Application Performance Cloud Service
 
600.Troubleshooting Patterns
600.Troubleshooting Patterns600.Troubleshooting Patterns
600.Troubleshooting Patterns
 
임태현, IIS with ASP.NET
임태현, IIS with ASP.NET임태현, IIS with ASP.NET
임태현, IIS with ASP.NET
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종
 
GS Neotek aws_Amazon_CloudFrontDay2018_session4
GS Neotek aws_Amazon_CloudFrontDay2018_session4GS Neotek aws_Amazon_CloudFrontDay2018_session4
GS Neotek aws_Amazon_CloudFrontDay2018_session4
 
오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQL
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)
 
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
 
Servlet3
Servlet3Servlet3
Servlet3
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 

Apache Module, Secuip

  • 1. Apache Module, SecuIP Project 1실 장성재 - 2016년 3월 -
  • 2. SecuIP • HTTP 요청을 차단하는 아파치 모듈 클라이언트 IP 1.1.1.1에서 서버로 /api/login 요청이… 20초 동안 4회를 초과하면 1.1.1.1에서 오는 /api/login 요청을 30초 동안 차단 30초 후에는 차단 해제 Apache Web Server 1 요청 Tomcat 2 요청 3 응답 4 응답
  • 3. 전체 구성 Apache Web Server 1 요청 Tomcat 2 요청 3 응답 4 응답 일반적인 어플리케이션 서버의 구성 • 클라이언트의 요청은 아파치 웹서버를 경유하여 Tomcat 서버로 전달 • 아파치 모듈을 이용하여 Tomcat으로 요청이 전달되기 전에 요청 처리 가 가능함
  • 4. 전체 구성 - mod_jk Apache Core mod_jk Apache Web Server 요청 데이터 응답 데이터 • 아파치 Core 모듈은 아파치 내의 여러가지 모듈들을 호출하여 줌 • 아파치 모듈 mod_jk는 클라이언트의 요청을 Tomcat으로 전달하는 역할 • 클라이언트의 요청은 아파치의 mod_jk를 거쳐 Tomcat으로 전달되고, Tomcat에서는 요청을 처리한 후에 응답데이터를 생성하고 이를 아파치를 거쳐서 클라이언트로 전달 됨
  • 5. 전체 구성 - input/output filter Apache Core mod_jk Apache Web Server { }input filter: 요청 데이터 조작 output filter: 응답 데이터 조작 mod_ssl mod_deflat e mod_ssl mod_deflat e • 아파치에는 필요에 의해서 요청, 응답 데이터를 조작하는 기능을 제공함. 대표적으로 mod_ssl, mod_deflate 있음. • mod_ssl: 클라이언트와 서버 사이에 Secure Layer 형태의 HTTPS 를 사용하게 해주는 모듈(요청 데 이터 복호화, 응답 데이터 암호화 역할) mod_deflate: 클라이언트 서버 사이에 데이터 압축 전송을 지원하기 위한 모듈(요청 데이터 압축해 제, 응답 데이터 압축 역할) • 이렇게, 아파치 모듈은 뒷단의 어플리케이션 서버에서 공통적으로 필요한 기능을 구현하여 추가할
  • 6. 전체 구성 - mod_secuip Apache Core … … mod_ssl … mod_deflate … … … mod_deflate … mod_ssl … … mod_jk Apache Web Server mod_secuip 요청회수 갱신 • Secuip를 구현하여 mod_jk 모듈로 처리가 이루어지기 전에 클라이언트 IP와 URI를 기준으로 Redis에 요청회수를 저장함. • Secuip는 Redis를 이용하여 동일한 요청의 회수를 조회하여 차단 조건에 부합하는지 확인함.
  • 7. secuip 동작(미차단)mod_secuip (최초 0초) INCR IP1_/api/login IP1_/api/login 1 (10초) 10초 동안 4회를 초과하면 동일IP에서 들어오는 /api/login 요청을 60초 동안 차단(60초 후에는 차단 해제) KEY Value 유효시간 (2초후) INCR IP1_/api/login IP1_/api/login 2 (8초) (11초후) INCR IP1_/api/login IP1_/api/login 1 (10초) IP1_/api/login 2 (0초) (최초요청10초후 Key 제거) . . .
  • 8. secuip 동작(차단)mod_secuip (최초 0초) INCR IP1_/api/login IP1_/api/login 1 (10초) 10초 동안 4회를 초과하면 동일IP에서 들어오는 /api/login 요청을 60초 동안 차단(60초 후에는 차단 해제) KEY Value 유효시간 (2 초후) INCR IP1_/api/login IP1_/api/login 2 (8초) (5 초후) INCR IP1_/api/login IP1_/api/login 4 (3초) IP1_/api/login 3 (5초) (7 초후) INCR IP1_/api/login (8 초후) INCR IP1_/api/login IP1_/api/login 5 (2초)(차단 인지) expire 설정 IP1_/api/login 60초 IP1_/api/login 5 (60초) IP1_/api/login XX (0초) . . . (30 초후) INCR IP1_/api/login (차단)
  • 9. 전체 구성 - 요약 Apache HTTP Server 1 요청 Tomcat 3 요청 4 응답 5 응답 secuip 2 요청회수 갱신
  • 11.