[制作者向け] WAFが正常なJavaScriptもエラーにしてしまう場合の.htaccessによる対応方法(CPIシェアードプランACE01の場合)

WordPressやconcrete5等のCMSを使うなら絶対あったほうが良いWAF

WordPressに対する不正攻撃からサーバを守ってくれるWAF(Webアプリケーションファイアウォール)。

CPIのレンタルサーバ シェアードプランACE01にはWAFが標準装備されていて、クロスサイト・スクリプティングやSQLインジェクション等のサイバー攻撃を未然に防いでくれます。

詳しくはCPIの以下のページに分かりやすい解説が載っています。

https://www.cpi.ad.jp/shared/detail/waf.html

CPIは、ジェイピー・セキュア社のSiteGuard Liteを導入しているようですね。

WAFがある安心感は非常に大きく、利用しないのはもったいない!というかWAFが使えるなら絶対に使ったほうが良い機能です。

しかしながら、WAFがしっかりと動作しすぎるために、サイト構築時に悪意のないJavaScriptもエラーになるケースも割りと多かったりします。

GoogleAnalyticsのコードをconcrete5の管理画面にペーストして保存しようとすると以下のようなエラーになり上手く保存が出来ないことも。

WAF(SITEGUARD)エラー

.htaccessでWAFの設定を変更・無効にできる

そんなときに私は、JavaScriptを貼り付けて保存する間だけ.htaccessを使ってWAFを無効化しています。

手順とは言いながら、.htaccessに以下の一行を付け加えるだけです。

これで、WAFを無効に出来ます。この行を削除すると有効化されます。

無効化して作業が終わったら、すぐに有効化をしましょう!

すぐに有効化をしましょう!

大事なので2回言いました。

また、ON(有効)・OFF(無効)の2択ではなくて、より柔軟にWAFの除外設定をすることも可能です。

その解説は以下のCPIスタッフブログに詳しく書かれていますのでご一読下さいませ。

知らないと怖いWebセキュリティと、CPIサーバーのWAF設定方法
http://shared-blog.kddi-web.com/webinfo/129#setting

2017年2月24日追記

あれから色々と調べていたら、以下サイトに記載されていた、IPアドレスによりWAFの除外設定をする方法がCPIでも使えました。

192.168.1.1 の部分を自分のIPアドレスに変更すると、該当IPアドレスからのアクセスの場合、WAFのフィルタリングから除外されます。

【誤検知】WAFのSiteGuard Liteで閲覧をブロックされてしまった場合の除外設定の方法
http://spot-web.jp/blog/2700/

 

感想

WAFがサイト構築の足かせにならないように、WAFと仲良く付き合っていきたいですね。

【DB】CPIのシェアードプラン ACE01で新しいバージョンのMySQLを利用する場合の覚書

ACE01でMySQL 5.5.42 / MySQL 5.6.30から選べる様になった!?

CPIの共用サーバーのACE01がまたいつの間にか新しくなっているような!?

MySQLの5.5.42 か 5.6.30を選べるようになっているではありませんか!

http://www.cpi.ad.jp/shared/detail/mysql.html

実際ユーザーポータルでもMySQL5.6.30でデータベースを作るか、MySQL5.5.42でデータベースを作るかを選択できるようになっていました。

cpi.PNG

せっかくならWordPressで使うデータベースは、MySQLの新しいバージョンを使おうと、MySQL 5.6.30でデータベースを作ったところ、データベースに接続出来ません!というエラーに事態に陥ったのでメモ

error

原因はポート番号

管理画面のお客様情報 > プログラムのパスとサーバの情報 をチェックすると以下のように書いてありました。

MySQL 5.6.30 (port 3307) / 5.5.42 (port 3306)

version

おぉ!MySQL 5.6.30はポート番号3307番で動いているようです。

ということでwp-config.phpを以下のように修正したら無事に画面が表示されました。

↓修正

思ったこと

CPIどんどんバージョンアップしていって、とても素敵!

