

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 升級 `stunnel`
<a name="upgrading-stunnel"></a>

使用 EFS 掛載協助程式加密傳輸中的資料需要 1`OpenSSL`.0.2 版或更新版本，以及支援線上憑證狀態通訊協定 (OCSP) 和憑證主機名稱檢查`stunnel`的 版本。EFS 掛載協助程式會將 `stunnel`程式用於其 TLS 功能。注意某些版本的 Linux 操作系統，預設下不包含 `stunnel` 支援 TLS 功能的版本。使用其中一個 Linux 發行版本時，使用 TLS 掛載 EFS 檔案系統失敗。

安裝 EFS 掛載協助程式後，您可以使用下列指示升級系統的 stunnel 版本。

**在 Amazon Linux、Amazon Linux 2 和其他支援的 Linux 發行版本 (除了 [SLES 12](#stunnel-on-sles12)) 上升級 `stunnel`**

1.  在網頁瀏覽器中，前往 `stunnel` 下載頁面 [https://www.stunnel.org/downloads.html](https://www.stunnel.org/downloads.html)。

1. 尋找以 `tar.gz` 格式提供的 `stunnel` 最新版本。請記下檔案名稱，您會需要在後續步驟中用到。

1. 開啟 Linux 用戶端的終端機，依顯示順序執行下列命令。

   1. 對於 RPM：

      ```
      sudo yum install -y gcc openssl-devel tcp_wrappers-devel
      ```

      對於 DEB：

      ```
      sudo apt-get install build-essential libwrap0-dev libssl-dev
      ```

   1. 將 *latest-stunnel-version* 取代為您在稍早步驟 2 中記下的檔案名稱。

      ```
      sudo curl -o latest-stunnel-version.tar.gz https://www.stunnel.org/downloads/latest-stunnel-version.tar.gz
      ```

   1. 

      ```
      sudo tar xvfz latest-stunnel-version.tar.gz
      ```

   1. 

      ```
      cd latest-stunnel-version/
      ```

   1. 

      ```
      sudo ./configure
      ```

   1. 

      ```
      sudo make
      ```

   1. 目前的 `stunnel` 套件已安裝在 `bin/stunnel` 中。因此，您可以安裝新版本，請使用下列命令移除該目錄。

      ```
      sudo rm /bin/stunnel
      ```

   1. 若要安裝最新版本：

      ```
      sudo make install
      ```

   1. 創建 symlink：

      ```
      sudo ln -s /usr/local/bin/stunnel /bin/stunnel
      ```

**若要在 macOS 上升級 stunnel**
+ 在 EC2 Mac 執行個體上開啟終端機，然後執行下列命令以升級至最新版本的 stunnel。

  ```
  brew upgrade stunnel
  ```<a name="stunnel-on-sles12"></a>

**在 SLES 12 上升級 stunnel**
+ 執行下列指令，並依照 zypper 套件管理員指示，在執行 SLES12 的運算執行個體上升級 stunnel。

  ```
  sudo zypper addrepo https://download.opensuse.org/repositories/security:Stunnel/SLE_12_SP5/security:Stunnel.repo
  sudo zypper refresh
  sudo zypper install -y stunnel
  ```

使用所需的功能安裝的某個版本 stunnel 後，您可以使用 TLS 掛載檔案系統與 Amazon EFS 建議的設定。

# 解決安裝 stunnel 的問題
<a name="stunnel-issues"></a>

如果您無法安裝 stunnel，請嘗試停用憑證主機名稱檢查。此外，透過啟用線上憑證狀態通訊協定 (OCSP)，盡可能提供最強大的安全性。

**Topics**
+ [停用憑證主機名稱檢查](#disable-cert-hn-checking)
+ [啟用線上憑證狀態通訊協定](#tls-ocsp)

## 停用憑證主機名稱檢查
<a name="disable-cert-hn-checking"></a>

如果您無法安裝所需的相依性，您可以在 Amazon EFS 掛載協助程式組態中選擇性地停用憑證主機名稱檢查。我們不建議您在生產環境中停用此功能。若要停用憑證主機名稱檢查，請執行下列動作：

1. 透過 Secure Shell (SSH) 存取 EC2 執行個體的終端機，並使用適當的使用者名稱登入。如需詳細資訊，請參閱 *Amazon EC2 User Guide* 中的 [Connect to your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)。

1. 使用您選擇的文字編輯器，開啟 `/etc/amazon/efs/efs-utils.conf` 檔案。

1. 將 `stunnel_check_cert_hostname` 值設為 false。

1. 將變更儲存到檔案並將其關閉。

如需使用傳輸中資料加密的詳細資訊，請參閱 [掛載 EFS 檔案系統](mounting-fs.md)。

## 啟用線上憑證狀態通訊協定
<a name="tls-ocsp"></a>

 為了在無法從 VPC 存取 CA 時，讓檔案系統可用性最大化，當您選擇加密傳輸中的資料時，線上憑證狀態通訊協定 (OCSP) 預設不會啟用。Amazon EFS 會使用 [Amazon 憑證授權](https://www.amazontrust.com)(CA) 來發行和簽署其 TLS 憑證，而 CA 則會指示用戶端使用 OCSP 檢查已撤銷的憑證。OCSP 端點必須可以透過網際網路，從您的 Virtual Private Cloud 存取，以便檢查憑證的狀態。在服務中，Amazon EFS 會持續監控憑證狀態，並發行新憑證來取代偵測到的任何已撤銷憑證。

為了盡可能提供最強的安全，您可以啟用 OCSP，讓您的 Linux 用戶端可以檢查已撤銷憑證。OCSP 可保護不受惡意使用已撤銷憑證的危害，雖然這種情況在您的 VPC 中極為罕見。如果撤銷 EFS TLS 憑證，Amazon 會發佈安全公告，並發行拒絕撤銷憑證的 EFS 掛載協助程式新版本。

**在您的 Linux 用戶端上針對所有未來與 EFS 的 TLS 連線啟用 OCSP**

1. 在您的 Linux 用戶端上開啟終端機。

1.  使用您選擇的文字編輯器，開啟 `/etc/amazon/efs/efs-utils.conf` 檔案。

1.  將 `stunnel_check_cert_validity` 值設為 true。

1.  將變更儲存到檔案並將其關閉。

**在 `mount` 命令中啟用 OCSP**
+  在掛載檔案系統時，使用以下掛載命令啟用 OCSP。

  ```
         $ sudo mount -t efs -o tls,ocsp fs-12345678:/ /mnt/efs
  ```