Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WordPressをVPS/クラウドで利用する際の注意点

52 views

Published on

WordPressをVPSやクラウドで利用する際に、注意しなければならないこと、最低限やらなければならない設定などを紹介します。

Published in: Internet
  • Be the first to comment

  • Be the first to like this

WordPressをVPS/クラウドで利用する際の注意点

  1. 1. WordPressをVPS/クラウドで 利用する際の注意点 〜 静岡 WordPress Meetup in 浜松 〜
  2. 2. 自己紹介 遠藤進悟 ➜ 株式会社蔵守所属 ➜ 静岡県富士宮市在住 ➜ たぬき ➜ WordCampTokyo2013〜2018スタッフ ➜ KUSANAGI静岡ユーザーグループ ➜ Shizuoka WordPress Meetup 共同オーガナイザー
  3. 3. 普段している仕事内容 ● Webサイト設計・構築 ● WordPress保守・管理 ● データの移行・引っ越し ● 常時SSL化 ● PHP5からPHP7に変更する際の不具合修正対応 ● その他、不具合修正 ● VPS/クラウドの設計・構築 ● VPS/クラウドの保守・管理 ● 高速化 など・・・
  4. 4. セッションの注意事項 ● わからないことがあったら、その場で止めて聞いていただいて構いません ● 休憩時間や懇親会などで、聞いたいただいてもOKです ● 後日改めてなど時間を使う場合はお仕事としてお受けすることになります ● 飲み物を飲んだり席を立ったりも自由です ● スライドはあとで見てもある程度わかるように、文字多いです ● 興味なければ寝ててもいいですが、へこみます ● 具体的な事例に関してはここではいいにくいので懇親会で話せるかも?
  5. 5. もくじ 1. VPS/クラウドとは 2. VPS/クラウドを利用する際に最低限やらなければならないこと 3. WordPressをインストールする際の注意事項 4. 保守・管理をしやすくするには 5. まとめ
  6. 6. VPS/クラウドとは
  7. 7. VPS(Virtual Private Server) ● 決まったリソース・処理能力(CPU・メモリ)のサーバを利用できる ● 物理的なサーバを仮想的に分けて利用する ● 処理能力に関してはほぼ専有 ● 帯域は共有だがオプションで広げられる場合もある ● サーバそのものを借りるので、構築や保守も自分で行う必要がある ● 環境は自由に変更できる(バージョン・プログラムなど) 物理的なサーバ A Web DataBase Mail B Web DataBase C MailFile
  8. 8. 物理的なサーバ A B C 物理的なサーバ A B C クラウド ● リソースや処理能力(CPU・メモリ)を自由に変更できる ● 複数のサーバを仮想的に区切って利用 ● 処理能力はほぼ専有 ● 帯域は共有だがオプションで広げられる場合もある ● サーバそのものを借りるので、構築や保守も自分で行う必要がある ● 環境は自由に変更できる(バージョン・プログラムなど)
  9. 9. つまり… ● VPSもクラウドも仮想的に専有できるサーバの一種 ● 共用のレンタルサーバに比べて、処理能力が高い ● 様々なソフトウェア・ミドルウェアを利用することができる ● 利用者が構築・保守をやる必要がある → しっかりやらないと乗っ取られたり、中継に使われたり … → 特にメールはよく狙われる … → Google先生に聞けばいろんな事例が見られるよ …
  10. 10. VPS/クラウドを利用する際に最低限やっ ておいたほうがいいこと
  11. 11. 方針 ● WordPressが動かせることを目標にする ● とりあえず、セキュリティは不特定多数を狙う攻撃を防げればよし ● 最低限の対応のみ ● 今回紹介するもので全て解決というわけではない ● 具体的な設定方法は環境によっても異なるので、各自でお勉強を ● 手に負えないと感じたらプロに任せましょう
  12. 12. 項目 1. SSHの設定 2. ファイアウォールの設定 3. Webサーバの準備 4. データベースサーバの準備
  13. 13. 1. SSH(Secure Shell)の設定
  14. 14. ① root でログインできないようにする ● サービスによっては初期段階で root ログインが可能な場合がある ● ログイン試行型の攻撃で一番狙われるユーザ ● SSHの設定ファイルで以下のようにする PermitRootLogin no ※ root とは サーバの権限における最高権限を持ったユーザ このユーザはなんでもできちゃう
  15. 15. ② ログイン用のユーザを作る ● 作業用のユーザを作成 ● sudo ができるようにするか、root に昇格可能なユーザにする ※ sudo とは 本来、root権限がないと実行できないコマンドを特定のユーザでも実行できるようにする ためのもの だれでもというのは危険
  16. 16. ③ ログイン用ユーザの認証方法を変える ● パスワード認証だけだと心もとないので、強固なものに変更する ● 公開鍵認証 + IPアドレス制限 がおすすめ ● パスワード認証を無効にするのを忘れずに ● 色んな事情が出てくるともうので、ここは臨機応変に ※ 公開鍵認証とは サーバ側とユーザ側(自分のPC側)に一対の鍵(公開鍵と秘密鍵)を設定しログイン認証 を行う 鍵にもパスワードが設定できる
  17. 17. ④ SSHのポート番号を変更する ● 通常は22番だが、このポートめがけて攻撃が飛んできるため変更する ● 0〜1023の範囲のポート番号は役割が決まっているため、1024〜61000 の間の何か しらの数字が使える ● 場合によっては別のものとかぶるので、49152〜61000の間にするとよい ● 一般的には 10022 と変更しているところが多い ※ポート番号とは ネットワーク上で通信の種類を識別させるための番号 0〜1023はウェルノウンポート番号と言われ、役割が決まっている
  18. 18. 2. ファイアウォールの設定
  19. 19. ① ファイアウォールとは ● よくわからない通信やいらない通信を遮断するための壁のようなもの ● 除外や許可などのルールを設定できる ● 通信の中身は見ないので、これだけで不正なのもかどうかはわからない ● 一般的には許可したいポート番号とIPアドレスを設定する ● サービスによってはコントロールパネルから設定できるので、サーバ側で操作する必 要がない場合もある
  20. 20. ② ファイアウォールの設定をする ● Webサーバで利用するポートを開放する → 80(HTTP) → 443(HTTPS) ● SSHの設定で指定したポートを開放する ● 必要に応じてIPのアドレスとサブネットマスクの指定をする → すべて許可: 0.0.0.0/0 → 特定のネットワークのみ: (例)192.168.1.0/24 → 特定のIPアドレスのみ: (例) 192.168.100.10/32
  21. 21. 3. Webサーバの準備
  22. 22. Webサーバミドルウェアのインストール ● Apache httpd なら大体のOSでパッケージ管理システムからインストール可能 ● Nginx という新しいミドルウェアもあるけど、設定が難しいので注意 ● PHP7.2 以上をインストール ○ WordPressの推奨は PHP7.3 以上 ( https://wordpress.org/download/ ) ○ パッケージ管理システムでインストールも可能 ○ CentOS7の場合、デフォルトだと PHP5.4なので、リポジトリを追加する
  23. 23. 4. DBサーバの準備
  24. 24. MySQL(MariaDB)と管理ツールのインストール ● WordPressの推奨は MySQL 5.6 (MariaDB 10.0)以上 ● パッケージ管理システムでインストールも可能 ● CentOS7の場合、デフォルトだと MariaDB 5.5 なので、注意 ● phpMyAdminはインストールが意外と大変な上にアプデも必須 ● Adminerを利用し、必要なくなったら削除しておくほうがいいかも ※リポジトリとは いろいろな意味で使われますが、ここではコマンドで簡単に入れられるパッケージを拡張 するもの。CentOSだと epel, remi など
  25. 25. WordPressをインストールする際の 注意事項
  26. 26. ① WordPressの本体は公式サイトからDL 1. WordPressの最新版は公式サイトからダウンロードしよう 2. 公式サイト( https://ja.wordpress.org/download/ ) 3. 公式以外のはなんか怪しいスクリプトとか混じってたりするかも 4. テーマとかプラグインもできるだけ公式のものを利用しよう
  27. 27. ② ファイルの権限(パーミッション) ● ファイル権限が甘いとファイル改ざんをされてしまうことがある ● パーミッションの例 ○ .htaccess : 604, 606 WordPressからは変更可能 ○ wp-config.php : 400, 440, 600 書き込み禁止状態 ○ ディレクトリ : 705 テーマやプラグインのインストールが可能 ○ ファイル : 604 WordPressからは変更可能
  28. 28. ※ 権限(パーミッション)の数字の意味 7 7 7 user group other 所有者 (user)、グループ (group)、他のユ―ザ (other) がもつ権限を数字で表している Read   4 : 読み込みを許可 Write  2 : 書き込みを許可 eXecute 1 : 実行を許可 これの足し合わせた数字
  29. 29. ③ データベース管理ツール ● WordPress用のデータベース作成の際に利用する ● パスワードやユーザ名は複雑なものにする ● 公開する必要はないので特定のユーザのみアクセスできるようにする ● 頻繁に使うものではないので、使ったら削除しておく ● Adminerがおすすめ → http://www.adminer.org/
  30. 30. ④ インストール放置はしない ● wp-admin/install.php が表示される状態(インストールが完了していない状態)で放 置しないこと ● どこかの誰かに勝手にインストールされて悪用される可能性あり ● これを利用した改ざん事件がいっぱいあるよ
  31. 31. ⑤ パスワードは複雑なものに ● 単語にしない ● 最低限、小文字大文字数字を混ぜたものにする ● 16文字くらいに(もっと長くてもいい) ● 困ったらWordPressインストール時に表示されるのをそのまま使うといい ● パスワードさえしっかりしておけばユーザ名はわりと大丈夫 ● ユーザ名が気になる場合は@をいれておくといいよ
  32. 32. 保守・管理をしやすくするには
  33. 33. ① できるだけシンプルにする ● いろいろやりすぎると、トラブルが起こったときに原因を見つけるのが大変 ● パッケージ管理システムを利用し、コマンドでアップデートできるように ● まずはWordPressが動くことを目標に ● すべての操作はメモしておく ● 動作確認できたら1回クリーンインストールして最初からやるといい
  34. 34. ② WordPressのテーマやプラグインは… ● 管理画面でインストールできるものを使う ● できれば1年以内に更新があったものを選ぶ ● プラグインは入れすぎない ● 自動更新は有効のままに ● テーマは信頼できる配布元か公式ディレクトリのものを利用する
  35. 35. まとめ
  36. 36. 大事なこと ● VPSやクラウドは常に狙われている ● WordPressも常に狙われている ● 勉強するのも大事だが、できればローカル環境で ● 気づかなかったでは済まされない ● VPS/クラウドは利用できるようになると幅が広がる
  37. 37. ご清聴ありがとうございました

×