[웹 보안] 우분투 리눅스에 ModSecurity 웹 방화벽 구축하기

비전·2024년 9월 19일

웹 보안

목록 보기
2/5

우분투 리눅스에 아파치 웹 서버를 운영하고, 웹 방화벽을 구축하는 글 입니다.

1. 아파치 설치(웹서버)

우분투 리눅스에서 아파치를 설치 합니다.

sudo apt update
sudo apt install apache2

2. ModSecurity 설치

웹 방화벽을 구현하기 위해 ModSecurity를 설치합니다.

sudo apt install libapache2-mod-security2

ModSecurity는 아파치 웹 서버를 위한 오픈소스 방화벽입니다.

3. 사용할 규칙 OWASP 룰셋

방화벽을 구축한다면 어떠한 규칙에 의해 공격을 차단할지 설정할 수 있습니다.
이 룰셋은 OWASP에서 제공하는 CRS 룰셋을 사용합니다.

https://github.com/coreruleset/coreruleset

ls -alps /usr/share/modsecurity-crs
sudo rm -rf /usr/share/modsecurity-crs/
git clone https://github.com/coreruleset/coreruleset /usr/share/modsecurity-crs

ls -alps /usr/share/modsecurity-crs
mv /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf

4. ModSecurity 설정

4-1 기본 설정

ls -al /etc/modsecurity
mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

4-2 방화벽 설정파일

vim /etc/modsecurity/modsecurity.conf 

SecRulEngine On 으로 수정

4-3 아파치 설정 파일

vim /etc/apache2/apache2.conf
<IfModule security2_module>
        Include /usr/share/modsecurity-crs/crs-setup.conf
        Include /usr/share/modsecurity-crs/rules/*.conf
</IfModule>

위 내용을 추가 해줍니다.

4-4 설정파일

vim /etc/apache2/sites-enabled/000-default.conf 
SecRuleEngine On 
<IfModule security2_module>
        Include /usr/share/modsecurity-crs/crs-setup.conf
        Include /usr/share/modsecurity-crs/rules/*.conf
</IfModule>

위 내용을 추가합니다.

4-5 웹 서버 재시작

systemctl restart apache2

4-6 웹 방화벽 활성화 및 비활성화

sudo a2enmod security2 -> 활성화

sudo a2dismod security2
sudo systemctl restart apache2 -> 비활성화
profile
아는 만큼 보인다

0개의 댓글