Apache 보안 강화를 위한 ModSecurity 설정 가이드
웹 서버의 보안은 항상 중요한 이슈입니다.
오늘은 Apache 웹서버에서 사용할 수 있는 강력한 오픈소스 웹 애플리케이션 방화벽인 'ModSecurity'를 활용하여, 일반적인 보안을 강화하는 방법에 대해 알아보겠습니다.
ModSecurity란?
ModSecurity는 다양한 공격 유형으로부터 웹 애플리케이션을 보호하는 데 도움을 주는 인기있는 오픈소스 웹 애플리케이션 방화벽(WAF)입니다.Ubuntu에서의 Modsecurity 설치 및 설정
ModSecurity 설치하기
먼저, Ubuntu에서는 아래의 명령어를 통해 ModSecurity와 필수 의존성 패키지들을 설치할 수 있습니다.1 2 | sudo apt-get update sudo apt-get install libapache2-mod-security2 | cs |
설치가 완료되면, 아래의 명령어를 통해 Apache에 mod_security 모듈이 제대로 로드되었는지 확인할 수 있습니다.
1 | apachectl -M | grep security2_module | cs |
위의 명령어를 실행하였을 때 "security2_module (shared)"라는 출력이 나타난다면, mod_security 모듈이 정상적으로 로드된 것입니다.
<이렇게 나온다면 정상입니다.> |
만약 출력되지 않는다면, 아래의 명령어를 통해 mod_security 모듈을 활성화하세요.
1 | sudo a2enmod security2 | cs |
모듈 활성화 후에는 Apache 서버를 재시작하여 변경사항을 적용합니다.
1 | sudo systemctl restart apache2.service | cs |
ModSecurity 설치가 완료되었습니다.
이제 기본 구성 파일을 활성화하고 OWASP CRS를 적용하는 과정으로 넘어갑시다.
기본 구성 파일 활성화
아래 명령어를 실행하여 Modsecurity의 기본 구성 파일을 활성화합니다.1 | sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf | cs |
SecRuleEngine 값 변경
다음으로, 아래 명령어를 통해 'SecRuleEngine' 값을 'On'으로 변경하고, ModSecurity를 활성화합니다.1 | sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf | cs |
OWASP CRS 설치 및 적용
OWASP Core Rule Set(CRS)은 공개된 범용적인 규칙 세트로, 다양한 웹 애플리케이션 공격에 대비할 수 있게 해줍니다.1 2 3 | cd /usr/src/ sudo git clone https://github.com/coreruleset/coreruleset.git sudo cp -R coreruleset/rules/* /usr/share/modsecurity-crs/ | cs |
CRS 설정 파일도 마찬가지로 모듈 디렉터리로 복사합니다.
1 | sudo cp /usr/src/coreruleset/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf | cs |
그리고 Apache의 ModSecurity 설정파일에 CRS 규칙셋 경로를 추가합니다.
1 2 | sudo echo "IncludeOptional /usr/share/modsecurity-crs/*.conf" >> /etc/apache2/mods-enabled/security2.conf sudo echo "IncludeOptional /usr/share/modcurity-crs/rules/*.conf" >> /etc/apache2/mods-enabled/security2.conf | cs |
Apache 재시작
마지막으로, 아래 명령어를 통해 Apache를 재시작하여 변경사항을 적용합니다.1 | sudo systemctl restart apache2.service | cs |
결론
Apache 서버의 보안을 강화하는 데 있어서 ModSecurity는 매우 중요한 도구입니다.이 포스트에서는 제가 얼마전 Ubuntu에 Apache를 세팅하면서 ModSecurity와 OWASP CRS를 설치 및 설정한 내용을 바탕으로 그 과정을 기록하는 방식으로 포스팅을 작성했습니다.
Ubuntu 22.04 LTS, Apache 2.4.52버전을 기준으로 작성했으며 사용자의 환경에 따라, 그리고 웹 애플리케이션의 특성과 보호해야 할 데이터 등에 따라 추가적인 규칙 작성이 필요할 수 있습니다.
따라서, 이 가이드가 시작점이 되어 각자의 환경에 맞게 최적화된 보안 설정을 구축하는데 도움이 되기를 바랍니다.
따라서, 이 가이드가 시작점이 되어 각자의 환경에 맞게 최적화된 보안 설정을 구축하는데 도움이 되기를 바랍니다.
댓글
댓글 쓰기