「wordpress」タグアーカイブ

WordPressが外部からの攻撃で nav-menu.php が書き換えられた場合の対処法

WordPressにマルウェアを送り込むソースを埋め込まれた時の対処法

JPCERT/CC や サーバーの管理会社から、下記のようなメールが届いた場合は要注意。

<div id=”zqtf” style=”display:none”>67 76 90auc 72 1-8 a7 bm,as4等の文字列が埋め込まれています。
※当該 URL を確認する際は、十分お気をつけください。確認する際は、
ブラウザのスクリプト機能を無効にするなど、影響ない環境で、
ご確認ください。
※上記は、http と :// の間を空けております。
※当該コードは Internet Explorer で確認しております。
同様の改ざんは WordPress や Joomla などの CMS を使用したサイトで確認
されており、”//istart” や “//iend” のような文字列が埋め込まれていまし
た。CMS に関連するファイルを一度ご確認願います。

でも、対応は簡単なので、すぐに対処しよう。

JPCERT/CCとは?

一般社団法人 JPCERTコーディネーションセンターの略で、簡単に言うと、セキュリティ関連の注意喚起をしている機関。

 
 

原因と攻撃の経路

これは、Wordpress 4.4系より前バージョンのセキュリティホールを狙ったものだ。もちろんサーバーの状況などにより、Wordpress4.3以前のバージョンでも攻撃されない場合もある。

ちなみに、ロリポップ、お名前.comは特に多くの被害が報告されている。

→ マルウェアを埋め込まれると、ブラウザでのデータのやり取りが外部に送信されるので、メールフォームなどを設置している場合は特に注意が必要。

簡単に特定でき、修正もできるので、被害が発生する前に対処しよう。

WordPressの場合
/wp-includes/nav-menu.php
/wp-admin/includes/nav-menu.php

この2種類のファイルが狙われ、ソースコードの中に //istart//iend というコードが埋め込まれてしまう。

acreport-cms_01

FTPソフトで、/wp-includes/nav-menu.php/wp-admin/includes/nav-menu.php の2つのファイルを確認し、 istart と検索して、該当があれば攻撃されている。

//istart から //iend までのソースを全て削除すれば、ひとまず脅威はなくなる。

その後、再度同じ被害にあわないように、WordPressを最新にアップデートしておくこと。

既にWordpressが最新の場合は、サーバーの設定に問題がある。

海外からの管理画面や、コアファイルへのFTPアクセスをを全て拒否する設定する。
管理画面にBASIC認証を設定する。

などの対策が有効。

 

Twenty Twelveのスマホメニューが開かない場合の対処法

WordPressのスマホレイアウトでメニューボタンが動かない!

ある特定の条件下で、Wordpressのテーマ、Twentytwelveのスマホ用メニューが開かない場合がある。
twentytwelve-menu1
この修正方法を紹介。
 

 

条件1 Twentytwelveを使っている。

WordPressのテーマ(テンプレート)にtwentytwelveを使っている時にこれは発生する。TwentyelevenやTwenty thirteen fourteen fifteen…などでは起こらない(今後ずっとおこらないかどうかは不明)

条件2 子テーマを使用していて、header.phpをカスタマイズしている

親テーマのheader.phpがアップデートで変更になった。具体的には端末判定によるスマホ対応ではなく、レスポンシブデザインによるスマホ対応になった。

レスポンシブってなに?って場合はこちらのレスポンシブデザインでtableタグを制御をチェック。

この2つの条件が当てはまる場合に、Twentytwelveのスマホメニューが動かなくなる。
 

 

解決法 子テーマのheader.phpを修正

 
Wordpressの管理画面にログインし「外観」→「テーマ編集」

右上の「編集するテーマを選択:」の箇所がTwentytwelveの子テーマになっている事を確認して、「header.php」を編集する。

メニューの部分が

<nav id=”site-navigation” class=”main-navigation” role=”navigation”>
<h3 class=”menu-toggle”><?php _e( ‘Menu’, ‘twentytwelve’ ); ?></h3>
<a class=”assistive-text” href=”#content” title=”<?php esc_attr_e( ‘Skip to content’, ‘twentytwelve’ ); ?>”><?php _e( ‘Skip to content’, ‘twentytwelve’ ); ?></a>
<?php wp_nav_menu( array( ‘theme_location’ => ‘primary’, ‘menu_class’ => ‘nav-menu’ ) ); ?>
</nav><!– #site-navigation –>

となっている箇所があるはずなので、その中の

<h3 class=”menu-toggle”><?php _e( ‘Menu’, ‘twentytwelve’ ); ?></h3>

を、↓↓↓ に変更するだけ。

<button class=”menu-toggle”><?php _e( ‘Menu’, ‘twentytwelve’ ); ?></button>

これでメニューが動くようになったはずだ。

なお、カスタマイズは自己責任で。心配ならバックアップを取っておこう。

【SEO対策・アルファSSL】お名前.comのSSL適用後に必要な3つのステップ

月額100円のアルファSSLのSEO効果を最大限に引き出そう

関連記事:
30秒で終わる月額100円のSSLの導入方法はコチラ

お名前.comのアルファSSLを適用し、httpsでアクセスできるようになっても、それで終わりではもったいない。

サイトを最適化する3つの手順を紹介。

1. .htaccessの設定

wing

SSLの設定が完了した後、 https://xxxxxxxxxx.com で自分のサイトにアクセスしてみて、httpsでアクセスが出来るようになっていたら、今までのように、http でアクセスがあった時にも https に一本化されるようにしておきたい。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

.htaccess に上記の記述を追加しよう。

今.htaccessが無い場合は、 このSSL.txtをダウンロードして、FTPなどでサーバーにアップしよう。

サーバーにアップ後、ファイル名を .htaccess に変更することを忘れずに!
 

 

2. URLの書き換え

https-image
次に今あるURLを全て書き換えた方がいい。

相対パスの場合は特に変更は必要ないが、絶対パス、つまり「 http://xxxxxxxx.com/image.jpg 」のようになっている場合は、これを全て、https に変更しておく。

WordPressの場合などは、プラグインのSearch Regexなどを使って、一括で「http://」を、「https://」に書き換えると楽だ。

ただし、外部リンクまでhttpsに変えてしまわないように注意!
 

 

3. WordPressの設定URL

普通のHTMLやPHPで作ったサイトの場合はこのステップ3は必要ないが、Wordpressで作ったサイトの場合には、Wordpressの設定も変更しておかなければならない。

管理画面の「設定」→「一般」の中の

WordPress アドレス (URL)
サイトアドレス (URL)

wp-address
の2箇所も https://~ に変更しておこう!