AWS LightsailのWordPressセキュリティ対策!絶対にやるべき設定!

AWS
スポンサーリンク

本記事は「AWS LightsailのWordPressセキュリティ対策!絶対にやるべき設定!」について解説させて頂きます。

「AWS LightsailでWordPressを立ち上げたけど、セキュリティ設定ってこれで大丈夫なのかな?」
「デフォルトのままだと乗っ取られたりしないか不安…」。

AWS Lightsailは手軽にWordPress環境を構築できる素晴らしいサービスですが、立ち上げた直後の状態ではセキュリティ面でいくつかの「穴」が残っています。

特にBitnami版のWordPressブループリントを使っている場合、世界中の攻撃者から狙われやすい初期設定のままになっていることも少なくありません。

この記事では、実際にLightsailでWordPressを運用している視点から、「これだけは絶対にやっておくべき」という必須のセキュリティ対策から、安全性を高めるための追加設定までをわかりやすく解説します。

私もまだまだ勉強途中ですが、難しい専門用語は極力省いていますので、ぜひご自身の環境と照らし合わせながら進めてみてください。

この記事のまとめ
優先度対策項目概要
最優先ログインURLの変更攻撃者にログインページを見つけさせない
最優先WordPress・プラグイン・テーマの定期アップ デート既知の脆弱性を放置しな い
最優先SSL化(HTTPS化)通信を暗号化して盗聴を 防ぐ
最優先バックアップ (Lightsail スナップショット)万が一の復旧手段を確保する
推獎管理者ユーザー名の変更「admin」の決め打ち攻撃を防ぐ
推獎ログイン試行回数の制限ブルートフォース攻撃を無力化する
推獎xmlrpc.phpの無効化古い通信規格の悪用を防 ぐ
推奨不要なプラグイン・テーマの削除攻撃対象の面積を減らす
推獎ファイルパーミッションの確認重要ファイルの書き換え を防ぐ
推奨WAF・セキュリティプラグイン・ファイアウォー ル等インフラレベルの防御を強化する
こすけさん
こすけさん

セキュリティ対策は大事ですよ!

まどかさん
まどかさん

教えてください!

※本記事で推奨する設定を行う際は完全自己責任で行うようにしてください。ファイルを下手にいじると修正出来なくなる場合があります。何かあっても保証は出来ません。

  1. なぜLightsailのWordPressでセキュリティ対策が必要なのか?
  2. LightsailのWordPressでセキュリティ対策|ログインURLの変更
    1. 対策方法
  3. AWS LightsailのWordPressでセキュリティ対策WordPress・プラグイン・テーマの定期アップデート
    1. 対策方法
  4. AWS LightsailのWordPressでセキュリティ対策SSL化(HTTPS化)による通信の暗号化
    1. bncert-toolを使ったSSL化の手順
  5. AWS LightsailのWordPressでセキュリティ対策バックアップ(Lightsailスナップショットの活用)
    1. 対策方法
  6. AWS LightsailのWordPressでセキュリティ対策管理者ユーザー名を「admin」から変更する
    1. 対策
  7. AWS LightsailのWordPressでセキュリティ対策ログイン試行回数の制限(ブルートフォース攻撃対策)
  8. AWS LightsailのWordPressでセキュリティ対策xmlrpc.phpの無効化
  9. AWS LightsailのWordPressでセキュリティ対策不要なプラグイン・テーマの削除
  10. AWS LightsailのWordPressでセキュリティ対策ファイルパーミッションの確認
  11. AWS LightsailのWordPressでセキュリティ対策WAF(Cloudflareなど)の導入
  12. AWS LightsailのWordPressでセキュリティ対策総合セキュリティプラグインの導入
  13. AWS LightsailのWordPressでセキュリティ対策SSH接続でのマルウェアチェック(WP-CLIの活用)
  14. AWS LightsailのWordPressでセキュリティ対策Lightsailファイアウォールの最適化
  15. 【まとめ】AWS LightsailのWordPressセキュリティ対策!絶対にやるべき設定!

なぜLightsailのWordPressでセキュリティ対策が必要なのか?

