masalibの日記

システム開発、運用と猫の写真ブログです

Wordpressのセキュリティ対応は無理ゲー

usami-noriya.blog.jp
上記のブログの記事を読んで無理ゲーだと思いました

 1、WordPressのバージョンを最新にする
 2、プラグインのバージョンを最新にする
 3、各種ログインID、パスワードを複雑なものにする
 4、各フォルダーやファイルのパーミッションを適切に設定する
 5、公式ディレクトリ以外のテーマファイルやプラグインを安易に取り入れない
 6、定期的にプラグインの状態を確認する
 7、セキュリティソフトで定期的にデータのウィルスチェックをする
 8、サーバーへのファイルアップロードの際、FTPを利用しない、またはFTPSで接続する
 9、テーマファイルのバックアップ、データベースのバックアップを定期的にする。
 10、使用しているサーバーの各セキュリティ機能を設定する。

・4、9、10はITリテラシーが低いと難しいです
・必ず毎週1回更新する人なら1、2,6はできるけでど
 1ヶ月以上に1回しか更新しない人はアウトになります
・簡単にできる事は3と5と7と8ぐらい

自分の場合は
 1、WordPressのバージョンを最新にする
 2、プラグインのバージョンを最新にする
 4、各フォルダーやファイルのパーミッションを適切に設定する
 5、公式ディレクトリ以外のテーマファイルやプラグインを安易に取り入れない
 6、定期的にプラグインの状態を確認する
 10、使用しているサーバーの各セキュリティ機能を設定する。

ができていませんでした

宇佐美さん同様にスパムメールを送信してしまいました
宇佐美さんより悪かったのがVPSサーバーに登録していたメールアドレスがめったに見ないアドレスだった

気がつくのに時間が遅くてサーバーごと停止されていました
バックアップを取れていないものは
死にました囧rz
たぶんWordPressのバージョンが古かったと思います

ブログを放置するとアウトなので
とても素人ができるものではありません

宇佐美さん以外のWordpressセキュリティの記事

viral-community.com
WordPress の安全性を高める - WordPress Codex 日本語版

上記の内容を見れば見るほど・・・・
専門家以外がWordPressを運用するのは
無理ゲーだと思います

現在の自分のブログサイト運営について

スパムメールの事件以降ははてなブログに移動しました
現在、はてなブログ以外は、静的ページにしています

運用費は1サイトにつき0~200円です
0はGAE、200円はAWSのS3です
はてなは980円です

GAEで静的ページの運用について

GAEは0円で安いですが1日の転送量が1Gを超えると
14円/GBぐらい課金されてしまいます
ページあたりの平均サイズが100K程度なら
1万PV/日まで無料で公開可能

ちなみに課金の設定をしていないと
サイトが1日停止されます

初期設定のappy.yamlがめんどくさいです
AWSのS3より便利なのは
 ・scriptが一部おける事
 ・Cron(タイマー処理)が設定できる 
 ・がんばればSSLを導入できる

f:id:masalib:20150930223742j:plain
です

プログラムと設定ファイルとは以下のとおりです
(wordpressというフォルダに展開しているイメージです)

main.php

<?php
//  URL作成
$str = $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
// リダレクト回数の制限対応
$str_ref = $_GET['ref'];

if($str_ref == ''){

	if($_SERVER["REQUEST_URI"]=='/'){
		$str = $_SERVER["HTTP_HOST"] . '/wordpress/index.html';
	}else{
		$str = rtrim($str, '/') . '/index.html?ref=1';
	}

	header("HTTP/1.1 301 Moved Permanently");
	header("Location: http://" . $str );

} else{
	$str = $_SERVER["HTTP_HOST"] . '/wordpress/404.html';
	header("Location: http://" . $str );

	//echo $str;
	//echo "<br>test";

}
exit();

appy.yaml

application: xxxxx-xxxxxx
version: 1
runtime: php55
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico
- url: /wordpress/wp-admin/
  static_dir: wordpress/wp-admin
- url: /wordpress/wp-content/
  static_dir: wordpress/wp-content
- url: /wordpress/wp-includes/
  static_dir: wordpress/wp-includes
- url: /wordpress/(.*\.html)
  mime_type: text/html
  static_files: wordpress/\1
  upload: wordpress/(.*\.html)
- url: /*.*
  script: main.php


詳しくはこちらを参考にしてください
静的HTMLをGAE上で公開する - apps-gcp

AWSのS3で静的ページの運用について

AWSはストレージが1Gあたり4円ぐらい
転送量は17円/GBぐらい
AWSのS3のバケット名で運用する事もできるが
ドメインを取得してroute53で設定しているので
1ヶ月あたり160円ぐらいかかります
GAEよりAWSのほうが優れているのは
初期設定のappy.yamlがない事

バケットをつくってデフォルトページの設定をして
ファイルアップすればすぐに公開できる
デザイナーさんとかいるとこっちの方が楽です

詳しくはtiro105.hateblo.jp

はてなブログ、GAE、AWSのどのサイトも
放置してもスパムメールが飛ぶことや
ハッキングを食らったりしませんので
安心して更新ができます