Conoha でサーバ借りて、実験したりしてるけど、もうちょい安全に心掛けたほうがいいのかなと思ったり思わなかったり。
ということで、これまで動かしていたリバースプロキシを捨てて、 ModSecurity: Open Source Web Application Firewall を入れた構成で再構築してみようかと。
以下、将来の自分へのメモ。
下準備
- SSH だけあけた VPS を追加
- より強い SSH 公開鍵を送信
- SSH で接続
- SSH 公開鍵交換
- 切断
- 管理画面からサーバをプライベートネットワークに接続
- 起動
- SSH で接続
プライベートネットワークの設定を実施
- SSH 切断
SSH 接続を踏み台経由に変更
- 接続可能であることを確認後、外部ポートを閉じる
- sudo 可能アカウント作成
- SSH 公開鍵を作成したアカウントにコピー
- SSH 切断、sudo 可能アカウントで再接続
日本の apt リポジトリを参照するよう変更
sudo apt update
&sudo apt upgrade
- SSH 切断、サーバ再起動、再接続
Apache ModSecurity
sudo apt install apache2 libapache2-mod-security2 modsecurity-crs
sudo cp modsecurity.conf-recommended modsecurity.conf
Apache HTTP Server向けのWebアプリケーションファイアウォール(WAF)「ModSecurity」を使ってみよう | さくらのナレッジ
ちょこちょこ古い。
- 接続許可ポートを一時的に開けて、疎通確認
- 接続許可ポートを再度閉じる
certbot
- デフォルトの VirtualHost に
ServerName
ServerAlias
設定しておく - Certbot - Ubuntubionic Apache
リダイレクト
とりあえず使わないドメイン・サブドメインをこのブログの about
につないでおく。
mod_alias - Apache HTTP サーバ バージョン 2.4
jpsonic に対するリバースプロキシ
sudo a2enmod proxy proxy_http headers
- 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 久しぶりに使ったけど、使いにくい……