AWS Lightsailは、仮想サーバー(VPS)を手軽に利用できるサービスです。

WordPressのブループリントを使えば、数クリックでサイトを公開できます。

しかし、この手軽さの裏には、サーバーの管理責任はすべて自分にあるという事実が隠れています。

一般的なレンタルサーバー(エックスサーバーやConoHa WINGなど)であれば、サーバー会社側がWAFや自動バックアップなどを施してくれますが、Lightsailの場合は基本的に「自己責任」です。

WordPressは世界で最も使われているCMSであるため、常に攻撃者やボットの標的にされています。

初期設定のまま放置していると、サイトの改ざん、情報の漏洩、サーバーの踏み台化といった深刻な被害に遭うリスクがあります。

「小規模サイトだから狙われない」は通用しません。

ボットは規模に関係なく、脆弱なサイトを自動でスキャンして片っ端から攻撃を仕掛けてきます。

こすけさん
こすけさん

攻撃しないでほしい!

LightsailのWordPressでセキュリティ対策|ログインURLの変更

WordPressのデフォルトのログインURLは、世界中の誰もが知っています。

通常は あなたのドメイン/wp-login.php または あなたのドメイン/wp-admin です。

攻撃者はこのURLを狙って、パスワードを総当たりで試す「ブルートフォース攻撃」を仕掛けてきます。

実際にLightsailのサーバーログを見ると、公開から数時間も経たないうちに海外IPから大量のログイン試行が記録されていることも珍しくありません。

まずはこの場所を隠すことが最も手軽かつ効果的な防御策です。

ログインURLを変更するだけで、ボットによる自動攻撃のほとんどを空振りさせることができます。

これは「セキュリティ・スルー・オブスキュリティ(隠蔽によるセキュリティ)」と呼ばれる手法で、単体では完璧ではないものの、他の対策と組み合わせることで非常に高い効果を発揮します。

対策方法

ログインURLを変更するには、プラグインを使うのが最も簡単で安全です。

プラグイン名特徵設定の手軽さ
WPS Hide LoginログインURL変更に特化した超軽量プラグインとても簡単
All In One WP Security総合セキュリティプラグインの一機能として搭載やや多機能

WPS Hide Loginの設定手順

  1. WordPress管理画面で「プラグイン」→「新規追加」を選択する。
  2. 「WPS Hide Login」を検索してインストール・有効化する。
  3. 「設定」→「WPS Hide Login」を開く。
  4. 「Login url」の欄に、自分だけが知っている任意の文字列(例:`my-secret-login`)を入力する。
  5. 「Redirection url」はデフォルトの404のままでOK。
  6. 「変更を保存」をクリックする。

これだけで、/wp-login.php や /wp-admin にアクセスしても404エラーが返されるようになり、攻撃者はログインページにたどり着けなくなります。

しかし、変更したURLを忘れると自分もログインできなくなります。

必ずブックマークするか、パスワードマネージャーにメモしておきましょう。

万が一忘れた場合は、SSHでサーバーに接続してプラグインのディレクトリをリネームすれば元に戻せます。

まどかさん
まどかさん

要注意ですね!

AWS LightsailのWordPressでセキュリティ対策WordPress・プラグイン・テーマの定期アップデート

「アップデートしたらサイトが崩れるかも…」と放置している方が意外と多いのですが、これは非常に危険です。

アップデートには新機能だけでなく脆弱性の修正が含まれています。

古いバージョンを使い続けることは、泥棒に「ここから侵入できますよ」と教えているようなものです。

WordPressサイトへの攻撃の多くは「既知の脆弱性」を突いたものであり、アップデートさえしていれば防げたケースがほとんどです。

特にプラグインの脆弱性は深刻で、人気プラグインに重大な脆弱性が発見されると、修正パッチが公開される前に攻撃が始まることすらあります。

だからこそ、アップデート通知が来たらできるだけ早く対応することが重要です。

対策方法

WordPress本体のマイナーアップデート(例:6.4.1→6.4.2)は、デフォルトで自動更新されます。

セキュリティパッチが中心なので、絶対にオフにしないでください。

