![安全地打開端口](https://rvso.com/image/761003/%E5%AE%89%E5%85%A8%E5%9C%B0%E6%89%93%E9%96%8B%E7%AB%AF%E5%8F%A3.png)
我正在運行一個網路應用程序,該應用程式應該只有少數配備平板電腦的人才能訪問。它在 ISP 路由器後面的本地網路上的伺服器的連接埠 80 上提供服務。
問題是:如何確保授權使用者可以存取而其他使用者無法存取它?非授權使用者應以連線重置結束,就像連接埠未開啟一樣。
我想過在路由器上打開一個端口,將其重定向到伺服器並使用證書保護它,但這可能嗎?
另一個解決方案可能是安裝 VPN,但對於某些用戶來說管理起來可能太困難。
答案1
有很多方法可以解決這個問題,但正確的方法取決於您擁有哪些其他安全機制。例子:
- 客戶證書。這是很有可能的,除非您想使用通常未加密的連接埠 80。您需要重新配置您的網頁伺服器或在其前面放置一個代理,但這當然是可能的。這裡描述如何使用 Apache,https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html#allclients
- 在網路層級(即在防火牆中)按 IP 或 MAC 位址進行過濾。
- 正如您所提到的,使用 VPN。這對於用戶來說是相當透明的。
- 檢查 Web 伺服器上或其前面的代理程式上的驗證標頭。
毫無疑問還有更多。其中一些不適合,除非您有額外的身份驗證方法,例如 MAC 位址很容易被欺騙。如果您放寬對網路連接埠顯示為關閉的要求,則其他選項將變得可用,因為許多身份驗證方法只有在連接埠開啟後才能運作。
答案2
你的問題有點籠統。您可以執行以下一項或多項操作:
- 需要有效的使用者名稱/密碼才能存取您的網路應用程式。這可以在應用程式層級或 Web 伺服器層級(例如:apache2)完成。
- 透過配置防火牆來保護對此 IP/連接埠的存取。僅允許特定 IP。其他人則被否認。這需要您取得使用者的 IP 清單。
- 將使用者從 http(連接埠 80)重定向到 https(連接埠 443)以防止中間人攻擊等攻擊。
- 保持伺服器存取的私密性,並將使用者流量傳輸到您的網路(需要身份驗證的 VPN 解決方案之一)。