ModSecurity 入れてみる / 久しぶりに Apache

Conoha でサーバ借りて、実験したりしてるけど、もうちょい安全に心掛けたほうがいいのかなと思ったり思わなかったり。

ということで、これまで動かしていたリバースプロキシを捨てて、 ModSecurity: Open Source Web Application Firewall を入れた構成で再構築してみようかと。

以下、将来の自分へのメモ。

下準備

  1. SSH だけあけた VPS を追加
  2. より強い SSH 公開鍵を送信
  3. SSH で接続
  4. SSH 公開鍵交換
  5. 切断
  6. 管理画面からサーバをプライベートネットワークに接続
  7. 起動
  8. SSH で接続
  9. プライベートネットワークの設定を実施

    ConohaのUbuntu 18.04にプライベートネットワークを設定する - Qiita

  10. SSH 切断
  11. SSH 接続を踏み台経由に変更

    踏み台サーバ経由の多段SSH

  12. 接続可能であることを確認後、外部ポートを閉じる
  13. sudo 可能アカウント作成
  14. SSH 公開鍵を作成したアカウントにコピー
  15. SSH 切断、sudo 可能アカウントで再接続
  16. 日本の apt リポジトリを参照するよう変更

    Ubuntu 18.04のWSL上へのインストールと初期設定

  17. sudo apt update & sudo apt upgrade
  18. SSH 切断、サーバ再起動、再接続

Apache ModSecurity

  1. sudo apt install apache2 libapache2-mod-security2 modsecurity-crs
  2. sudo cp modsecurity.conf-recommended modsecurity.conf
  3. Apache HTTP Server向けのWebアプリケーションファイアウォール(WAF)「ModSecurity」を使ってみよう | さくらのナレッジ

    ちょこちょこ古い。

  4. 接続許可ポートを一時的に開けて、疎通確認
  5. 接続許可ポートを再度閉じる

certbot

  1. デフォルトの VirtualHost に ServerName ServerAlias 設定しておく
  2. Certbot - Ubuntubionic Apache

リダイレクト

とりあえず使わないドメインサブドメインをこのブログの about につないでおく。

mod_alias - Apache HTTP サーバ バージョン 2.4

jpsonic に対するリバースプロキシ

  1. sudo a2enmod proxy proxy_http headers
  2. Setting up Apache - Airsonic

mod_remoteip

Cloudflare かましてるので。

Restoring original visitor IPs - Option 2: Installing mod_remoteip with Apache – Cloudflare Support

cloudflare-ufw

GitHub - Paul-Reed/cloudflare-ufw: Script to update UFW with Cloudflare IPs

とりあえず

こんなもんかな? Apache 久しぶりに使ったけど、使いにくい……