Overview
ModSecurty のインストールと動作の確認をする。
Reference
- ModSecurity ( GitHub )
Environment
OS
$ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.2 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal $ uname -a Linux svr-web10 5.4.0-72-generic #80-Ubuntu SMP Mon Apr 12 17:35:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $
Apache
$ apache2 -v Server version: Apache/2.4.46 (Ubuntu) Server built: 2020-08-10T12:32:13 $
Prerequisites
hosts の 127.0.1.1 に書かれいる Hostname は FQDN ( hostname.domain )の形式で記載されいている。
$ cat /etc/hosts 127.0.1.1 svr-web10.travelersmedia.jp $
000-default.conf の ServerName には hosts ファイルの 127.0.1.1 と同じFQDN が書かれている。
$ cat /etc/apache2/sites-available/000-default.conf ServerName svr-web10.travelersmedia.jp $
上記のミスマッチが存在すると下記のエラーを出力する。
$ sudo apachectl -M | grep security AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message security2_module (shared) $
Installation
$ sudo apt-get install libapache2-mod-security2 $ sudo systemctl restart apache2
Check module
hyamazak@svr-web10:~$ sudo apachectl -M | grep security security2_module (shared) hyamazak@svr-web10:~$
Configuration
$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf $ sudo vim /etc/modsecurity/modsecurity.conf SecRuleEngine = on $ sudo systemctl restart apache2
Download and Modify csr
$ sudo mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.bk $ sudo git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs $ sudo cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf $ sudo vim /etc/apache2/mods-enabled/security2.conf IncludeOptional /usr/share/modsecurity-crs/*.conf <---- Add IncludeOptional "/usr/share/modsecurity-crs/rules/*.conf <---- Add $
Check ModSecurity
Browse to Sites
Browse https://rlab.cavtime.net/index.html?exec=/bin/bash
Check Log File