あなたのWordPressサイト、きちんとセキュリティ対策できてますか??
WordPressを運用するにあたって、必ず理解しておかないといけないのが「セキュリティ」です。
知らないままWordPressを使っていると大事故に巻き込まれることもあります。
この記事では、ネット攻撃について基礎的な知識や、WordPressでのセキュリティ対策まで網羅的にご紹介します!
セキュリティについてまだわかってない方も、この記事を読んで安心安全なサイト運営を行いましょう!
WordPressについてあまり知らないという方は、こちらの記事も読んでみてくださいね♩
WordPressのセキュリティって弱いの?
WordPressはユーザ数も多い反面、情報が溢れていることからネット攻撃の対象になりやすいCMSであることは事実です。
- 管理画面のユーザー名やパスワードが漏洩し、第三者にWebサイトが改ざんされた
- SQLインジェクションなどの被害にあった
- フィッシングサイトのURLを含んだスパムコメントが大量に投稿された
こちらの記事のように、WordPressのセキュリティ問題については、たびたび脆弱性について報告されています。
なぜWordPressではセキュリティについての指摘が多いのか、理由について触れていきます。
(理由1)利用者が多い
WordPressは世界のWebサイトの約40%を占めています。世界中のCMS(コンテンツ管理システム)に限って言えば約60%を占めており、WordPressは、圧倒的シェアを誇っています。
(参考サイト)
Usage Statistics and Market Share of Content Management Systems, August 2021
これだけたくさんのWebサイトがあることから、攻撃の的になりやすいという特徴があります。
また、簡単に作成できることから初心者の利用者も多く、セキュリティ対策がきちんとされていないWordPressサイトが存在していることも事実です。
(理由2)オープンソースのシステムである
次にオープンソースのシステムであることが挙げられます。オープンソースとは、プログラム(ソースコード)が一般に公開されていることをいいます。
一般公開されているということはその分抜け穴(脆弱性)も見つかりやすいので、ネット犯罪の的になりやすい傾向があります。
Webサイトのセキュリティ攻撃・被害の種類
- クロスサイトスクリプティング(XSS)
- SQLインジェクション
- ブルートフォース攻撃
代表的なWebサイトの攻撃・被害には上の3つが挙げられます。それぞれどんな攻撃なのかを説明していきましょう。
クロスサイトスクリプティング(XSS)
「クロスサイトスクリプティング(XSS)」とは、主に掲示板やSNSなどユーザーの入力内容を表示するタイプのWebサイトの脆弱性を突く攻撃です。
あらかじめ攻撃用のコードが組み込まれたリンクを設置し、ユーザーがアクセスするとJavascriptの機能を利用して攻撃用コードのプログラムが実行され、ユーザーの情報を不正に抜き出すという仕組みになっています。
SQLインジェクション
「SQLインジェクション」とは、ログイン画面や検索画面でユーザーが送信した情報に不正なコード等を注入し、データベースのデータに対して操作や破壊を行う攻撃です。
ブルートフォース攻撃
「ブルートフォース攻撃」とはIDとパスワードによる認証を行う会員制のWebサイトから、ユーザーのパスワードを抜き出そうとする攻撃です。
パスワードに使われる文字の全組み合わせを総当りで入力する攻撃で、別名「総当り攻撃」とも呼ばれます。似たような攻撃に「辞書攻撃」と呼ばれるものがありますが、こちらはよく使われるパスワードを単語としてまとめたファイルを元に認証を突破しようとする攻撃です。
これにより不正にログインされ、Webサイトの中身を閲覧・改竄されてしまいます。
セキュリティ対策方法いくつか紹介
ここからは具体的に5つのセキュリティ対策方法を紹介します。
- 管理画面のURLを変更
- 管理画面へのユーザー名/パスワードを変更
- バージョンを最新化する
- 未使用のテーマ・プラグインを削除
- 設定ファイル(wp-config.php)へのアクセス対策
- 定期的にバックアップをとる
管理画面のURLを変更
WordPressの初期ログインURLは「https://xxxx.jp/wp-login.php」と共通のものになります。
このログインURLを変更することで、ログインURLが見つかりにくくなり、それだけでネット攻撃から狙われにくくなります。
ログイン画面のURL変更は、「SiteGurad WP Plugin」プラグインを使うことで変更できます。
このプラグインについては後ほど説明します!
管理画面へのユーザー名/パスワードを変更
管理画面へのログイン用ユーザー名の変更とパスワードを複雑なものにすることも有効です。
管理画面のユーザー名はニックネームと同じになっている場合があります。ニックネームとは、記事の執筆者として表示される名前のことです。
ユーザー名はログイン時に使用する大事な情報ですので変更しておきましょう。
ユーザー名の変更方法
①WordPressの管理画面>ユーザー>対象のユーザー名にカーソルを合わせて「編集」をクリックします。
②「ニックネーム(必須)」の項目に、ユーザー名とは別の名前を入力します。すると、「ブログ上の表示名」の項目に、入力したニックネームが追加されるので選択します。
③プロフィールを更新します。投稿一覧画面で投稿者名がニックネームに変更されていればOKです。
パスワードの変更方法
パスワードの変更も同じく「管理画面のユーザー」から変更します。
①WordPressの管理画面>ユーザー>対象のユーザー名にカーソルを合わせて「編集」をクリックします。
②ユーザー画面の下の方に「新しいパスワード」という項目があります。「新しいパスワードを設定」をクリックします。すると強力なパスワードが自動で表示されます。変更を保存して完了です。
※パスワード生成ツールなどで作成して設定してもOKです。
パスワードは忘れないようにメモなどしてください。またパスワードは定期的に更新しましょう。
バージョンを最新化する
WordPressのバージョンやプラグインのバージョンが古い場合、そこからセキュリティの穴をつかれてしまう可能性があります。
WordPressの管理画面に更新可能なものがないかを常チェックしてください。
WordPressの管理画面>ホーム>更新 で更新画面を開きます。この画面に更新可能なものがあったら常に最新のものに更新します。(更新の前にバックアップを取るのを忘れないでください。)
未使用のテーマ・プラグインを削除
WordPress自体でなく、テーマやプラグインのシステムからセキュリティ攻撃をつかれる可能性もあります。
そのため、使用していないテーマやプラグインがあったら削除しておきましょう。
テーマの削除方法
「管理画面>外観>テーマ」を開き、使用していないテーマを選択します。
削除ボタンが右下に出るのでクリックして削除します。
プラグインの削除方法
「管理画面>プラグイン>インストール済みプラグイン」を開きます。
使用していないプラグインの削除をクリックしてプラグインを完全に削除しましょう。
設定ファイル(wp-config.php)へのアクセス対策
「wp-config.php」には、データベースのアカウント情報など重要な情報が記載されています。
このwp-config.phpへのアクセスを制限することもセキュリティ対策になります。2通りの方法がありますので、どちらかをすればOKです!
この作業は中級者向けですので、ファイルを触るのが不安な方は詳しい方に相談してから着手しましょう。
また、間違った作業をするとサイトが開けなく可能性があるので事前にバックアップを取るなど慎重に扱ってください。
FTPソフトで属性値(パーミッション)の変更
パーミッションを400にすることで、WordPressを管理しているユーザーのみが読み取り可能になり、他のユーザーはアクセスができなくなります。
今回はFTPソフト(FIleZilla)を用いてパーミッションの変更方法を説明します。
①WordPressがインストールされているディレクトリを表示します。同じディレクトリに「wp-config.php」があります。
②「wp-config.php」を右クリックすると、メニューが開きます。その中の「パーミッションの変更」をクリックします。
③以下の画面が開くので、属性値に「400」と入力します。
④OKをクリックするとパーミッションが400に変更されます。
htaccessにコード追記
利用しているレンタルサーバーによってはパーミッションが変更できない場合があります。
その場合は、wp-config.phpと同じ場所にある「.htaccess」ファイルに以下の記述を加えることで設定することができます。以下の文はそのままコピーして.htaccess内の一番上に貼り付けてください。変更を「保存して完了です。
<files wp-config.php>
order allow,deny
deny from all
</files>
※「.htaccess」は、大事なファイルなので、ファイルを触るときは必ず事前にローカル環境で試すようにしましょう。
定期バックアップをとる
定期的にバックアップをとることもセキュリティ対策の上に重要です。もしものときに、バックアップを取っていればネット攻撃を受ける前の状態に戻せることがあります。
バックアップのプラグインは「BackWPup」がおすすめです。こちらも後ほど紹介します。
セキュリティ用プラグイン紹介
ログインURLを変更するなど、セキュリティを高める便利な以下の4つのプラグインを紹介します。
- SiteGuard WP Plugin
- Akismet
- Wordfence Security
- BackWPup
すべて無料で使えるプラグインになります。これらは鉄板プラグインなので、未導入の方はすぐに導入しましょう!
SiteGuard WP Plugin
「SiteGuard WP Plugin」は、管理ページとログインページの保護を中心としたプラグインで、具体的には以下の設定をすることができます。
- ログインページのURLの変更
- ログイン時の画像認証を追加
- 更新通知やログインアラートの設定
ログインに関してはこのプラグインを入れるだけでかなり安全になります。画像認証はひらがなを設定することで、海外からの攻撃に有効ですので是非設定しましょう。
プラグインをインストールして有効化すると自動的ににログインURLが変更されるので、新しいログインURLをブックマークするのを忘れないでください。
Akismet
「Akismet」は、スパムと思われるコメントやトラックバックを自動判定して分類してくれるプラグインです。
このプラグインを使うことでスパムコメントを自動で専用のフォルダーに振り分けてくれます。使用するには、APIキーの取得が必要です。APIキーは個人ブログでは無料で取得できます。
Wordfence Security
「Wordfence Security」はセキュリティスキャナーとファイアウォールを搭載した有名なセキュリティ対策プラグインです。有料版と無料版があります。
有料版はファイアウォールとマルウェアのパターンがリアルタイム更新されるのに対し、無料版の場合は30日遅れで更新されます。無料版でもセキュリティ対策にかなり有効です。
BackWPup
「 BackWPup」はセキュリティ対策ではなく、セキュリティ上問題があったときに備えてバックアップをとっておくプラグインになります。
バックアップをとる頻度や日時など細かく設定ができます。作成されたバックアップの保存先は複数準備しておくといいでしょう。
まとめ
WordPressはカスタマイズ性の高さや、情報も多く、とても使用しやすいCMSです。
そのためユーザ数も多く、ネット攻撃から狙われやすくなっています。
しかしWordPressが弱いわけではなく、きちんとした知識を持ってセキュリティ対策を行えば基本的に問題なく使うことができます。
今回紹介したセキュリティ対策を導入し、安全なサイト運営をしていきましょう!