管理画面の「プラグイン」や「テーマ」から、定期的に手動でアップデートするか、信頼できるものは「自動更新を有効化」しておきましょう。

プラグイン一覧画面で各プラグインの「自動更新を有効化」リンクをクリックするだけで設定できます。

メジャーアップデート時の注意です。

WordPress本体のメジャーアップデート(例:6.9→7.0)では、テーマやプラグインとの互換性問題が起きることがあります。

様子を見てから7.0.1などにアップデートするのも良いでしょう。

もしくは後述する「スナップショット」でバックアップを取ってから行うと安心です。

アップデート後は、サイトの表示や主要機能(お問い合わせフォームや決済機能など)が正常に動作しているか確認する習慣をつけましょう。

こすけさん
こすけさん

必ずしましょう!

AWS LightsailのWordPressでセキュリティ対策SSL化(HTTPS化)による通信の暗号化

サイトのURLが http:// のままだと、ブラウザに「保護されていない通信」と警告が表示されます。

ユーザーとサーバー間の通信が暗号化されておらず、パスワードや個人情報が盗み見られる危険性があるということです。

SEOの観点でもGoogleはHTTPS化されたサイトを優遇しますし、非HTTPSサイトは訪問者に不信感を与えて離脱率が上がる原因にもなります。

SSL化は必須中の必須です。

LightsailのBitnami WordPressブループリントには、SSL証明書(Let’s Encrypt)を簡単に導入できる bncert-tool が用意されています。

bncert-toolを使ったSSL化の手順

  1. LightsailのコンソールからSSHでインスタンスに接続する。
  2. 以下のコマンドを実行する。
    sudo /opt/bitnami/bncert-tool
  3. ドメイン名(例:example.com www.example.com)を入力する。
  4. HTTPからHTTPSへの自動リダイレクトを有効にするか聞かれるので「Y」を選択する。
  5. メールアドレスを入力して証明書の発行を完了する。

このツールは証明書の自動更新設定(cronジョブ)も同時に行ってくれるため、一度設定すれば放置でOKです。

Let’s Encryptの証明書は90日ごとに更新が必要ですが、自動更新が有効なら手動作業は不要です。

実行前に、ドメインのDNS設定でAレコードがLightsailインスタンスの静的IPアドレスを指していることを確認してください。

DNS反映が完了していないと証明書の発行に失敗します。また、Lightsailのインスタンスに静的IPを割り当てていない場合は、先に静的IPのアタッチを行いましょう。

まどかさん
まどかさん

SEOにも影響出るんですね。

AWS LightsailのWordPressでセキュリティ対策バックアップ(Lightsailスナップショットの活用)

どれだけセキュリティ対策を徹底しても、100%安全とは言い切れません。

サイトが改ざんされたり、アップデート失敗で画面が真っ白になったりした時に、確実に元の状態に戻せる「命綱」がバックアップです。

Lightsailを使っているなら、「スナップショット」機能を活用するのが最強の選択肢です。

スナップショットはサーバーのOS、ファイル、データベースなど丸ごとすべての状態を保存します。

プラグインのバックアップでは復旧が難しいシステムエラーでも、スナップショットがあれば数クリックで過去の状態を復元できます。

バックアップ方法復旧範囲操作の手軽さコスト
Lightsail スナップショッ トサーバー丸ごと(OS・フ アイル・DB)管理画面から数クリック月額数十円~数百円
WordPress プラグイン (UpdraftPlus等)WordPress内のデータプラグイン画面から操作 無料~有料

理想は、スナップショットをメインに使いつつ、UpdraftPlusなどで外部ストレージ(Google DriveやS3)にもバックアップを取る「二重体制」です。

スポンサーリンク

スナップショットはあくまでLightsail内に保存されるため、AWSアカウント自体に問題が起きた場合に備えて外部にもデータを持っておくと万全です。

対策方法

  1. Lightsailコンソールで対象のインスタンスを選択する。
  2. 「スナップショット」タブを開く。
  3. 「自動スナップショット」のトグルスイッチをオンにする。
  4. 取得時間帯(アクセスが少ない深夜がおすすめ)を指定する。

