忍者ブログ

開発者ブログ

忍者ブログの元開発者が送る愛と感動と涙のスペクタクル。プログラムの開発日誌やタダの日記です。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Let's Encryptの話

SSL証明書を無料で発行!という言葉につられてやってみました。
Let's Encrypt、無料って最高。

個人用のサーバーで個人用のドメインによるテスト。
CentOS7、Apache2.4という環境。

まずはHow it workを見てチャレンジ
# git clone https://github.com/letsencrypt/letsencrypt
# cd ./letsencrypt
# ./letsencrypt-auto --help
# ./letsencrypt-auto certonly --standalone -d 登録したいドメイン
これで登録完了。

--standaloneオプションだとGUIでメールアドレスの入力などを求められたりする。
GUIではメアドの入力や規約確認などを行います。

80番ポートが空いてないと、途中で失敗します。
systemctl stop httpdなどとしてデーモンを止めておくか./--http-01-port 8080オプション設定でポートを変えておく必要がありそう。
私はNAT的に上手く通らず、素直に停止しました。


登録完了後はhttpd.confにSSL設定確認。
opensslとかは./letsencrypt-auto --helpをたたいた時に勝手に入る。
apacheだと/etc/httpd/conf.d/ssl.confとかで設定
SSLCertificateFile /etc/letsencrypt/live/登録したドメイン/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/登録したドメイン/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/登録したドメイン/chain.pem
終わったらリロード。https://登録したいドメイン/にアクセスして動作確認。
# systemctl reload httpd

はまったところ

--webrootで更新自動化をやってみた。
# ./letsencrypt-auto certonly --webroot -d 登録したドメイン --webroot-path HTTPDのドキュメントルート --renew-by-default --debug
Traceback (most recent call last):
File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in <module>
sys.exit(main())
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 1454, in main
return args.func(args, config, plugins)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 639, in obtain_cert
_auth_from_domains(le_client, config, domains)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 405, in _auth_from_domains
new_certr, new_chain, new_key, _ = le_client.obtain_certificate(domains)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
return self._obtain_certificate(domains, csr) + (key, csr)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
authzr = self.auth_handler.get_authorizations(domains)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 84, in get_authorizations
self._respond(cont_resp, dv_resp, best_effort)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 142, in _respond
self._poll_challenges(chall_update, best_effort)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 204, in _poll_challenges
raise errors.FailedChallenges(all_failed_achalls)
FailedChallenges: Failed authorization procedure. *********.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Error parsing key authorization file: Invalid key authorization: 1 parts

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: 登録したドメイン
Type: urn:acme:error:unauthorized
Detail: Error parsing key authorization file: Invalid key
authorization: 1 parts
こんなエラーで怒られる。

Document Root/.well-known/acme-challenge/なパスが出来ており、
ここにアクセスが来て何か確認してるっぽい。
66.133.109.36 - - [03/Feb/2016:17:12:29 +0900] "GET /.well-known/acme-challenge/E_BM-w0gntstIOrD7as7pIBwI5zSGSLq6Xr28yCdJt0 HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"
こんなのがくる。
どうやら HTTP STATUS 200で返してしまうのが問題のよう。

Wordpressもそうじゃないかな?と思うのですが、.htaccessやhttpd.confの設定ファイルで、mod_rewriteやScriptAliasなどによってパスの変更設定等をしていると、実際にはないのに404以外のステータスが返ります。

恐らくAllow denyによる403やLocationによる302などでも同じで、404が返らないとだめなのではないかと思う。
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
上記のような設定(サンプル)を下記の1行を追加で回避。
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.well-known/
RewriteRule . /wp/index.php [L]
もう一度コマンドを叩いて、更新されることを確認

# letsencrypt-auto certonly --webroot -d 登録したドメイン --webroot-path HTTPDのドキュメントルート --renew-by-default --debug

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/登録したドメイン/fullchain.pem. Your cert will expire
on 2016-05-03. To obtain a new version of the certificate in the
future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

