サーバの移行CentOSのサポートが終了するからいつか対応しないとと思いつつほっておいたサーバ移行。denasu.comへの攻撃も増えてきたのとメモリ不足への対応も考えて新サーバ構築中。OSはいつもつかっているUbuntuに変更。それでも月2500円。TypingTubeの作者の方は月10万円ってTweetしてたのでまだまし、なのか?セキュリティは全てのサービスをDocker、Docker-Composeで構築する。Ubuntu本体は公開鍵認証のSSHとポートフォワーディング専用FTPだけ動かして、Web、メール、ロビーなど、もろもろ独立したコンテナにすることで、サービスを乗っ取られても他のサービスには影響しないようにする。唯一SSHに脆弱性がなければ相当強固なはず。VPSに展開する前にWindows上のWSL2でステージング環境を構築。コンテナなのでこのまま持って行けばVPSでも動作するはず。Web、WordPress、ランキング、ワードサーバ、DB、GITもいろいろはまったけどコンテナ化完了。PHPはCentOSのパッケージマネージャ制約で最新版が使えなかったりしたのが、コンテナをビルドするだけで最新版になるのでだいぶよくなる。ロビーとウェザタイサーバは特に問題はなさそうなので最後の難関がメール。セキュリティ設定がたくさんありすぎて複雑。結局、SMTPはポート25+587でSASL認証+STARTTLS、自ドメイン宛のメールは認証なしでも受け取れて、他ドメイン宛のメールは認証なしならリレーエラー、認証ありなら他ドメインの25ポートに送る、POPはポート995でパスワード認証+TLSとした。TLSの証明書はさくらのドメイン認証証明書でいけると思うけどまだそっちでは試していない。SPFは既に旧サーバでも設定していたが追加でDKIMとDMARCの設定をする。このあたりを試すにはDNSの逆引きやTXTレコードが必要なのでローカルDNSサーバも構築。Blockingってあくまでアウトバウンド禁止であって、denasu.comは別に回線を提供するプロバイダじゃないから関係ないのか。hostエラーでつながらない。587ポートをオープンする必要があるってだけか。クライアントから25ポートにアクセスする人は悪意があるとみなされるが、587ポートへのアクセスはフリーで、587ポートが安全かどうかはそのサーバに依存するわけで、この構成だと587ポートは認証必須、リレー禁止になっているからOK、と。感じで合ってるのかな。