自動スナップショットは直近7日分が保持され、古いものから順に自動削除されます。

大きな変更(メジャーアップデートやテーマ変更など)の前には、手動スナップショットを別途作成しておくのがおすすめです。

手動スナップショットは自分で削除しない限り保持されるため、重要なタイミングの状態を長期保存できます。

必須対策を終えたら、次は「防御力の底上げ」です。

一つひとつの効果は地味でも、組み合わせることでサイトの安全性が格段に向上します。

こすけさん
こすけさん

バックアップは必ず取りましょう!

AWS LightsailのWordPressでセキュリティ対策管理者ユーザー名を「admin」から変更する

デフォルトのユーザー名が「admin」のままだと、攻撃者はユーザー名を推測する手間が省けてしまいます。

ブルートフォース攻撃ではユーザー名とパスワードの組み合わせを試すため、ユーザー名が分かっている時点で攻撃の難易度が半分になるようなものです。

対策

WordPressでは既存のユーザー名を直接変更できないため、新しい管理者ユーザー(推測されにくい名前)を作成し、新ユーザーでログインし直してから古い「admin」を削除しましょう。

削除時に過去の投稿を新ユーザーに引き継ぐ設定を忘れずに。

AWS LightsailのWordPressでセキュリティ対策ログイン試行回数の制限(ブルートフォース攻撃対策)

ログインURLを変更しても、何らかの理由でバレた場合に備えて、試行回数にも制限をかけておきましょう。

「Limit Login Attempts Reloaded」などのプラグインを導入し、「3回失敗したらそのIPを24時間ブロック」といったルールを設定します。

機械的な総当たり攻撃を無力化できます。

まどかさん
まどかさん

試行制限も大事なんですね!

AWS LightsailのWordPressでセキュリティ対策xmlrpc.phpの無効化

xmlrpc.php は、スマホアプリ連携などに使われる古い通信規格ですが、DDoS攻撃やブルートフォース攻撃に悪用されるケースが多発しています。

REST APIが主流の今、有効にしておく理由はほとんどありません。

「Disable XML-RPC」プラグインをインストールして有効化するだけでOKです。

プラグインを使わない場合は .htaccess に以下を追記する方法もあります。

<Files xmlrpc.php>
 Order Deny,Allow
 Deny from all

<Files>

AWS LightsailのWordPressでセキュリティ対策不要なプラグイン・テーマの削除

「無効化しているから大丈夫」は間違いです。

サーバー上にファイルが存在する限り、脆弱性を突かれるリスクがあります。

使っていないプラグイン・テーマは思い切って「削除」しましょう。

テーマは、現在有効なものとデフォルトテーマの2つだけ残しておけば十分です。

こすけさん
こすけさん

不要なものはすぐ消す癖付けをしておきましょう!

AWS LightsailのWordPressでセキュリティ対策ファイルパーミッションの確認

ファイルパーミッション(読み書き権限)が緩すぎると、重要ファイルを書き換えられるリスクがあります。

対象推奨パーミッション備考
ディレクトリ‘755’所有者のみ書き込み可能
通常のファイル‘644所有者のみ書き込み可能
wp-config.php400 または’440DB接続情報を含む最重要ファイル

Bitnami環境ではある程度適切に設定されていますが、プラグインのインストール等で権限が変わることがあるため、定期的にSSHで確認しましょう。

WordPress管理画面だけでは手が届かない部分をカバーし、防御の層をさらに厚くしましょう。

AWS LightsailのWordPressでセキュリティ対策WAF(Cloudflareなど)の導入

WAF(Web Application Firewall)は、SQLインジェクションやクロスサイトスクリプティングなどの攻撃をサーバーに到達する前にブロックしてくれる盾です。

Lightsail単体では高度なWAF機能がないため、Cloudflare(無料プランあり)の導入がおすすめ

ドメインのネームサーバーをCloudflareに変更するだけで、DDoS保護やCDNによる表示速度向上も同時に得られます。

無料プランでも基本的なWAF機能は使えるので、コストをかけずにセキュリティを強化したい方にはうってつけです。

AWS LightsailのWordPressでセキュリティ対策総合セキュリティプラグインの導入