# cd /
# cd /etc/letsencrypt/archive/登録したドメイン/
# ls -l
合計 32
-rw-r--r-- 1 root root 1777 2月 2 16:30 cert1.pem
-rw-r--r-- 1 root root 1777 2月 3 17:12 cert2.pem
-rw-r--r-- 1 root root 1675 2月 2 16:30 chain1.pem
-rw-r--r-- 1 root root 1675 2月 3 17:12 chain2.pem
-rw-r--r-- 1 root root 3452 2月 2 16:30 fullchain1.pem
-rw-r--r-- 1 root root 3452 2月 3 17:12 fullchain2.pem
-rw-r--r-- 1 root root 1704 2月 2 16:30 privkey1.pem
-rw-r--r-- 1 root root 1704 2月 3 17:12 privkey2.pem
※/etc/letsencrypt/live/登録したドメイン/****.pemは /etc/letsencrypt/archive/*****2.pemなどへのリンク

cronなどで下記の設定をして終了。
0 5 1 * * /Path/to/letsencrypt-auto certonly --webroot -d 登録したドメイン --webroot-path HTTPDのドキュメントルート --renew-by-default --debug >> /var/log/letsencrypt/letsencrypt.log && /bin/systemctl reload httpd
こちらのサイトが大変参考になりました。


そのうちサービスにも適用したい。

拍手[1回]

2015年8月度キャンペーンのポイント付与と記事の承認

9月15日に予定しているポイント付与の計算を行いました。
今回はランキングキャンペーンの集計です。
投稿文字数が1位~50位の方が順位に応じたポイントをゲット出来るデイリーランキング形式のキャンペーン。

今回のランキングは残念ながら承認率が90%を割る方が若干名いるようです。
前回3月に実施したランキングキャンペーンでは承認率90%を割る方は0人でした。
初めて50位までに引き下げたこともありますが、予想を下回る悪い数字です。

実はあまり大きな文字サイズでは書けないのですが、付与の承認率ラインは90%とさせていただいているのですが、このラインを若干引き下げて検討したりしています。
出来るだけ多くのライター様に還元することで、これからも多くの記事を書いていただきたいのです。
あれ?なんでだろう?と思われた方がおりましたら、是非これからもいっぱい記事を書いてください。
さらに承認率を上げる努力をしていただけると幸いです。

ポイント付与は9月15日の12時以降(多分15時頃?)に付与されるかと思います。
楽しみにお待ちください。

拍手[2回]

コピーコンテンツをチェックする!でおなじみの「影武者」をプチリニューアル

影武者をプチリニューアルしました。
影武者とは、「あるテキストがWEB上で使用されていないか?」を調べるためのツールです。
弊社サービスであるShinobiライティングでもコピーコンテンツのチェックをするために、ほぼ同じ仕組みを利用しています。

私個人と(WEBサービスとしての)影武者との関わりは、これまで裏側にあるデータ操作くらいだったのですが、初めてWEBインターフェース側に携わり、ちょっとした機能を追加しました。

少しだけ便利になったと思いますので、影武者を利用されている方、利用をご検討されている方、以前使ったことあるけど、ちょっと使いづらいかも?と思われた方などおりましたら、是非お試しください。

コピーコンテンツチェックと言えば、少し趣が違うサービスの提供も始めております。
2015年7月に開催されたコンテンツマーケティングEXPOに出展した際に少し表に出た程度で、大々的なプロモーションなどを行っていないレアなサービスになっています。

Shinobiファインダーというサービスです。

Shinobiファインダーは影武者と同じように「テキストがWEB上で使用されていないか?」をチェックするためのサービスなのですが、少々違った内容になっております。
「WEBサイト上のコンテンツ」がチェックを行うテキストとしている点が影武者と異なっている点です。
検査結果のページがとても分かりやすくなっており、今後影武者もShinobiファインダーのようにしていきたいと考えております。

現在Shinobiファインダーはクライアント様から要望をお伺いし、機能を続々と追加している状況です。
もしご興味のある方がおりましたら、下記のURLより詳細をご確認ください。
http://finder.biz-samurai.com/

拍手[1回]

PeXギフトコード発行処理の件について

こんばんは。misneyです。

PeX交換早く元に戻せやボケ!というお声が多いようですね。
お叱りのお言葉、ごもっともです。
長らくご不便をおかけしており、大変申し訳ございません。


ギフトコードのポイント交換処理は6/30に再開する予定です。


現時点ではまだ確定ではありません。
22日の月曜日に再開日時を確定し、お知らせを掲載しようと考えております。
大変申し訳ないのですが、再開まで今しばらくお待ちください。

チラホラ巷でも囁かれておりますが、セキュリティ強化のためSMS認証を導入する予定です。


■セキュリティについて

今回導入予定のSMS認証はポイント交換時のみ、選択制になる予定です。
必須ではないのですが、実装後は出来る限りSMS認証を行うようにしてください。
また、メールアドレス・パスワードの組み合わせを他のサービスでも使っている方は、必ずパスワードの変更を強くお勧めします。


近年、不正アクセスはかなり一般化しているように思えます。
これに合わせてサービスでも徐々にセキュリティレベルを上げていく必要があります。
セキュリティの向上とユーザーの使い勝手はトレードオフなところがあり、常に悩ましい問題なのですが、時世に合わせて調整していく必要があります。

ご不便をおかけすることも多々ございますが、引き続きShinobiライティングをご愛顧いただければ幸いです。



拍手[4回]

おまとめボタン

忍者カウンター

忍者ビジター

忍者アド

ブログ内検索

最新コメント

プロフィール

HN:
mizuno
年齢:
43
HP:
性別:
男性
誕生日:
1974/02/13
職業:
主に侍などを少々
趣味:
SEO(「申し訳ございません」や「指ぱっちん」「指定したサイトへは接続できませんでした」でググルと上位に。)
自己紹介:
母子手帳の仮死と書かれてる場所に丸されてます。

フリーエリア

忍者ツールズプロフィール

忍者ツールズプロフィールは終了しました