【mautic】アップデートの通知が来ていたのでオンラインアップデートしてみたらForbiddenになって焦った

mautic

mauticにログインしてみたら、「最新バージョンにアップデートできるよ。」という通知が出ていたので、何も考えずにアップデートしてみました。

そして、403 Forbidden(アクセス禁止)エラーメッセージが出て焦ったお話です。

mauticをアップデートする

ログインすると以下のような通知が表示されていました。

a

この通知をクリックして、アップデート開始(詳細はキャプ撮り忘れましたごめんなさい)を押すと、アップデートが始まります。

なんて簡単なんだ!と驚嘆しました。素晴らしい。

403 Forbidden(アクセス禁止)エラーメッセージが出て焦る

アップデートが終わったようなのでリロードしてみます。

普通ならココですんなりと終わると思うのですが、403 Forbidden(アクセス禁止)エラーメッセージが出てしまいました。

forbidden

何か変なことしたのか!?と焦りつつ原因を探ります。

原因は.htaccessだと分かる

サーバのエラーログを見てみるとどうやら.htaccessのSymLinksIfOwnerMatchが書かれていないからエラーが出ているようでした。

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /usr/home/aaXXXXXXXX/html

むむ。インストールするときには.htaccessにしっかりと書いたのに。。。(ちなみに動かしているのはCPIのACE01サーバです)

実際に.htaccessを確認してみると確かに記述が無い!

どうやらアップデートすると .htaccessを上書きしてしまうようです。

ということで、インストールの時に記述した内容を再度記述したらちゃんと動くようになりました。
AddHandler x-httpd-php5516 .php
suPHP_ConfigPath /home/aaXXXXXXXX/html/
Options +SymLinksIfOwnerMatch

【mautic】mauticをCPIのレンタルサーバACE01にインストールしてみた

mautic.PNG

mauticという単語がチラホラ私の周りを賑わせていたので、CPIの共用レンタルサーバ シェアードプラン ACE01にインストールしてみました。

mauticの読み方は、マウティックでいいのかな?

インストール方法を見る

mauticのドキュメントが以下に有ります。英語です。

https://www.mautic.org/docs/setup/getting_started.html

Step 1: Install Mautic

If you have already downloaded the zip from the download page or have installed Mautic through some other source (Softaculous, Bitnami, Digital Ocean etc…) then you have already completed the first step. If not then you will need to upload the Mautic package (a zip file) to your server; unzip the files; and then navigate to that location in your browser. You will find Mautic has a very easy to follow on-screen installation process.

zipファイルをダウンロードして、サーバに放り込んで解凍するだけで動くよ。
という雰囲気のことが書いてありましたので、実際にCPIのレンタルサーバACE01に設置してみようと思います。

mauticダウンロード

以下のURLからダウンロードしてきます。最新版は1.3.0のようです。

download.png

mautic Download
https://www.mautic.org/download/

 

ダウンロードした圧縮ファイルをサーバにアップロードします

FTP等でアップロードします。

SSHでサーバに接続して解凍します。

ファイル数が1万近くあるので、FTP等でアップするのは大変です。
サーバにSSHで接続してmauticの圧縮ファイルを解凍(unzip)します。

FTPでアップロードするの面倒だったので、wgetで直接mauticのzipファイルをダウンロードしようと思ったのですが、認証が弾かれて上手く行かず。FTPでアップロードしてから解凍という手間な手順をとっております。

.htaccessにCPI特有のおまじないを書く

mauticにもとから入っている.htaccessにCPIのレンタルサーバでPHPを動作させるために必要な記述を追加します。

今回使ったサーバがACE01_2011のものだったのでPHPのバージョン5.5.16を指定しましたが、ACE01_2015でしたらPHP7を指定しても多分動くんじゃないかな?確認したかったけどごめんなさい。

ブラウザでURLにアクセスしてみる

すごい!動いた!

install.PNG

これでインストールを進めていけばいいようです。

