公開サーバーは放置した瞬間に攻撃対象になる.難しい話は要らない.本記事は「これだけは外すな」という最低ラインを,優先度順の10項目にした.
対象はVPSを公開した/これから公開する個人開発者.上から順に潰していけば,致命的な事故の大半は防げます.
なぜ「最低ライン」を明文化するのか
セキュリティはキリが無いように見えて止まる.だが個人開発で本当に必要なのは,費用対効果の高い基本の徹底だ.
実際の被害の多くは高度な攻撃ではなく基本の欠落から起きる.この10項目を埋めるだけで,被害確率は劇的に下がる.
1〜3:認証を固める
最優先は認証だ.(1)SSH鍵認証のみにする (2)rootの直接ログイン禁止 (3)パスワード認証の無効化.総当たり攻撃はこれでほぼ無力化できる.
- (1) SSHは鍵認証のみ.パスワードログインは塞ぐ
- (2) PermitRootLogin no でroot直ログイン禁止
- (3) 作業はsudo付き一般ユーザーで行う
4〜5:通信経路を絞る
(4)ファイアウォールで必要ポートのみ開放 (5)不要なサービスは停止.攻撃面は「開いている穴の数」に比例する.
開いているポートの確認
sudo ss -tlnp # 待ち受け中のポート一覧
sudo ufw status # ファイアウォールの状態6〜7:更新と監視を自動化する
(6)セキュリティ自動更新 (7)fail2banで不正アクセスを自動遮断.人間の注意力に頼らず,仕組みで守る.
fail2ban 導入
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd8〜9:秘密情報とログを扱う
(8)鍵・パスワードをGitに入れない (9)ログを残し定期的に眺める.漏洩の多くは設定ミスとコミット事故から起きる.
.envは必ず.gitignoreへ.万一コミットしたら履歴ごと削除し,鍵を即ローテーションする.
10:バックアップ ― 最後の生命線
(10)定期バックアップこそ最後の砦だ.侵害・誤操作・障害のどれが起きても,戻せる状態があれば「事故」は「中断」で済む.
VPSのスナップショットに加え,DBダンプを別の場所に保存する二段構えが理想だ.
補論:守りやすさは,VPSの基盤機能でかなり変わる
セキュリティ運用のしやすさは,スナップショット・コンソールアクセス・OSの新しさといった基盤機能に左右される.これらが弱いと,いざという時の復旧が遅れる.
高速NVMe・50種類以上のOSテンプレートに対応した国内VPS─シン・VPS─ はスナップショットで「安全だった時点」に丸ごと巻き戻せるため,設定変更や復旧を恐れずに進められる.新しめのOSテンプレートが揃うのもセキュリティ更新の面で有利だ.
公開ドメインは 取り扱い400種類以上のドメイン取得サービス─ムームードメイン─ で取得し,WHOIS代理公開を使えば個人情報の露出も抑えられる.守りは「サーバー」と「ドメイン」の両面で固めるのが基本だ.
よくある質問
Q1:個人開発でもここまで必要?
公開している以上,規模は無関係に攻撃は来る.むしろ手薄な個人サーバーは踏み台として狙われやすい.10項目は最低ラインだ.
Q2:WAFやセキュリティ製品は要る?
10項目を満たした次の一手として有効だ.基本を飛ばして製品に頼ると,設定ミスの穴は塞がらない.順序が大事だ.
Q3:侵害された疑いがあるときは?
まずネットワークから切り離し,スナップショットの状態と比較する.確証が持てないなら,クリーンな状態から再構築するのが最も確実だ.
まとめ ― セキュリティは「基本の徹底」で9割が決まる
派手な対策より,認証・通信経路・自動更新・バックアップという基本の徹底が効く.この10項目は,公開サーバーの最低限の良心だ.
全部を一度にやらなくていい.今日,上から1つずつ潰していこう.埋まった項目の数だけ,あなたのサーバーは静かで安全になる.