個別対策が面倒なら、総合セキュリティプラグインにまとめるのも手です。

プラグイン名主な特徴おすすめな人
Wordfence Security強力なマルウェアスキャンとWAF機能強固な防御を求める人
All In One WP Security視覚的な設定画面で扱い やすい複数対策を一つで済ませ たい人

ただし、セキュリティプラグインはサーバーリソースを消費します。

Lightsailの低スペックプラン(3.5ドルや5ドル)では表示速度に影響が出ることがあるため、導入後はパフォーマンスもチェックしましょう。

まどかさん
まどかさん

気をつけることがたくさんありますね。

AWS LightsailのWordPressでセキュリティ対策SSH接続でのマルウェアチェック(WP-CLIの活用)

「サイトの動作がおかしい」「改ざんされたかも?」という時、SSHからコマンドでWordPressコアファイルの改ざんチェックができます。

プラグインに頼らずサーバー側から直接確認できるのがLightsailの強みです

SSHで接続し、WordPressのインストールディレクトリ(通常は /opt/bitnami/wordpress)で以下を実行します。

wp core verify-checksums

サーバー上のファイルと公式の正規ファイルを比較し、不正な書き換えがないか判定してくれます。

問題がなければ「Success: WordPress installation verifies against checksums.」と表示されます。

不審なPHPファイルがアップロードフォルダに紛れていないかも確認しましょう。

find /opt/bitnami/wordpress/wp-content/uploads-name “* php”

通常、uploadsフォルダにPHPファイルは存在しないので、何かヒットしたらマルウェアの可能性を疑ってください。

AWS LightsailのWordPressでセキュリティ対策Lightsailファイアウォールの最適化

Lightsailの管理画面には、ポート単位で通信を制御できるファイアウォール機能があります。

デフォルトではHTTP(80番)、HTTPS(443番)、SSH(22番)が開いています。

SSH(22番ポート)が世界中からアクセス可能な状態はリスクがあるため、「ネットワーキング」タブの「IPv4 ファイアウォール」から、SSHの接続元を自分のIPアドレスのみに制限しましょう

自宅IPが動的に変わる場合は、VPN経由で固定IPから接続するか、必要な時だけSSHポートを開放して作業後に閉じる運用も有効です。

こすけさん
こすけさん

必要に応じてやりましょう!

【まとめ】AWS LightsailのWordPressセキュリティ対策!絶対にやるべき設定!

ここまでいかがでしたでしょうか?

本記事は「AWS LightsailのWordPressセキュリティ対策!絶対にやるべき設定!」について解説させて頂きました。

AWS LightsailでWordPressを安全に運用するためのセキュリティ対策を解説してきました。最後にもう一度、必須対策を振り返りましょう。

優先度対策項目ひとことまとめ
最優先ログインURLの変更WPS Hide Loginなどで玄関を隠す
最優先定期アップデートWordPress本体・プラグイン・テーマを最新に 保つ
最優先SSL化bncert-toolで通信を暗号化する
最優先バックアップLightsailの自動スナップ ショットを有効にする

これらをしっかり設定しておけば、一般的な攻撃の大部分は防げます。

その上で、ユーザー名の変更やxmlrpc.phpの無効化、ファイアウォールの最適化といった追加対策を重ねていけば、かなり堅牢なWordPress環境が出来上がります。

しかし、セキュリティに「100%の安全」や「これで終わり」というゴールはありません。

新しい脆弱性は日々発見されています。

月に1回でも良いので、管理画面にログインしてアップデート状況を確認したり、不要なプラグインが増えていないかチェックしたりする「運用」の意識を持つことが、あなたのサイトを守る一番の鍵です。

Lightsailの快適な環境を活かしつつ、安全で安心なWordPress運用を続けていきましょう!

こすけさん
こすけさん

頑張ってください!

まどかさん
まどかさん

頑張って設定してみます!

※本記事で推奨する設定を行う際は完全自己責任で行うようにしてください。ファイルを下手にいじると修正出来なくなる場合があります。何かあっても保証は出来ません。

スポンサーリンク

コメント