簡體   English   中英

Bluemix Secure Gateway-使用HTTPS和內部TLS相互認證的內部服務?

[英]Bluemix Secure Gateway - internal service using HTTPS, and TLS mutual auth outside?

我對Bluemix Secure Gateway的基礎知識很滿意,但是我看不出設置肯定是常見情況的好方法。

我的要求是:

  • 現有內部服務通過TLS提供,並且必須保持不變。 它不檢查客戶端證書,只是常規的https:// ReST API。
  • Secure Gateway管道的外部端必須檢查客戶端證書,以僅允許某些已知客戶端進行連接。

第二點是通過在Secure Gateway UI中設置目標時選擇TLS相互驗證選項來實現的。 但是,這會創建一個從客戶端應用程序(此時實際上只是一個瀏覽器)到Secure Gateway管道內部端的TLS連接。 通往內部服務的管道末端是純HTTP。 內部服務正確地拒絕了此請求,因為它期望使用HTTPS。

我可以通過配置不帶TLS的Secure Gateway來建立有效的連接,然后從客戶端瀏覽器一直到內部服務器都獲得TLS連接,但是這里的問題是Bluemix管道對所有Internet將事情扔給內部服務器,盡管我們都知道“受信任的內部網絡”應該是一個神話,但事實是,此事從未設置為面向Internet。 我想在Bluemix管道的外部阻止除我已知的客戶端以外的任何人。

我認為我需要的是一種在docker映像中運行的管道內部端與內部服務器啟動第二個TLS會話的方法。 似乎是一個明顯必要的功能,但我在文檔中找不到對此的任何引用。 還是我錯過了其他方式?

自發布此文檔以來,我已經與Bluemix開發人員之一聯系(我是IBMer-這個選項可能並非對每個人都可用:-))。 答案是當前不支持,但現在會是Real Soon Now。

我敢說會有辦法將openssl s_client或類似的東西掛接到流中,但是對我來說,受支持的版本已經足夠接近以至於不值得付出復雜性。

皮特的回答是正確的,但是由於它被否決,我將重申並添加一些信息。

當前,除非您按照建議使用No TLS選項,否則您無法連接到TLS后端。 很快,您將能夠通過所描述的設置來完成此操作,該目的地配置了TLS:從客戶端到最終目的地的相互身份驗證和TLS。

如果您確實想立即完成此操作,則可以在客戶端設置隧道以將TCP連接轉換為TLS連接。 下面的鏈接教程中提供了一個如何在node.js中建立這樣的隧道的示例,但是您可以在客戶端上創建該隧道。 使用隧道的主機/端口創建目的地,然后將隧道連接到REST API。

https://developer.ibm.com/bluemix/2015/04/17/securing-destinations-tls-bluemix-secure-gateway/

編輯:客戶端TLS現在已添加。 可以在以下位置找到此功能的文檔: https : //www.ng.bluemix.net/docs/services/SecureGateway/index-gentopic3.html#sg_011

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM