問題タブ [stunnel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1342 参照

ssh - 管理者によって ssh がブロックされている場合に aws EC2 インスタンスに ssh する

私は新しい AWS EC2 インスタンスを持っています。すべて自宅で問題なく動作しました。現在、大学で ssh アクセスがブロックされています。それをバイパスして ec2 インスタンスに ssh する方法を知りたかったのです。どのような方法でそれを行うことができますか? また、stunnel を使用してこれを行うにはどうすればよいですか? 解決策とともに簡単な説明をいただければ幸いです。

0 投票する
1 に答える
923 参照

php - Stunnelを使用してWebサーバーからMySQLサーバーにフォームデータを送信しますか?

ユーザーが入力できるフォームがあり、データは PHP を使用して MySQL データベースに保存されます。Apache サーバーへの接続は HTTPS で暗号化されており、MySQL データベースへの接続を暗号化したいと考えています。Apache と MySQL の両方が同じサーバー マシン上にあります。

Interweb を調べてみたところ、Stunnel が必要なようです。MySQL サーバーへの接続に標準ポートと stunnel ポートを使用するオプションが与えられているため、OpenSSL と SSL がサポートされ、サーバーでアクティブ化されます。ただし、オンラインで見つけたすべての記事は、Stunnel を使用して MySQL クライアントを外部の MySQL サーバーに接続する方法を扱っていますが、PHP を使用してローカルの MySQL サーバーに接続する方法は扱っていません。フォームが https 経由で送信されるからといって、データベースへの接続も暗号化されているとは限らないと思いますか?

MySQL への接続に使用する PHP コードは次のようになります。

これは、標準ポートを使用して正常に機能します。ただし、Stunnel ポートに変更すると、接続タイムアウト エラーが発生します。明らかに何かが欠けています。どんな助けやアドバイスも大歓迎です!ありがとう!

0 投票する
1 に答える
9532 参照

c# - SslStream クライアントが stunnel サーバーとのハンドシェイクを完了できない

私は、openssl ベースのクライアントが openssl サーバーと対話する完全に機能するシステムを持っています。各クライアントには、サーバーによって検証される独自の証明書があります。証明書は openssl (X509、pem) で生成されています。それらは自己署名されています。

SslStream に基づいてテスト クライアントを書きたいと思います。SslStream クラスのドキュメントのクライアントの例を使用しました。

SslStream クライアントがハンドシェイクを完了できません。stunnel は、クライアントが証明書を送信していないと文句を言います。これは Wireshark で確認されています (証明書の長さ: ハンドシェイク メッセージで 0)。

クライアントに次の例外が表示されます。

内部例外: 受信したメッセージが予期しないものであるか、形式が正しくありません

これは、証明書をロードする方法です。

証明書のさまざまなプロパティを取得しようとしました (例: GetSerialNumberString())。できます。Verify メソッドは false を返します。これは私が次に調査するつもりです。

SslStream のセットアップ方法は問題ではないようです (同じ結果):

認証と同じ:

SelectLocalCertificate(2回)呼び出され、証明書を返します。ValidateServerCertificate現在、呼び出されることはありません(驚いたことに)。

どうすればそれをデバッグできますか? あなたが私の問題を解決できればさらに良いです。

アップデート

ドキュメントのX509Chain の例に基づいて、チェーンの検証を実行する関数を追加しました。2 つの興味深いメッセージを含む、証明書に関するあらゆる種類の情報が表示されます。

最後に、verify を呼び出したときよりも詳しい情報はありません。

の出力はopenssl verify cert.pem異常を報告しません。

アップデート

pem から秘密鍵と証明書を抽出し、cert.pfx (pkcs12) を生成しました。個人のキー ストアに cert.pfx をインポートしても問題はありませんでした。証明書の詳細に、添付された秘密鍵を示す小さなアイコンが表示されます。

個人ストアから証明書を取得するようにクライアントを変更しました。しかし、私はまったく同じ失敗をしています。

0 投票する
1 に答える
13377 参照

php - Secure WebSocket(wss://)はFirefoxでは機能しません

動作しているWebSocketの安全でないアプリケーションがあります。しかし、私のWebサイトはhttpsを使用しており、Firefoxが接続が安全でないという事実について不平を言うのを避けるために、安全なWebSocket接続が必要です。

PhP 5.2.9のWebSocketサーバーにphp-websocket-serverを使用しているため、WebSocketセキュアを使用すると、openssl_decrypt関数でパケットを復号化できません。

そのため、wssを使用してクライアントから送信されたパケットを復号化するためにstunnelを使用しました。これを行うには、クライアントWebSocketを12345ポートにバインドし、サーバーWebSocketを54321ポートにバインドしてから、サーバーモードでstunnelを追加しました。

この構成では、私のアプリケーションはhttps+wssを介してChromeで正常に動作します。しかし、Firefoxでは、ハンドシェイク中に問題が発生し、ヘッダーにSec-WebSocket-VersionSec-WebSocket-Keyが欠落しているようです。http + wsを介してFirefoxで動作するため、わかりません。

よろしくお願いします。

編集:ポート12345に証明書の例外を追加しましたが、Firefoxにが追加されたと思うので、ハンドシェイクはうまくいきますSec-WebSocket-Key

ここでは、Firefoxで機能するヘッダーリクエスト(Chromeリクエストよりも大きい):

0 投票する
2 に答える
711 参照

node.js - Stud > HAProxy > nginx から X-forwarded-for を取得できますか?

SSL を Stud で終了し、リクエストを HAProxy に転送します。HAProxy は、それが WebSocket 接続であるかどうかを判断し、リクエストを Node.js または nginx に転送します。私が抱えている問題は、スタッドから X-forwarded-for を取得できないように見えることです。スタッド conf に write-ip を設定すると、リクエストが失敗します。

これはそのようなスタックで可能ですか?

0 投票する
2 に答える
11646 参照

haproxy - 複数のフロントエンドセクションを使用して、haproxyaclの重複を減らします

SSLを処理するstunnelでhaproxyを使用しています(そして、プロキシモードを使用してhaproxyからの元のIPを保持しています)。

ドメイン、ヘッダー、またはパスに応じて異なるバックエンドにリダイレクトするいくつかのaclテストがあります。

問題は、http経由でアクセスする場合でもhttps経由でアクセスする場合でも、これらは同じですが、構成で複製する必要があることです。重複を減らす方法はありますか?

設定例は次のとおりです。

http-inとhttps-inのポートは異なり、stunnelがプロキシプロトコルを使用してユーザーの元のIPを渡すことができるように、https-inはaccept-proxyをsepcifyする必要があります。ただし、それ以外は同一であり、常に同一である必要があります。この重複を減らす方法はありますか?(haproxy 1.5-dev)

0 投票する
0 に答える
4195 参照

django - SSL を使用した Django Runserver

ここにリストされているstunnelを介してsslでdjango runserverを使用するための指示に従おうとしています:

「runserver」を使用して非https接続と同じくらい簡単にDjangoでhttps接続をテストするにはどうすればよいですか?

しかし、何か問題があります。私は stunnel と両方の runserver をそれぞれ仮想環境で実行しています。それぞれが独自に機能しているようです。

stunnel.pem は次のようになります。

dev_https は次のようになります。

アクセスしようとすると

ここで何が起こるかです:

以下で実行される Stunnel:

これを示します:

サーバーは次のように実行されました。

ショー:

サーバーは次のように実行されました。

ショー:

最後に、ブラウザの Web ページ リクエストは、標準の chrome エラーを示します。

何を変更できるか、または何が間違っているかについてアドバイスをいただければ幸いです。ご協力ありがとうございました!

更新 私は今、このエラーメッセージを受け取っています:

0 投票する
1 に答える
4011 参照

ssl - Stunnel は非暗号化接続をサポートしていますか?

Stunnel について 1 つの質問。Stunnel をインターネットの FIX (Financial Information eXchange) ゲートウェイとして使用して、SSL 接続と非 SSL 接続の両方をサポートしたいと考えています。Stunnel は暗号化なしで実行できますか? 単純なソケットを試してみましたが、Stunnel が「無効なプロトコル」か何かを言って接続を拒否したようです。

0 投票する
1 に答える
1119 参照

apache - httpsリクエストをバックエンドサーバーに渡すためにhaproxyを作成する方法は?

負荷分散には HAproxy を使用し、SSL には Stunnel を使用しました。私はコンテナ(バックエンドサーバー)としてTomcatを使用しました。私の構成では、Stunnel + HAproxy は 1 台のマシン (ubuntu 12.04) にあり、Tomcat は別のマシンにあります。Tomcat にデプロイされた Web アプリケーションは、ログイン ページに HTTPS 要求のみを使用します。HTTPS リクエストを使用してログインしようとすると、ポート 443 でリッスンする Stunnel がリクエストを復号化し、HAproxy に転送し、HAproxy はそれを HTTP 形式の Tomcat に渡します。ログインページのTomcat構成リクエストはHTTPS形式でなければならないため、Tomcatはリクエストをリダイレクトし、HTTPS形式で同じリクエストを行うように求めます。この場合は無限ループが作成され……

HTTPS リクエストを Tomcat に渡すように HAproxy または Stunnel を設定する方法......

0 投票する
1 に答える
732 参照

node.js - stunnelの背後にあるnode.js/connectアプリケーションでreq.connection.proxySecureを設定する方法

sslターミネーション用のstunnelの後ろにnode.js/expressアプリケーションがあります。安全なセッションCookieを強制する方法がわかりません。セッションミドルウェアソースを見る:

どうやらreq.connection.proxySecureをtrueに設定する必要がありますが、その方法がわかりません。stunnelはこの「HTTP経由」で通信することになっているようですが、stunnelはヘッダーを設定できません。だから私は途方に暮れています。代わりに、セッションミドルウェアの前にカスタムミドルウェアでローカルに設定するか、どこかの接続構成変数で設定する必要がありますか?

助けてくれてありがとう