インターネット上に公開されている無数のウェブサイトや星の数ほどもあろうウェブページの数々を、すべて見ることはきっと不可能なんだろうな、と思いつつ。。。
あなたが公開したそのサイト、見ているのは誰ですか?
女の人、男の人、子供、大人、もっと大人の人、日本人、それ以外の国の人・・・いろいろ考えうると思います。ターゲットがはっきりしないなあ、とふと思った人は是非考え直してみるのがいいと思います。
が、その前に。
見ているのは、人間だけではありません。という話をしたいと思います。
インターネット上に公開されている無数のウェブサイトや星の数ほどもあろうウェブページの数々を、すべて見ることはきっと不可能なんだろうな、と思いつつ。。。
あなたが公開したそのサイト、見ているのは誰ですか?
女の人、男の人、子供、大人、もっと大人の人、日本人、それ以外の国の人・・・いろいろ考えうると思います。ターゲットがはっきりしないなあ、とふと思った人は是非考え直してみるのがいいと思います。
が、その前に。
見ているのは、人間だけではありません。という話をしたいと思います。
C-Laboサイトに入れてあった「WP Security Audit Log」が「ログイン失敗」というログを結構な量記録していて青ざめた話、を以前書いたのですが、その続報です。
何が起きたのか詳しくは前回の記事「うちのサイトに不正ログインしようとした人誰ですか???」を参照のこと。
前回行った対策は以下の通り。
・新しい管理ユーザーを作り、今までのを削除(ユーザー名が見当つけられていた)
・wp-login.php ファイルをIPアクセス制限
そのため、ログには「ログイン失敗」ではなく「存在しないユーザーでログインしようとした」という記録が出ています。よしよし。
・・・・・・・・・・・・・・・・・・・ん?ちょっと待って。
「wp-login.php ファイルをIPアクセス制限」したよね???
そもそもログインページにアクセスできないようにしたつもりなのに、なぜ「存在しないユーザーでログインしようとした」のログが記録されるのか??
すみません、調べてみたのですが、原因がわかりませんでした。
もし、これについてヒントをお持ちの方はコメントでおしらせください(切実)
さらなる対策として、wp-login.phpにBasic認証を追加しました。
方法はこちらが詳しいです。
WordPressのログイン画面にBasic認証をかけて二重ロックする
(AuthUserFile のパスの書き方に注意です。必ずレンタルサーバーから来た書面などで確認してください。相対パス的に指定することはできません。過去何度も同じ失敗で「あれー??」ってなったので、書き留めておきます。。)
他、私が使っているサーバーではwp-login.phpに国外IPからのアクセス制限がかかっています。(今回の件で、ちゃんと効いてるのか少々不安になりますが、過去に別のお客様から「ログインできない!」と質問があって、よくよく聞いたら「今海外なう」とのお答えで、この機能を一時的にオフにして解決した、ということは実際にあったので、た、多分効いてると思う・・・・)
さくらインターネット:国外IPアドレスフィルタ
とりあえず、何者かが管理画面にログインしようとしている、ということだけど、失敗が続いている、という状況。マメにログをチェックして、バックアップもちゃんと取っておこう、まずは。
また、その後動きが気があればおしらせします。
WPサイトのアップデートは必ず対応しましょうね〜、と布教しております、管理人です。
今回は、アップデート時に欠かせないWPのデータベースのバックアップについて、気をつけていることを書き留めておきます。
バックアップの手順については、前にも書いたので、こちらを参考にしてください。
WPのアップグレードに併せて、バックアップと更新手順のおさらい
今回は、データベースを書き出す時に、容量に注意した方がいいですよ、というお話です。WPサイトの運用時間が長くなれば、記事も多くなり、データベースのデータ量も大きくなっていきます。また、管理画面のログを取る、404エラー表示のログを取るなど、何かしらログを残す系のプラグインが入っていて、設定を特にしていなくてひたすらログが残っていくような仕様だった場合、ものすごくデータが大きくなったりします。
それでも、データベースの「エクスポート」が失敗する、ということはめった経験がありません。なので、数十MBぐらいであろうと、気楽にエクスポートしてしまいます。
そこから、悲劇が起こりました。
いざバックアップデータを使って復元を試みるも、インポートできるファイルの容量には制限があります。この場合は16MB。エクスポートしたファイルがこれより大きければ、読み込めません。圧縮しまくってアップする、という方法も聞いたことありますが、明らかに無理な時も、あります。また、これは接続環境にもよるのかもしれませんが、あまりに膨大なデータをアップしようとすると、途中で読み込みが止まってしまったりで進まずイライラ、ということがよくあります。
と、いうわけで、エクスポートの段階で小分けしておく方が幸せ、というのが気をつけていることです。
エクスポートするときデータベースのテーブルを見て容量の大きいテーブルについてメモっておきます。次に、エクスポートの画面で、エクスポートの対象からそれらの容量の大きいテーブルを外してからエクスポートします。次に、データの大きかったものを別々にエクスポートします。(経験に基づくだけですが、まとめるより1個ずつの方がいいみたいです。)
そしてエクスポートしたものを、ちまちまインポートすれば、オッケーです。
このとこと、WPサイトを引越しさせたり、テスト環境ように複製したり、ということが続いていて、とにかくFTPでダウンロード、アップロード、の作業に時間がかかりまくりで非常にストレス。。。と思っていたのです。
そして見つけた。こんな記事。
WordPress の引っ越し方法色々
https://dogmap.jp/2013/01/15/wordpress-migration/
SSHっちゅうのがまずわからないけど、要はターミナルでモニョモニョって話よな・・・と、へっぽこノンプログラマなので、黒い画面とかできればお近づきになりたくない・・・。お客さんからはYOUやっちゃいなよ、的に言われたこともありますが、固く、お断りしました。わからんやり方で触れませぬ・・・。
でも、時短したいので、誰か教えて欲しいです。(切実)
サイトの管理画面を開いたら、プラグインの「WP Security Audit Log」になにやら同じようなログが続いて残っていた。しかも黄色マーク。
なになに?とよく見てみたら
「1 failed login(s) detected.」
んー?これって、ログイン失敗した記録だね。
自分以外に触るユーザーのいないはずの、記憶のないログイン失敗って、つまり、どゆこと????
・・・・・・(遠くで悲鳴)
速攻でユーザー新規に作って管理者にして、初期アカウントを削除しました。
ついでに管理画面をIP制限・・・・・
やってなかったんかい、というツッコミだけはどうか勘弁してください(涙
参考にしたのはこちら。
http://www.e-agency.co.jp/column/20130417.html
(追記:
当初上記の方法でやってみたのですが、500エラーが出るようになってしまったので、wp-login.phpへのIP制限に変更しました。
.htaccessファイルに以下のように書きます。
<Files wp-login.php> Order deny,allow Deny from all #以下をあなたのIPアドレスに書き換え Allow from xxx.xxx.xxx.xxx </Files>
なぜwp-adminフォルダにIP制限をかけると500エラーになってしまったのかは、おいおい調べます。。)
ログの出方は2種類で、前述のものともうひとつ、
「1 failed login(s) detected using non existing user.」
これは、存在しないユーザー名でのログインを知覚した、ということかと。
よくよく見返せば、結構な数のログイン失敗のログが並んでました。
猛省。。。。
このプラグイン、管理画面へのアクセスとかそこで何が行われたかを記録するプラグインとして人気で、私はお客様へのサイトの導入検討のために自サイトに入れていたのですが、目的は管理画面への不正アクセスを知覚するためであったり、運用中に不具合やトラブルがあった場合に、その前後にどんな操作がされていたかを残しておくために使っています。
ただ、最近惰弱性の報告があったようです。
https://www.leon-tec.co.jp/wordpress-vulnerability/5693/
ご利用中の方は、すぐに最新版にアップデートしましょう!!
WP Security Audit Log
https://ja.wordpress.org/plugins/wp-security-audit-log/
日本語版のWPをダウンロードすると最初に必ず入っているプラグイン「WP Multibyte Patch」。同梱されているぐらいなら必須なのだろうと思って、何も疑わずに有効化していたけれど、はて、一体何をしているものなのだろうか?
どんな機能があるかの全てはリンク先で確認してほしいですが、とりあえず「不具合でるところは大体カバーしてあるよ」という素敵さです。マジ惚れる。
特に、この機能。
ファイル名サニタイズ
マルチバイトを含むファイル名のファイルがアップロード、またはメール添付された場合にファイル名を md5 に変換します。
大事です。
実際、マルチバイト文字を含んだファイル名の画像が、ネットワーク環境によって表示できたりできなかったりする事案がありました。
「ファイル名が冗長になって嫌」「日本語ファイル名がいい」という意見も聞いたのですが、結局、未だファイル名にマルチバイト文字が含まれていると起きる不具合というのが完全に解決されていないようなので、やはり英数半角小文字にしておくのがよかろうと思います。
あと、へーと思った機能が、これ。
テーマの Web フォント無効化機能
一部のブラウザにおいて日本語表示の不具合が起こる問題の対応として、翻訳ファイルの有無に関わらず、以下テーマの Google フォントの読み込みを任意で無効化できる機能を提供します。
それから、これ。
その他
設定ファイル (wpmp-config.php) から各パッチ機能を個別に有効化・無効化できます。
至れり尽くせり✨
私がいつもWPを何の気なしに使ったりお客さんのサイトに使ったりできるのは、こういうプラグインの開発者さんのお力あってのことなのだなあ、とノンプログラマはひたすら感謝の念でございます。(時々文句も言うけど!)
アップデートがあった場合は必須で対応した方が良いプラグインです。
覚えておきましょう。
(引用部分の出典は本家サイト:http://eastcoder.com/code/wp-multibyte-patch/)
この記事は、企業内でウェブサイトの運用や更新などに関わり、ウェブの制作会社さんと直接or間接的に、また営業などでウェブの制作者と話す機会がある人、デザイナさんでウェブ制作者さんと話をする機会のある方に向けた、お互いのコミュニケーションがどうやったらもっと効率的で良くなるかについて、ヒントになりますように、と願って書かれたものです。
クライアントさんとの会話に悩む制作者さんにも、もしかしたら何かの気づきになるかもしれません。なったらいいな。
さてここで問題です。
今このページを見ている環境について以下の質問にお答えください。
いくつ、答えられましたか?
ここで、ひとつも答えられなかった、正確かどうか自信がない、と正直に思った方は望みがあります。改善すれば良いのです。
また、なんでこんなことが答えられないといけないのか?と思った方も是非、続きをちょっと読んでみてください。
始めた時と間があきまくっていて、自分が何をしたかったのか多少どころか全く忘れてしまった管理人です。
前回最後の質問の答えから行きます。こんな質問で締めていました。
正解はこうです。
<a href="../201602/20160229.html">←前の日記:ファイルパスの話</a>
いかがでしょうか?
これで、少なくとも日記をHTMLで書いてみる、ということは出来るようになったと思います!
ウェブサイトを作っていくには、もちろん覚えなければいけないことはまだまだあるのですが、この14回で書いたことは、その基本になると思っています。
また、何よりこれで、HTMLが(ちょっとは)書ける!と思っていただければ、何よりであります。
このシリーズは一旦ここで終わりにさせていただきます(また思いつけば書くかもしれませんが。。。)一覧はここからご覧いただけます。
http://learning.ccc-labo.net/category/html_web/
お付き合い、ありがとうございました。m(_ _)m