セキュリティ・サーバ

WEBサイトのセキュリティについて

WordPress管理画面セキュリティ・サーバ
WordPress管理画面
この記事は約7分で読めます。

こんにちは、まっさん(@Tera_Msaki)です。

この記事はSIベンダーで28年あまりシステムエンジニアとして、いろいろなシステムのインフラを構築してきた経験をもとにセキュリティについてまとめたものです。

WEBサイトを立ち上げて、3か月あまり経ちました。
インターネットに直接接続しているWEBサイトは、
PCと違って使わないときに電源を落とすということができないので、
定期的にログを確認して、サイトの安全性を確認することが重要です。
今回は、WEBサイトの定期点検について、お話したいと思います。

・WEBサイトを公開している人
・WEBサイトの運用に興味がある人
・WEBサイトの定期点検の方法を知りたい人

この記事を読めば、WEBサイトの定期点検の方法がわかります。

サーバセキュリティ対策

サーバのセキュリティ対策には、インフラ構築時に実施するものと、構築後の運用で実施するものがあります。

インフラ構築時に実施するサーバセキュリティ対策

SIベンダーでは、システムのインフラ構築時に、以下のようなサーバセキュリティ対策を実施しています。

①ハードウェアのファームウェアパッチ適用
②OSの最新セキュリティパッチ適用
③ウィルス対策ソフトの適用
④不要サービスの停止、無効化
⑤OS、ミドルウェアのセキュリティ上の推奨設定に変更
⑥セキュリティ脆弱性診断および、脆弱性に対する処置

①に関しては、オンプレミスでサーバ、ストレージ、ネットワーク機器を設置、構築時に実施します。クラウドサービスやレンタルサーバではサービス提供者が実施します。
②~⑥に関しては、AWSやGCPなどのIaaSでは構築時に実施が必要です。ただし、実施したサーバを1台構築し、構築したサーバのマシンイメージを作成し、マシンイメージをデプロイしてサーバを作成するなどの方法をとることで、2台目以降の作業を省略できます。
PaaS提供のレンタルサーバでは、②~⑥はサービス提供者が実施します。

価格やブログサイトとしてサーバ性能など総合的にみて、おススメです。

価格を重視する場合、おススメです。

ドメイン取得と合わせてレンタルサーバを契約する場合、おススメです。

レンタル共有サーバー

構築後の運用で実施するサーバセキュリティ対策

システム稼働後のシステム運用では、可能な限り、OS、ミドルウェアの最新セキュリティパッチの適用が望ましいです。パッチ適用が稼働システムに影響があり、事前評価しないと適用できない場合は、仮想パッチを導入する方法などがあります。AWSやGCPなどのIaaSではシステム運用者、PaaS提供のレンタルサーバはサービス提供者が実施します。

WEBサイトのセキュリティ対策

WEBサイトでは、HTTPS(HTTP)のサービス系の通信と、SSH(TELNET、FTP)の運用系の通信が必要です。オンプレミスやAWSやGCPなどのIaaSでは、サービス系の通信と運用系の通信を別のネットワークとして、ネットワークレベルでセキュリティ対策が可能ですが、PaaS提供のレンタルサーバでは、同じネットワークでサービス系の通信と運用系の通信を行いますので、アプリケーションレベルでのセキュリティ対策が必要です。

レンタルサーバのセキュリティ対策

レンタルサーバのサービス提供者によって、アプリケーションレベルでのセキュリティ対策は様々です。
ここでは、このサイトで利用しているConoHa WINGサービスを例にして、セキュリティ対策を説明します。ConoHa WINGサービスでは、ConoHaコントロールパネルを使用して、以下の①から④の対策を行います。①以外については、②と③はOS設定、④はWordPress設定(プラグイン)の変更でも対策が可能です。

