Ubuntuのファイアウォール設定
まずは起動。
Ubuntu
# ufw enable
httpの通信を許可したいので80版ポートを開ける。
Ubuntu
# ufw allow 80
# ufw reload
インストール
Apache2のインストール
Ubuntu
# apt-get update
# apt-get install apache2
Modsecurityのインストール
Ubuntu
# apt-get install libapache2-mod-security2
# systemctl restart apache2
設定
設定ファイルの作成・変更
Ubuntu
# cp /etc/modsecurity/modsecurity.comf-recommended /etc/modsecurity/modsecurity.conf
# vi /etc/modsecurity/modsecurity.conf
DetectionOnly
のところをOn
に変更
modsecurity.conf
...
# -- Rule engine initialization ---------------------------------------------
# Enable ModSecurity, attaching it to every transaction. Use detection
# only to start with, because that minimises the chances of post-installation
# disruption
#
SecRuleEngine On
...
ルールファイルのインストール
Ubuntu
# mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.dis
# git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs
# cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf
ルールの適用
Ubuntu
# vi /etc/apache2/mods-enabled/security2.conf
IncludeOptional /usr/share/modsecurity-crs/*.load
をコメントアウト
その下に、IncludeOptional /usr/share/modsecurity-crs/*.conf
を追記。
security.conf
...
# Include OWASP ModSecurity CRS rules if installed
# IncludeOptional /usr/share/modsecurity-crs/*.load
IncludeOptional /usr/share/modsecurity-crs/*.conf
リバースプロキシの設定
Ubuntu
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/my-proxy.conf
vi /etc/apache2/sites-available/my-proxy.conf
```console:my-proxy.conf
...
# http reverse proxy
ProxyPass / <検知したいサイトurl>/
ProxyPassReverse / <検知したいサイトurl>/
...
Ubuntu
# a2ensite my-proxy
# a2dissite 000-default
# systemctl restart apache2
確認
Modsecurityを導入したPCのIPにアクセスして検知したいサイトに飛べばプロキシ設定は成功。
試しにXSSをしてみてブロックされたらヨシ
ログは、/var/log/apache2/modsec_audit.log
にあるのでtailなどで確認する。