Some Recommendationsをクリックするとなんか表示されます↓

install2.PNG

NextStepを押すとデータベース情報を設定する画面が表示されます。

install3.PNG

データベース情報を入力します。Database Table Prefixという項目が有りました。

これを入れると一つのデータベースに複数のMauticがインストールできるのかもしれません(未確認)

install4.PNG

データを入力してNextStepを押すと管理者アカウントを設定する画面が表示されます。

install5.PNG

管理者のアカウント情報を入力します。

install6.PNG

NextStepを押すとメール送信時の名前やメールアドレスを設定をする画面が表示されますので入力します。

install8.PNG

NextStepを押すと!終わったよ!というお褒めの言葉が!

案外簡単!素敵!

install9.PNG

表示されたProceed to Mauticを押すとログイン画面が表示されます。

install10

ユーザ名・パスワードを入れてログインをすると管理画面が無事に表示されました!

install11.PNG

まとめ

ものすごく簡単にmauticのインストールができました。インストールが簡単ってそれだけで使いたくなりますね。

ところでインストールはしてみたものの、mauticが何のソフトなのかわかっていません(笑

mauticの使い方はこれから学んでいきます。

【DB】CPIの共用レンタルサーバ[ シェアードプラン ACE01 ]でデータベースの初期パスワードを変更する方法

ace01.PNG

個人的にCPIの共用レンタルサーバ シェアードプラン ACE01 をよく使います。というかほとんどCPIの共用レンタルサーバ シェアードプラン ACE01です。

30世代ものバックアップ機能(DBは10世代)やスマートリリース機能、マルチドメイン・サーバ容量無制限など個人的には神レンタルサーバだと思っています。

WAFなどの機能がドンドン充実していくのも素敵。

CPIを上げまくってから言うのはナンですが、マニュアルは微妙に整備されていないのでロリポップ感覚で使うと最初は戸惑うと思います。

今回紹介するデータベースの初期パスワード設定についてもマニュアルには書かれていないようでしたので記事にしてみました。

サーバ設定の通知がCPIから届くと、毎回以下のように書いてあるのですが、その割にはデータベースのパスワードを変更する方法がマニュアルに載ってないんだよなぁ。

※ 初期パスワードはセキュリティ保護のため必ず変更してください。

ちなみにオンラインヘルプのデータベースに関するページはここ↓

http://acesr.doc.secure.ne.jp/tools/db/

もし私がマニュアルの場所を知らないだけで、ココに書いてあったよ。というのがあれば教えて下さいm(_ _)m

今回、phpMyAdminからデータベースのパスワードを変更する方法と、SSHでアクセスしてデータベースのパスワードを変更する方法の2通りをご紹介します。

phpMyAdminを使用してデータベースパスワード変更する場合

conpane.PNG

CPIのコントロールパネルからMySQL5.5管理画面リンクをクリックして、phpMyAdmin画面に移動します。

phpmyadmin.PNG

CPIから届いているユーザ名とパスワードでログインします。

phpmyadmin2.PNG

左側からaaXXXXXXXXを選択します。XXXXXXXX部分は各自値が違うはずです。おそらくログインユーザ名と同じだと思います。

sql.PNG

表示された画面のタブから「SQL」を選択します。

change_db_password.PNG

テキストエリアに以下を入力します。
ココに新しいパスワードと書かれた部分に、新しく設定したいパスワードを記述します。

実行するをクリックします。

ok.png

SQL は正常に実行されました (クエリの実行時間 0.0006 秒)

と表示されればパスワード変更は完了です。

SSHを使用してデータベースパスワード変更する場合

SSHで対象のサーバに接続して以下のコマンドを入力していきます。
SSHの接続方法は省き、接続してからのコマンドだけを記載します。

以上でCPIから指定された初期パスワードから指定したパスワードへ変更ができます。

まとめ

phpMyAdminを使えばコマンドラインが苦手な人でも簡単に変更できますので、ぜひチャレンジしてみてください!