ほぼ完全にhttps対応[追記あり]

2016年1月23日Web-log・ココログ関連,WordPress,パソコン・インターネット

https対応をさらに進めました。基本的には次の施策で終了していますが、更に徹底させました。

https以外のアクセス(443ポート以外のアクセス)を全てhttpsアクセスにリダイレクトします。.htaccessの設定は次の様にしています。

# Redirect to HTTPS
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
</IfModule>

次ウェブページを参考にさせていただいています。ありがとうございます。Thank you!

(追記 2015-04-22 00:41 この方法だとLocationヘッダが入らずにリダイレクトされるので、あまり良くないかもしれません。)
(追記 2016-01-23 16:34 いまは、この方法によるリダイレクトはしていません。)

WordPress側では、次のプラグインを入れています。

HSTSの方は、そのままだと上手く動かなくて、場当たり的に次の様に修正しています。$maxageの設定値が小さすぎるのです。管理画面から設定できる様に設計されているのですが、うまく動きませんでした。

function hsts_header()
{
	$options = get_option('hsts_settings_section');
	$maxage = 604800;
	$maxage = 15724800;
	$subdomains = '';
/*
	if (is_numeric($options['hsts_maxage_setting']))
		$maxage = $options['hsts_maxage_setting'];
	if ($options['hsts_subdomains_setting'] == 'on')
		$subdomains = 'includeSubDomains';
*/
	if (isset($_SERVER['HTTPS']))
		header("Strict-Transport-Security: max-age=$maxage; $subdomains");
	else if ($options['hsts_redirect_setting']) {
		header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], true, 301);
	}
}

HSTSの設定値は、次のウェブページを参考にさせていただいています。Thank you!

ここまで設定しても、セキュリティランクがBになってしまいます。opensslで鍵を作る時、CipherからRC4を外すのを忘れてました…。SmartCOMだから、作り直しはできないし…。(できるけど有料)

Qualys SSL Labs – Projects / SSL Server Test

一応、.htaccessの中で、SSLCipherSuiteを設定して、RC4では接続できない様に設定してあるはずです。

他、GoogleウェブマスターツールとBing Webマスターツールに、httpsでのURLを伝えてあります。

Posted by お市のかた