우분투 리눅스에 아파치 웹 서버를 운영하고, 웹 방화벽을 구축하는 글 입니다.
우분투 리눅스에서 아파치를 설치 합니다.
sudo apt update
sudo apt install apache2
웹 방화벽을 구현하기 위해 ModSecurity를 설치합니다.
sudo apt install libapache2-mod-security2

ModSecurity는 아파치 웹 서버를 위한 오픈소스 방화벽입니다.
방화벽을 구축한다면 어떠한 규칙에 의해 공격을 차단할지 설정할 수 있습니다.
이 룰셋은 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
ls -al /etc/modsecurity
mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
vim /etc/modsecurity/modsecurity.conf
SecRulEngine On 으로 수정
vim /etc/apache2/apache2.conf
<IfModule security2_module>
Include /usr/share/modsecurity-crs/crs-setup.conf
Include /usr/share/modsecurity-crs/rules/*.conf
</IfModule>
위 내용을 추가 해줍니다.
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>
위 내용을 추가합니다.
systemctl restart apache2
sudo a2enmod security2 -> 활성화
sudo a2dismod security2
sudo systemctl restart apache2 -> 비활성화