iT邦幫忙

1

內部IP 如何實現https(SSL)

  • 分享至 

  • xImage

請問各位大大:

我公司有一個內部系統, 現在系統連結是 http://192.168.1.101.
請問如何令此系統可以用https去瀏覽?
是否需要申請SSL證書?

無限感激

1. 要先有內部的 FQDN例如 eip.XXX.local
2. 要先有內部的CA 例如 ca.XXX.local
3. 網站跟內部的CA申請並安裝內部憑證
4. 瀏覽器會顯示有SSL,但只是最初級的而已
如果網站要對外,才會有樓下幾位神人說的要跟外部機構申請
不然沒那麼複雜
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
納貝
iT邦新手 1 級 ‧ 2021-05-18 11:35:07
最佳解答

三種方法

  1. 直接把HTTP (port 80) 改到 HTTPS (port 443)來用,不需要任何SSL cert
    在防火牆上用port mapping也行,virtual server也行, linux tomcat就直接在config裡面改,IIS也是直接改成https直接用就好,不用import任何cert
    警告:用這種方式的話瀏覽器會出現警告說這個網站的cert無效,有可能不給你正常瀏覽,不過可以靠瀏覽器的進階設定繞過瀏覽器安全機制

  2. 自己用工具創建SSL cert, 又叫self-signed certification或, 網上工具超多,例如
    aws certificate manager
    Letsencrypt
    cert+
    digicert certcentral
    openSSL
    SSLs
    工具太多太多了,因為不是什麼高科技的東西,做好cert之後你手上會有
    Cert Request
    private key
    public key
    Root CA (intermedia CA)
    這四種東西,每種都有格式的區別,要看你是哪種plaform載體
    警告:用這種方式的話瀏覽器會出現警告說這個網站的cert無效,有可能不給你正常瀏覽,不過可以靠瀏覽器的進階設定繞過瀏覽器安全機制

  3. 就是真的去買一個真的cert了

看更多先前的回應...收起先前的回應...
boy1010 iT邦新手 5 級 ‧ 2021-05-18 11:49:24 檢舉

多謝如此詳細的回答.
如果我這個系統有PC版本和手機APP版本.

PC版本我想直接在內部用這個連結 https://192.168.1.101:8001, 只允許內部連接, 不能在外面連接

手機APP版本, 我需要給公司員工在外面工作的時候可以使用, 所以我會申請一個SSL證書給它
手機APP版本的連接 https://abc.com:8002

請問可以這樣操作嗎?

謝謝

納貝 iT邦新手 1 級 ‧ 2021-05-18 12:25:39 檢舉

以稽核的角度看的話,外部的作法完全沒問題,然後你內部的作法有做到"僅允許內部使用"跟"使用HTTPS加密"這兩樣,我覺得如果是書面上要符合安全規範是已經做到了。但是如果遇到一個真的在意傳輸安全性的稽核真要挑你毛病也不是沒有,例如
既然你都有購買正式SSL cert了,為何不在內部的HTTPS裡也import進去?
你要去改內部user瀏覽器的安全設定(降低安全性),才能讓user正常存取到系統,這個有點安全疑慮。

不管怎麼說,要實施多少安全規範,全看你的系統的價值、還有你公司願意付出多少成本去做,是一種商業決定,沒有什麼絕對答案的

納貝 iT邦新手 1 級 ‧ 2021-05-18 12:27:55 檢舉

另外8002的port在某些公用wifi環境,他預設是被阻擋的

boy1010 iT邦新手 5 級 ‧ 2021-05-18 13:39:31 檢舉

我買的SSL證書是給外部域名 abc.com用的, 也可以import到內部IP 192.168.1.101用嗎?

納貝 iT邦新手 1 級 ‧ 2021-05-18 14:05:49 檢舉

不做另外的設定,而直接import的話,你user瀏覽器上會被警告這是一個無效的cert, 因為瀏覽器會發現正在連線的域名跟其自帶的cert的名字不同 (連上的是192.168.1.101, cert卻是abc.com)。

如果想內部用這個abc.com的cert的話,需要搭配DNS server 或者host table一起用
例如內部user 改成用 網域名abc.com去存取系統,然後你內部的DNS record就把abc.com指向192.168.1.101,這樣就可以符合瀏覽器的安全規範而不會出警告了。

那如果內部userPC想走外網去存取system怎麼辦?
當你內部user的PC需要經外部網站存取系統的時候,就要把這台DNS server改去一個外部DNS server (例如最出名的8.8.8.8)去拿真實IP, 或是在user pc加一條host table recordy走外部網路。

納貝 iT邦新手 1 級 ‧ 2021-05-18 14:11:25 檢舉

另外 你192.168.1.101 的網站服務,必須要是"default website"的設定!!
也就是任何進來的請求,如果沒有指名要找哪個網站名,就一律顯示這個系統網站。因為當你有複數網站在一台server的玩法又不同了,講太多怕你搞混,先保留

boy1010 iT邦新手 5 級 ‧ 2021-05-18 16:38:32 檢舉

感謝回答, 非常詳盡和實用

2
dscwferp
iT邦高手 1 級 ‧ 2021-05-18 13:58:41

內部是可以用 SSL 的!
只要
內部DNS SERVER設定好A對應, 比如 www.ccc.com.tw 對應 192.168.1.101
內部電腦的DNS設定是內部DNS SERVER
就可以用
https://www.ccc.com.tw 連到 https://192.168.1.101
跟在外面連一樣!

boy1010 iT邦新手 5 級 ‧ 2021-05-18 16:39:05 檢舉

感謝回答, 非常實用

0
supercjlee
iT邦新手 5 級 ‧ 2023-06-21 16:10:49

建議去Google一下traefik看看!

我要發表回答

立即登入回答