①WAF(WEB APPLICATION FIREWALL)
WAFは、HTTPS(HTTP)のサービス系の通信であるHTTP通信のデータを監視し、不正アクセスを検知、遮断します。
ConoHa WINGサービスでは、標準でWAFを利用できます。
ただし、ONとOFFの切り替えのみで、細かい制御設定はできません。
通常の運用では、ONに設定します。
WordPressの設定変更で、WAFが不正アクセスとして検知することがあり、設定変更時はOFFにする必要があります(設定変更後は速やかにONにすることを忘れずに)

利用設定をONにすることで、WAFを有効化

②ディレクトリアクセス制御
ディレクトリレベルでBASIC認証を設定します。
必要に応じて設定します。

③IPアクセス制御
アクセスさせないIPアドレスを指定します。
WEBサイトに不正アクセスしてきたIPアドレスをブラックリストに追加します。

不正アクセスを確認したIPアドレスをブラックリストに追加

④WordPressセキュリティ
管理画面、コメント/トラックバックの通信について、一定時間内に同じ発信元から大量のアクセスがあった場合に、
不正アクセスと判断し、遮断します。海外からのRESTやRPCなどのAPI通信を遮断します。
通常の運用では、全てONです。

WEBサイトの定期点検

定期点検では、導入しているプラグイン、テーマで最新となっているかの確認、ログ確認を行います。
導入しているプラグイン、テーマの更新状態は、WordPress管理画面にログインすることで確認します。

①WAFのログ確認
ConoHa WINGサービスでは、ConoHaコントロールパネルで確認できます。
WAFのログは、HTTP通信データの監視で、不正アクセスと判断されたHTTPリクエストをログに出力します。
WordPressの設定変更を検知しますので、攻撃元アドレスが自分が使用している端末のIPアドレスの場合は、無視(除外)します。
攻撃元アドレスが使用している端末のIPアドレス以外が不正アクセスの痕跡です。
8月2日と8月3日に199.188.205.53から、admin-ajax.phpでコマンドを送りける攻撃の痕跡があります。
残念ながら、ConoHaコントロールパネルではコマンド(action)まで確認できませんでしたが、アクセス解析でadmin-ajax.phpのアクセスが頻繁にないか確認します。
9月29日に179.127.198.9から、SQLインジェクションの攻撃の痕跡があります。
残念ながら、ConoHaコントロールパネルでは、送りつけてきたSQLコマンドまで確認できませんでした。
対処としては、IPアドレスのロケーションを確認して、IPアクセス制限のブラックリストに追加します。
IPアドレスのロケーションですが、199.188.205.53はアメリカ、179.127.198.9はブラジルでした。

自分が使用している端末のIPアドレスは、除外設定

②エラーログの確認
ConoHa WINGサービスでは、ConoHaコントロールパネルで確認できます。
エラーログは、HTTPリクエストのエラーをログに出力します。
10月12日にエラーを出力しています。
AH00126はApacheのエラーコードで、エラー内容は「リクエスト中のURIが不正」です。
URIが「GET /.well-known/assetlinks.json HTTP/1.1」と記録されていますので、リクエスト内容を確認します。
assetlinks.jsonはAndroidアプリリンクのリクエストで、WEBサイトがAndroidアプリリンクに対応していないため、エラーとなっています。現時点で不正アクセスと断定できないので、今回は静観としました。

IPアドレスは、アメリカのサーバホスティング会社と判明。

③アクセスログの確認
ConoHa WINGサービスでは、ConoHaコントロールパネルで確認できます。
アクセスログは、HTTPリクエストをログに出力します。
通常ページのアクセス、クローラーのアクセス以外にないか確認します。
アクセス解析で通常ページ以外のアクセスがあった場合、WAFをOFFにしている間について、IPアドレスとHTTPリクエストの内容を確認します。

今回はここまでです。

WordPressは、非常に攻撃対象になりやすいWEBサイトのCMSです。
WAFの導入、定期的に導入しているプラグイン、テーマの最新化やログの確認など、
WEBサイトの定期点検をおススメいたします。

ブログランキング・にほんブログ村へにほんブログ村

コメント

タイトルとURLをコピーしました