imotenの記事もそろそろ最後かな。
今回は最後の大仕事、SSL化です。
別にしなくてもいいけど、セキュリティレベルを高めるために設定することをお勧めしますが、訳わからん。って人は別にしなくてもかまいません。
ブラウザでのログインよりコンソールプログラムを使って設定することを強くお勧めします。
コンソールでログインする方法はこちら。
プログラムの記入があるので、手打ちはキツイです。
※注意
imotenの設定はすでに終了しているものとみなします。
サーバーに新しいプログラムを書きこむので、CPUやメモリ使用率が上がります。
失敗すると最悪使えなくなるかもしれないので注意してください。
ネット上で情報を暗号化し、データを送受信するプロトコル。
Yahoo!メールはSSLで暗号化されているんだけど、送信(SMTP)サーバーはimotenでしているのでSSLで暗号化されていない。
そこで、imotenをSSLに対応させて暗号化してしまおう!という算段です。
さくらインターネットのVPS新プランの場合(CentOS6)
Stunnelをインストールする。
[root@ ~]# yum -y install stunnel エンターキー
これでStunnelがインストールされた。
サーバー証明書を作成
コンソールでサーバーにログインし、certsディレクトリに移動する。
[root@ ~]# cd /etc/pki/tls/certs エンターキー
サーバー証明書の作成
[root@ ~]# make localhost.pem エンターキー
するといろいろ聞かれるが、全部エンターで返してしまっても構わない。
きっちり答えてもOK。
Country Name (2 letter code) [GB]:JP ← 国
State or Province Name (full name) [Berkshire]:Tokyo ← 都道府県
Locality Name (eg, city) [Newbury]:katsushika ← 市区町村
Organization Name (eg, company) [My Company Ltd]:www.kyoji-kuzunoha.com ← サイト名(無ければエンターで返す)
Organizational Unit Name (eg, section) []: ← エンターキーで返す
Common Name (eg, your name or your server’s hostname) []:xxxxxx.sakura.ne.jp ← ホスト名
Email Address []:xxxxxx@kyoji-kuzunoha.com ← 自分のメールアドレス
全部答えると証明書作成が終了する。
stunnel.confを作成
新規にstunnel.confを作成する。
[root@ ~]# vi /etc/stunnel/stunnel.conf エンターキー
何もないテキストデータが開くが、そこにプログラムを書き込む。
cert=/etc/pki/tls/certs/localhost.pem
;chroot = /var/run/stunnel/
;setuid = nobody
;setgid = nobody
pid = /var/run/stunnel.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
;foreground = yes
[smtps]
accept = 465
connect = 587
記入したら :wqで終了。
stunnel.confが作られた。
stunnel(stunnel起動プログラム)を作成stunnelを作成する。
[root@ ~]# vi /etc/init.d/stunnel エンターキー
何もないテキストデータが開くが、そこにプログラムを書き込む。
ーーーここからーーー
#!/bin/sh
# chkconfig: 2345 20 80
# description: s
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
DAEMON=/usr/sbin/stunnel
prog=stunnel
start () {
echo -n $”Starting $prog: “
# start daemon
daemon $DAEMON
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/stunnel
return $RETVAL
}
stop () {
# stop daemon
echo -n $”Stopping $prog: “
killproc $DAEMON
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/stunnel
}
restart() {
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status $DAEMON
;;
*)
echo $”Usage: $prog {start|stop|restart|status}”
exit 1
esac
exit $RETVAL
—ここまでーーー
記入したら :wqで終了。
起動プログラム stunnel が作られた。
さくらVPS(CentOS6)の場合は、
DAEMON=/usr/sbin/stunnel
を
DAEMON=/usr/bin/stunnel
に書き換えること。
パーミッション(アクセス権)の設定
作成したプログラム stunnel のアクセス権を変更する。
[root@ ~]# chmod 755 /etc/init.d/stunnel エンターキー
作成したプログラム stunnel 実行権が与えられた。
stunnelをスタートアップに登録
サーバーが再起動しても、自動でstunnelが起動するように設定する。
[root@ ~]# /sbin/chkconfig –add stunnel エンターキー
stunnelを起動
stunnelを起動する。
[root@ ~]# /etc/init.d/stunnel start エンターキー
これでstunnelが起動した。
これでサーバーでの設定は終了。
iPhoneでの設定設定→メール/連絡先/カレンダー→yahooアカウント→アカウント→送信メールサーバーを開く。
プライマリサーバー(imotenのホスト名)をタップ。
SSL使用をオンにし、サーバーポートを465に変更して完了をタップ。
”サーバの識別情報を検証できません”というメッセージが出てくるので、”続ける”をタップ。
これでSSL化が終了する。
テストメールを送信してみよう。
無事届いたら成功。
これでほぼ完璧imotenのSMTPサーバーもSSLに対応させてセキュリティレベルもアップ!
これで隙のない運用になったかと思われる。
あとはMail.appでのプッシュに難がある方もいるみたいなので、色々検証してみます。
うまくいけばいいけど。
「【iPhone】imotenの送信メールをSSLで暗号化する【docomoメール】」への112件のフィードバック
コメントを残す
# chkconfig: 2345 20 80
# description: s
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
DAEMON=/usr/sbin/stunnel
prog=stunnel
start () {
echo -n $”Starting $prog: “
# start daemon
daemon $DAEMON
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/stunnel
return $RETVAL
}
stop () {
# stop daemon
echo -n $”Stopping $prog: “
killproc $DAEMON
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/stunnel
}
restart() {
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status $DAEMON
;;
*)
echo $”Usage: $prog {start|stop|restart|status}”
exit 1
esac
exit $RETVAL
起動プログラム stunnel が作られた。
を
DAEMON=/usr/bin/stunnel
設定→メール/連絡先/カレンダー→yahooアカウント→アカウント→送信メールサーバーを開く。
プライマリサーバー(imotenのホスト名)をタップ。
SSL使用をオンにし、サーバーポートを465に変更して完了をタップ。
”サーバの識別情報を検証できません”というメッセージが出てくるので、”続ける”をタップ。
これでSSL化が終了する。
テストメールを送信してみよう。
無事届いたら成功。
imotenのSMTPサーバーもSSLに対応させてセキュリティレベルもアップ!
これで隙のない運用になったかと思われる。
あとはMail.appでのプッシュに難がある方もいるみたいなので、色々検証してみます。
うまくいけばいいけど。
>imotenはひとつのサーバーにメールアドレスひとつしか設定できないのでしょうか?もう一つ別のメールアドレスを同じサーバーに設定する事は出来ませんか?
また設定する方法はないでしようか?
>imotenのプログラムはひとつのiモード.netアカウントしかサポートしていないので、できません。
2つimotenを稼働できるか考えましたか、同じ名前のプログラムを同時に起動することはできないですし、
リネームして起動するのもおそらく起動しないので無理でしょう。
一応imotenのサイトにあるQ&Aを全て目を通して見ましたが、それに対する回答はなかったのでたぶん無理じゃないかなと思いますけども。
お役に立てなくて申し訳ありません。
>こんにちは
imotenを解凍する(インストールした?)ディレクトリ名を替えてあげればうまくいかないですか?
/usr/local/imotenとは別に、/usr/local/imoten2とか解凍し、リンクを作るときに/etc/init.d/imoten2にしたら、メモリは消費しますが何個でも立ち上げられないでしょうか。
もちろんimode.netの契約もその数だけいるでしょうが。
もしかしたら、友達と一緒に一台借りれば割り勘でいけたかな。
ただ、javaがうまく動くかわかりません。
>それも考えたのですが、アカウントが二つ無いので実験出来ないんですよね。
しかも、共有する人に自分のメールとパスワードを丸見えにするか、
相手のメールとパスワードを丸見えにするかのどちらかなので、
セキュリティのことを考えるとあまりオススメ出来ないです。
やっぱり個々で運用するのがオススメです。
>そうですね
確かにどちらにしろ教えないといけませんね
基本は個々ですね
SPモードの契約をしてるので、もしかしたらもう一つもらえるかもしれません
それからドコモのwebメールもありましたね
imotenってドコモのwebメール版もあったような
>SPモードはAndroidの端末にSPモードアプリをダウンロードしなければならないので、
Android端末を持っていない自分としては実験出来ません(-_-;)
imotenのウェブメール版は送信できないんですよね。
ちょっと使い物になんないです。
というわけで、やっぱりimotenが一番かなとw
なかなかうまくいかないもんです。
>はじめまして。くずのは様のおかげでSIMフリーiphone4s&ドコモでimotenプッシュ環境が整いました。テザもFaceTimeも一通り設定し終えてこれからというのに、もうゴール感が漂ってます・・。とにもかくにも一言お礼が言いたくお邪魔しました。有益な情報、本当に有り難うございます。
1つ、SSL化の記事で「stunnelをスタートアップに登録」箇所のコマンドをコピペしたら–の部分が大文字になっている様で、コマンドが無効になってました。小文字に直したらOKでした。小生の様なコマンドラインが宇宙語に見える人にとっては難関になりそうな事なので一応ご報告した次第です。これからもブログ楽しみにしてます。それでは。
>コメントありがとうございます。
ここにも大文字ハイフンがまじってましたか・・・すいません。
修正しました。
ローカライズされていないブログエディタ使っているせいか、見た目は半角ハイフンに見えるんですけどねぇ。
困ったもんです(-_-;)
教えていただいてありがとうございますヽ(´ー`)ノ
楽しいのはこれからですよ!w
設定も楽しいですけどね。
>お世話になります。きんちゃんと言います。
先日 SIM フリー iphone 4S を入手し、2月1日(昨日)ドコモと契約し、使い始めました。
初めての iphone なので、くずのは様のブログが大変参考になりました。
ご尽力に深く感謝します。
さて、imoten の SSL 化ですが、使うのが自分だけなら、別にオレオレ証明書でも構わない訳ですが、下記では無料でサーバー証明書を発行してもらえます。ほとんどブラウザにも対応して、個人で趣味に使う分には十分です。
https://www.startssl.com/
私はここで発行してもらった証明書を使って、気分すっきりです。:-)
まぁ、自己満足の部類ですけど。
どうぞ、今後もよろしくお願い致します。
失礼します。
>おおおお、この証明書だとWindows7でもあっさり認証されるんですかね?
それだとWebDAVで証明書を発行するのに役に立ちますよね!
貴重な情報ありがとうございますヽ(´ー`)ノ
>お世話になります。きんちゃんです。
>この証明書だとWindows7でもあっさり認証されるんですかね?
何にでも使えると思いますよ。
一番の弱点は、知名度の高いベリサインなどと違い、「おまえの証明書は本物だ」と言ってくれるのが、イスラエルは startcom という、「あんた誰なの?」という会社な事だけです。:-)
WebDAV は使ったこと無いのですが、ちょっとぐぐると、Web サーバー上のファイル管理システムのようですね。多分、apache でサーバー証明書を使うときと同様に問題ないと思います(断言は出来ません。念のため)。
ほとんど全ての主要なブラウザ、IE firefox chrome safari opera などには最初から登録されていますので、自分のホームページを https 化しても、オレオレ証明書を使った時みたいに、「このホームページが認証されていません、続けますか?」みたいな脅しが出てくることもまずありません。
なお、ここで発行してくれる証明書の有効期間は1年間です。期限切れの2週間前に更新を促すメールがやってきます(もちろん、更新も無料)。
他にもある程度の制限はありますが、1ドメインで、さくらの VPS を1台借りて運用している人なんかには必要十分でしょう。
Class 2/3 が2年間60ドル、ブラウザの URL 表示欄に緑表示で社名などを出せる Extended が2年間140ドルですので、ちょっと見栄(?)を張りたい方も検討に値するかもしれません。:-)
ちょっと、オタク知識になってしまったかもしれませんね。
お騒がせしました。失礼します。
>なるほど。
自分はMacなのでWindowsほどオレオレ証明書についてぎゃーぎゃー騒がれないんですが、
WindowsVista以降の人にとってはとてもいいかもしれませんね。
VPSの余った領域をWebDAVで使えるんで、
http://limesheep5.sakura.ne.jp/wordpress/wordpress/2011/12/imotenvpswebdav.html
の記事でも参照してWebDAVの設定をすると便利ですよ。
>こんばんは。
いつもこのブログにはお世話になっております。
質問なのですがiphoneの設定の方で入力をし、完了すると検証中となって先に進みません。
どうすれば良いでしょうか?
>すいません;
上の質問を書いた者ですが、その後サーバーの識別情報を検証できませんとでました。
どうすればいいでしょうか?
連投すいません;
>ポート番号変えました?
>はい。
きちんと465に設定しました。
>stunnelは起動してますか?
# /etc/init.d/stunnel start エンターキー
してるなら設定のどこかが間違っているんですよね。
コピペが失敗していないかとか調べてみてください。
>もう一度最初からやってみたのですが変化ないです・・・
一番最初の時の設定で一度入力に失敗して何度か同じ操作をしたのですがそれがいけなかったのでしょうか?
>何の操作を何度かしたのかわからないとなんとも言えないですけど、
# /etc/init.d/stunnel start エンターキー
をした時にどんなメッセージが返ってきますか?
>最初の入力に失敗したときはfailedと出て、気づいてなおしたあとはokと出ました。
viのところを二つとも間違えていてその時に二回ぐらい最初から最後までやりました
長々と居座ってしまい申し訳ないです・・・
>記述を直した後にstunnelをリスタートしました?
コピーアンドペーストで作業をおこなってますよね?
>リスタートは上記のスタートのコマンドでいいんでしょうか?
はい。
ですが最初の二文字程度欠けていたのでそれに気づき直しました。
>リスタートは
# /etc/init.d/stunnel restart
です。
>やってみました
okと出るのですがiPhoneでは識別情報がうんたらでできませんでした・・・
>もしかして、サーバの識別情報を検証できません ですか?
続けるってボタン無いですか?
>続けるが正解なんですか?!
>続けるをタップして処理が終了すれば成功です。
>多分ですけど。この辺の記憶が曖昧なのでw
>おお!
できました!
まさかこんな間近に問題があったなんて思いませんでした!
ありがとうございます!
>おめでとうございますヽ(´ー`)ノ
そのメッセージをど忘れしてたんですけど、やっと思い出せましたw
ありがとうございます。
書きなおしておきますw
>はじめまして。このホームページのおかげで苦労しましたが無事自宅mac miniサーバー(OS10.6.8)でimoten運用できています。
SSL化をしたいのですがmacOSでの設定がよくわかりません。サーバー認証のやり方などどこか細かい所で間違っているのかも知れません。
葛葉さんの利用しているcentOSとの変更点などもし分かりましたらお教えいただけないでしょうか?
>MachとCentじゃ大分違うっぽいですね。
色々調べてみたんですが、
OSXでのstunnelはちょっとわかんなかったです(;´Д`)
お役に立てなくて申し訳ないですm(_ _)m
>先日自宅mac miniサーバーでのimoten SSL化について質問させて頂きました。
その後stunnelについて勉強して苦労しましたがおかげさまでSSL化に成功しました。証明書の作り方からstunnelの扱いまで少しずつCentとは違っているようです。ありがとうございました。
>おお、凄いですね!
おめでとうございますヽ(´ー`)ノ
>無事にSSL化出来ました。ありがとうございます。
SSLで送信する事は出来たのですが、一つ問題があります。
設定の最後、再起同時に自動起動設定の
/sbin/chkconfig –add stunnel
を入力した際に
service stunnel does not support chkconfig
と表示されました。
試しにサーバーを再起動したところ、iPhoneからSSLでの送信が出来ませんでした。
iPhoneの設定でSSLをオフにし、ポートも587に戻すと送信可で、SSLの465にすると
「SMPTサーバーが応答しません」になってしまいます。
そこで
/etc/init.d/stunnel start
を入力し手動で起動してみると、すんなりSMTPサーバーが認識されSSL送信出来ました。
私が使っているのはDTIなのですが
SSLプログラム自動起動に設定出来ないのはどういった原因が考えられますでしょうか?
>さくらのサーバーだと/sbin/chkconfigじゃなくて、/bin/chkconfig –add stunnelかもしれません。
ちょっと試して見てください。
>ありがとうございます。
試してみましたが
-bash: /bin/chkconfig: No such file or directory
となってしまいました。
>stunnelの記述の上の方で抜けてるところないか確認して見てください。
コピーミスの可能性があります。
>コピーミスがありました!
SSL送信はちゃんと働いていたので、まさか記述ミスがあるとは思っていませんでした。
お騒がせしました。
>こんばんは。いつも参考にさせてもらっています。
この記事を見てSSL化に挑戦したのですが、最初の# cd /etc/pki/tls/certs で「そんなデレクトリないよ」と思われるメッセージが出ます。
いろいろ調べた結果、# yum -y install stunnelでstunnelをインストールする必要があるのではないかとの結論に至ったのですが間違えていませんでしょうか?
教えていただけないでしょうか。
>ああ、さくらVPSですよね?
CentOS6にはStunnelがデフォルトでインストールされていないので、
インストールが必要です。
なのでそれで合ってます。
書き換えておかないとだめだな。
ありがとうございましたヽ(´ー`)ノ
>回答ありがとうございます。
さくらVPSを使っています。早速挑戦しようと思います。
>試してみたのですが、# yum -y install stunnelの後に以下のような表示がありそのあとに進めません。どんな原因が考えられるか教えていただけないでしょうか。
Loaded plugins: fastestmirror, security
Determining fastest mirrors
epel/metalink | 4.3 kB 00:00
*epel:ftp.jaist.ac.jp
base | 3.7 kB 00:00
epel | 4.0 kB 00:00
epel/primary_db | 4.3 MB 00:00
extras | 3.5 kB 00:00
updates | 3.5 kB 00:00
updates/primary_db | 2.4 MB 00:00
Setting up Install Process
Error: Nothing to do
>続けてコメントさせていただきます。
調べてみると*epel:ftp.jaist.ac.jp とはアップデートファイルがあるという意味ではないかと思うのですが、合っているでしょうか?
>もう一度やっても同じエラー出ますか?
>2日にわけて4~5回やっても同じだったのですが、今試してみたらうまくいったような感じです。
試しにこのまま先に進んでみます。
お騒がせして申し訳ありません。あと質問に匿名を使ってしまって申し訳ありませんでした。
>あ、出来ましたか。
そりゃよかったw
>stunnelをスタートアップに登録するまではうまくいったようです。
次の/etc/init.d/stunnel startを実行ると
-bash: /etc/init.d/stunnel: No such file or directory
が出ます。
10回ぐらいやってもダメなので、また明日挑戦してみます。
>さくらだとsbinだと通らないので、
DAEMON=/usr/bin/stunnel
に書き換えて下さい。
>書き換えて
/etc/init.d/stunnel startを実行ると
-bash: /etc/init.d/stunnel: Permission denied
と出ました。
試しにiPhoneの設定をしてみたら
SMTPサーバーが応答しません。ネットワークの接続状態と送信ネットワークフィールドに正しい情報を入力したかを確認してくださいと出ました。
なんだかクエッションだらけですw