1. ModSecurity 설치
sudo apt update
#ModSecurity를 설치하여 Apache에서 사용할 수 있도록 설정
sudo apt install libapache2-mod-security2
결과
- ModSecurity 패키지가 설치
- Apache가 ModSecurity의 기능을 사용할 준비 완료
2. ModSecurity 활성화
#Apache에서 ModSecurity 모듈을 활성화
sudo a2enmod security2
결과
- security2 모듈이 Apache에 활성화
- ModSecurity가 요청을 모니터링할 수 있다
1) ModSecurity 설정 파일이 있는지 확인
ls /etc/modsecurity/
ModSecurity 설치 후 기본 설정 파일은 /etc/modsecurity/ 디렉토리에 위치해야 한다.
디렉토리에 파일이 없으면 기본 설정 파일을 생성할 것
결과
- modsecurity.conf-recommended 파일이 보이는지 확인
2) modsecurity.conf 파일 생성
: modsecurity.conf-recommended 파일을 modsecurity.conf로 복사
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
-> modsecurity.conf 파일이 생성
3) ModSecurity 설정 파일 수정
#ModSecurity 설정 파일을 열고 방화벽 엔진을 활성화
sudo nano /etc/modsecurity/modsecurity.conf
#SecRuleEngine 설정 ON으로 변경하여 요청 차단을 활성화
SecRuleEngine On
결과
- "탐지 모드"에서 "차단 모드"로 변경
- 악성 요청이 실제로 차단
3. Apache 서버 재시작
sudo systemctl restart apache2
-> ModSecurity가 활성화된 상태로 동작
4. ModSecurity 테스트
1) Apache에 ModSecurity 모듈이 로드되었는지 확인
sudo apachectl -M | grep security2
-> security2_module이 출력되면 ModSecurity가 정상적으로 활성화된 상태
2) 테스트 및 검증 (브라우저)
http://your-server.com/index.php?id=1' OR '1'='1
-> 브라우저 화면:"403 Forbidden" 또는 차단 알림 메시지가 표시 ( ModSecurity가 성공적으로 작동 중)
|
3) 테스트 및 검증 (로그분석)
# Apache의 로그 파일(/var/log/apache2/error.log)을 확인하여 ModSecurity가 요청을 차단했는지 확인
sudo tail -f /var/log/apache2/error.log
1. SQL Injection 탐지
- detected SQLi using libinjection: ModSecurity는 libinjection을 사용하여 SQL Injection 공격을 탐지
- Fingerprint: s&sos : 공격 패턴에 대한 고유 식별자
- 규칙 파일: REQUEST-942-APPLICATION-ATTACK-SQLI.conf
- 규칙 ID: 이 규칙은 SQL Injection 공격을 탐지하는 데 사용 (942100)
2. 차단된 요청
- Access denied with code 403: ModSecurity가 공격을 탐지하고 HTTP 403 응답을 반환
- 규칙 파일: REQUEST-949-BLOCKING-EVALUATION.conf.
- 규칙 ID:Inbound Anomaly Score를 평가하는 규칙 (949110:)
3. 세부정보
- Total Score: 5 (요청이 평가된 위협 점수. 5점 이상이면 기본적으로 차단)
- SQL Injection: 5점 (탐지됨) / XSS, RFI, LFI, 등 다른 공격 유형은 감지되지 않음
4. 요청 정보
- Hostname: megabank.store
- URI: /index.php (요청된 URL에 대해 SQL Injection 탐지가 이루어졌다)
결론: ModSecurity가 정상적으로 동작 중
|
'project' 카테고리의 다른 글
법과 기술적 관점 (1) | 2024.12.20 |
---|---|
시스템보안 (0) | 2024.12.10 |
bank 대응 프로젝트 ( HTTPS 리다이렉션) (0) | 2024.12.09 |
OWASP ZAP과 Nikto의 스캔 결과를 CSV 파일로 자동 변환 과정 (0) | 2024.12.06 |
wapiti (0) | 2024.11.12 |