HOME / コンピュータTips / Solaris / stunnel

Date: 2017/08/24 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris opensolaris stunnel

Stunnelのインストール

Blastwave.orgのcswパッケージを利用してインストールする

pkg-get -i stunnel

クライアントとして利用

Stunnelをクライアントモードとして利用すると、次のようなことができる。

  • SSLに対応していないクライアントソフトを、SSLでしか利用できないサーバに接続する。

注意事項として、

  • 接続するクライアントコンピュータからみると、SSLで接続する先のサーバのポートがlocalhostに立っているようにみえる。
    • つまり、localhost:80(非SSL)→remote_server:443(SSL)のように見える。
  • セッションレスである

利用できるプロトコルはTCPであれば大抵可能である。

  • httpをhttpsへ
  • pop3をpop3 over sslへ
  • imap4をimap4 over sslへ
  • smtpをsmtp over sslへ

等々。

stunnel clientとssh portforwarderとの違い

全然違う技術であるが、ユーザ的には似たように見えるので整理。

利用者側からみると、次のような違いがある。

  • ssh portforwarderは、必要なときに、まずリモートサーバに接続をしなくてはならない。
  • stunnelは、クライアントに常駐し、事前処理がいらない。

あくまでもstunnenlをクライアントとして利用する話である。

ssh portforwarderstunnel
基板技術sshssl
常駐プログラムないある
事前処理利用前にリモートサーバへ接続する何もいらない
Port Listen動作時のみ動作時のみ
^利用ユーザが利用したいときのみ、起動するコンピュータが起動している間ずっと起動している。
Port 再利用接続先を変えれば良いので簡単接続先を臨機応変に変えられないので面倒

実は、最後のことが言いたかったのだが、stunnelはそれゆえ、複数のサーバに接続する環境を用意したい場合、ポート番号を浪費するしかないのだ。

クライアントモードとしてセットアップ

cswのstunnelは、下記に設定ファイルがある。

/opt/csw/etc/stunnel

stunnel.conf-sampleをコピーして、stunnel.confという名前で利用する。

Clientなのでcertはいらない。

;cert = /opt/csw/etc/stunnel/mail.pem

最初の方は、debugレベルを上げておくと良いだろう。

debug = 7

ログの書き出し先

output = /var/log/stunnel.log

クライアントモードに設定

client = yes

サーバの設定を無効にする。

;[pop3s]
;accept  = 995
;connect = 110

;[imaps]
;accept  = 993
;connect = 143

;[ssmtp]
;accept  = 465
;connect = 25

;[https]
;accept  = 443
;connect = 80
;TIMEOUTclose = 0

後は、下記に任せて、Clientモードの設定を記述する。

実行

stunnelはchrootを利用したjailを作成して起動するが、デフォルトの設定は、下記のディレクトリにnobody:nogroupでpidファイルを出力する。

そこで、

chmod o+rwx /opt/csw/var/lib/stunnel

をして、Permissionを変更。

あとは、MANIFESTはないので適当なシェルスクリプトを作り、実行しなくてはいけない。

env LD_LIBRARY_PATH=/opt/csw/lib /opt/csw/bin/stunnel

httpしか利用できないクライアントソフトをhttpsでしか受け付けないサーバに接続

一体、こんな環境は何のためにあるのか不思議であろうが、存在するのだ(笑)

利用シーンクライアントサーバ
emacsのpukiwikiモードをWikiPlusの編集用URLで利用するemacsのhttp.elWikiPlusの編集用URL

等々、結局は、何かの理由でSSLがしゃべれないClientを、SSLでしかしゃべらせたくないサーバに接続するためのものとなる。

で・・・たとえば、次のようにバインド

クライアント側(非SSL)サーバ側(SSL)
localhost:10800pro1.wikiplus.jp:443
localhost:10801basic1.wikiplus.jp:443

設定例

[wpro1]
accept  = localhost:10800
connect = pro1.wikiplus.jp:443
TIMEOUTclose = 0
[wbasic1]
accept  = localhost:10801
connect = basic1.wikiplus.jp:443
TIMEOUTclose = 0

サーバとして利用

後日、記述。


コンピュータTips/Solaris

Recent Updates

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

Nexus7 2013をMarshmallow(Android 6.0)化

OTAでない方法で。 だいたい ここに書いてある方法 なんだけど、adbなどが一式使えている状態で。 まずは自分の機種のものをダウンロードする。僕のは、 Android 6.0 Marshmallow for Nexus 7 2013 Wi-Fi 。tgzを展開し、zipも解いておく。 まずはboot loaderへ。 bootloader自体のアップデート。一式、updat …
»続きを読む

OS X 10.11 El Capitanで、phpのモジュールインストール

Yosemiteからのアップデートは割と簡単です。なぜならYosemite時に、すでにapache 2.4になり、php 5.5になっているから(笑 アップデート前に、まずはphp.iniとhttpd.confをバックアップしておきましょう きになるなら、hostsとかapache以下全てをバックアップしておいてもいいかも。 後はEl Capitanにアップデートする。 アッ …
»続きを読む

EasyAcc Powerbank PB4000CB

スマフォTips/モバイルバッテリー/モバイルバッテリー製品レビュー/EasyAcc Powerbank PB4000CB

薄型のモバイルバッテリーEasyAcc Powerbank PB4000CBです。 今や、モバイルバッテリーは大型のものが好まれるのか、隙間無く商品があります。20,000mAh越えで、「でけえ!」とか言ってますけど、大きいのを探せば、100Wh(27,000mAh)、200Wh当たり前、探せば500Wh(135,000mAh)とか、もっともっとあるのです。用途がどんどん異なっていくので …
»続きを読む

EC Technology Sports Headsets S10-JWH07B

デバイスTips/Bluetooth/EC Technology Sports Headsets S10-JWH07B

Bluetoothのスポーツヘッドセット、 S10-JWH07B について。 今までブログに記載することはなかったのですが、実は割とBluetoothと言うか無線型のヘッドフォンを沢山持っています。赤外線や独自物、Bluetoothなどいくつもストックを持っていたりします。普通の人からするとマニアです。でも、マニアからみるとそうでもないレベルです。 ただ「ヘッドフォンの音質」というの …
»続きを読む

静岡県内をVPNでつなぐ(割と特殊な例)

静岡というのはある意味特殊な土地で、ほとんどのインターネットプロバイダのPOIは静岡でつながれておらず、NTT西圏内のどこかで繋がっているので、大抵大阪折り返しになる。仮に静岡県内にPOIがあっても、だいたい静岡でルーティングしてないので、やっぱり東京折り返しになってたりする。例え 同じプロバイダを使っていたとしても 。 だから静岡←→静岡のVPNは、静岡←→東京や、静岡←→大阪よりも遅 …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初