# 暗黑穿牆術 如何在受(防火牆)限制的環境下提供服務 --- ## 基本概念介紹 ---- ### 防火牆 * 限制連入連出 * 在這裡以限制 IP:port 的類型為主 ![](https://upload.wikimedia.org/wikipedia/commons/5/5b/Firewall.png) <span style='font-size: 20%;'> Bruno Pedrozo - Feito por mim, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=2864257 </span> ---- ### 穿牆層級 - L4(應用層):SSH、其他程式 - L3:VPN - L2:*略* - L1:*物理穿牆* ---- 穿牆方法 * 開洞(建立 Tunnel) * Proxy * Relay --- ### SSH Tunnel 透過 SSH 協定轉送來自其他 port 的流量(TCP) ---- #### 適用情境 * 其他 port 被封鎖 * 任何一方的機器有開放 SSH * Public IP ---- #### Tunnel 類型 * Local * 遠端服務映射至本機 Port * Remote * 本機服務映射至遠端 Port * Dynamic * SOCKS Proxy ---- <div style='background-color: white;'> ![](https://upload.wikimedia.org/wikipedia/commons/d/d3/Ssh-R-tunnel.svg) </div> <span style='font-size: 20%;'> https://commons.wikimedia.org/wiki/File:Ssh-R-tunnel.svg </span> ---- #### Local Tunnel 將遠端主機的服務透過隧道對應到本機,常用於連回 Lab 進行開發 ``` ssh -L <local port>:<target ip>:<target port> user@domain ``` * `<local port>`: 本機提供的埠口 * `<target ip>:<target port>`: 要連線到的遠端主機 IP 與對應埠口 * 可以將其作為跳板連接 * 例:無線路由器 Web UI (192.168.0.1:80) ---- #### Remote Tunnel 將本機的流量透過隧道傳輸到遠端主機,常用於需要公開 Demo 時 ``` ssh -R <target port>:<local ip>:<local port> user@domain ``` * `<target port>`: 遠端主機服務的埠口 * `<local ip>:<local port>`: 要連線到的本機 IP 與對應埠口 ---- #### Dynamic Tunnel 動態意指不是從固定伺服器的流量,通常當 Proxy 使用 ``` ssh -D <port> user@domain ``` * `<port>`: 要對應到的本機埠口 接著就可以將 Client 設定 SOCKS 連線使用 Proxy --- 以上前提是必須**其中一端有 Public IP** ---- 沒有的話...... 需要 Relay Server(透過有公開 IP 的中間人) * A <---> B * A <---> Relay <---> B --- #### 相關服務與軟體 * [ngrok](https://ngrok.com) * [cloudflare tunnel](https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/) --- #### 長期跨域內網? * VPN * Wireguard * SSL VPN: OpenVPN --- #### 更多 * **軟體:Tor** * L3: Wireguard * L2: ZeroTier --- ### Tor 簡介 深層網路之一、暗網的入口 ---- #### 網路分層概念 ![](https://upload.wikimedia.org/wikipedia/commons/c/c9/Surface_Web_%26_Deep_Web.jpg =50%x) <span style='font-size: 20%;'> Chiaerae - Surface web and Deep web explained with iceberg chart, https://en.wikipedia.org/wiki/Deep_web#/media/File:Surface_Web_&_Deep_Web.jpg </span> ---- #### Tor 洋蔥路由 - 全名「The Onion Router」 - 多個節點與加密技術 - 核心軟體類似於 VPN ![](https://upload.wikimedia.org/wikipedia/commons/1/15/Tor-logo-2011-flat.svg) <span style='font-size: 20%;'> The Tor Project, Inc., https://commons.wikimedia.org/wiki/File:Tor-logo-2011-flat.svg </span> ---- #### Tor 專用網域後綴 - `.onion` - 網域名為演算法自動計算生成 - 基本上不可自行取名 ---- #### 主要應用:[Tor 瀏覽器](https://www.torproject.org/zh-TW/download/) - Firefox 修改而成 - 搭配 Tor 可瀏覽其中網頁 ![](https://upload.wikimedia.org/wikipedia/commons/c/c9/Tor_Browser_icon.svg =20%x) <span style='font-size: 20%;'> The Tor Project, Inc., CC BY-SA 4.0, https://commons.wikimedia.org/wiki/File:Tor_Browser_icon.svg </span> ---- #### 其他應用:[OnionShare](https://onionshare.org) - 點對點檔案分享 - 建立簡易網站 - 臨時聊天室 --- ### Tails - 注重安全與隱私的作業系統 - 網路預設開啟 Tor --- ### Demo(?) --- ## END <style> :root { --r-background-color: #0a2f0f; --r-main-color: #8892b0; --r-heading-color: #ccd6f6; --r-link-color: #63ffb4; --r-link-color-hover: rgb(150,255,200); } </style>
{"metaMigratedAt":"2023-06-18T02:27:18.170Z","metaMigratedFrom":"YAML","title":"暗黑穿牆術","breaks":true,"contributors":"[{\"id\":\"640dcc6d-b761-4cd0-95c7-20bb26add618\",\"add\":3518,\"del\":296}]"}
    104 views