在 Linux 上調整 Plesk 符合 PCI DSS

本小節闡述如何保護您 Linux 伺服器的安全以及在 Linux 伺服器上實現 PCI DSS 合規性。

安裝軟體的最新版本

在您開始之前,需要時建議將您伺服器上所有的軟體更新到最新版本。

禁用較弱的 SSL/TLS 密碼和協定

接下來,需要運行從 Plesk 安裝目錄獲取的 PCI Compliance Resolver 工具。這將會禁用由 Plesk 管理的 web 和郵件伺服器上較弱的 SSL/TLS 密碼和協定,同時還會進行其它安裝更改。

如下運行該工具:

登入伺服器 shell。

運行以下命令:

plesk sbin pci_compliance_resolver {--enable|--disable} [<service>]

下面的值可用於 <service> 參數:

  • panel - 為 sw-cp-server (nginx for Plesk) 應用安全更改。
  • apache - 為 Apache 伺服器應用安全更改。
  • courier - 為 Courier IMAP 應用安全更改。
  • dovecot - 為 Dovecot 應用安全更改。
  • qmail - 為 qmail 應用安全更改。
  • postfix - 為 Postfix MTA 應該安全更改。
  • proftpd - 為 ProFTPd 應用安全更改。
  • all - 為上述所有已安裝的服務應用安全更改。這是預設值。

使用  --enable 選項運行該工具會將下面的安全更改應用到指定的服務:

  • 設定下列密碼:“EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EECDH+SHA256+AES128:EECDH+SHA384+AES256:EDH+SHA256+AES128:EDH+SHA256+AES256:EECDH+SHA1+AES128:EECDH+SHA1+AES256:EDH+SHA1+AES128:EDH+SHA1+AES256:EECDH+HIGH:EDH+HIGH:AESGCM+AES128:AESGCM+AES256:SHA256+AES128:SHA256+AES256:SHA1+AES128:SHA1+AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES”.
  • 在最新的作業系統版本上,設定下面的協議: "TLSv1.1 TLSv1.2"。在較早的版本上(包括 CentOS 5, 、Red Hat Enterprise Linux 5、CloudLinux 5),設定下面的協議:"TLSv1 TLSv1.1 TLSv1.2" (事實上只有 TLSv1 會在這些作業系統上工作運行)。
  • 設定 DH 參數大小為 2048。
  • 禁用 SSL/TLS 壓縮。
  • 為 Dovecot 設定 disable_plaintext_auth = yes
  • 不允許使用純文字驗證 Courier 的非加密連接。

使用  --disable 選項運行工具部分恢復使用  --enable 選項運行工具所做的更改。DH 參數大小和 SSL/TLS 壓縮設定仍保持不變,而一系列密碼和協定則恢復為預設設定(該設定包含 "TLSv1 TLSv1.1 TLSv1.2" 協議和"HIGH:!aNULL:!MD5" 密碼)。

如果您需要更改所有服務的協定和/或密碼,則可以調用 server_pref 工具(可進入此處找到使用該工具的具體詳情)。

如果您需要為某些服務設定指定參數,可手動調用  sslmng 工具:

plesk sbin sslmng --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EECDH+SHA256+AES128:EECDH+SHA384+AES256:EDH+SHA256+AES128:EDH+SHA256+AES256:EECDH+SHA1+AES128:EECDH+SHA1+AES256:EDH+SHA1+AES128:EDH+SHA1+AES256:EECDH+HIGH:EDH+HIGH:AESGCM+AES128:AESGCM+AES256:SHA256+AES128:SHA256+AES256:SHA1+AES128:SHA1+AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES" --protocols="TLSv1.1 TLSv1.2" --strong-dh --disable-tls-compression

添加選項 "--service <some_service>" 到上述命令,如果需要可更改某服務的 SSL/TLS 設定。

注意:通過 sslmng 工具所做的更改可被隨後調用 server_pref 工具或被 Plesk 更新實現的更改所覆蓋。

局限性

存在下面的局限性:

  1. 無法配置 qmail 郵件代理的協定;因此 qmail 不滿足 PCI DSS 安全標準。建議使用 Postfix。
  2. 無法通過 Plesk 工具更改 qmail 的密碼(儘管可以通過設定檔進行更改)。
  3. CentOS 5、Red Hat Enterprise Linux 5 和 CloudLinux 5 上不支援使用 TLSv1.1 和 TLSv1.2。
  4. 無法從作業系統供應商處 (CentOS 5、Red Hat Enterprise Linux 5、CloudLinux 5) 為 Apache 配置 DH 參數的大小。
  5. 沒有在 Debian 7 上為 ProFTPd、Dovecot 和 Postfix 禁用 SSL/TLS 壓縮。
禁止從外部存取 MySQL 資料庫伺服器

您還需要禁止從外部位址存取 MySQL 資料庫伺服器。要執行該操作,請使用以下命令:

plesk sbin mysqlmng --bind-address local
保護有關檔的資訊

為了減少因披露有關 Apache Web 伺服器的檔和其屬性資訊而引起的安全風險,需將 FileETag 指令添加到 Web 伺服器設定檔中。

若要進行此操作,請執行下列步驟:

  1. 打開用於編輯的 Web 伺服器設定檔:
    • 在 Debian 和 Ubuntu 上,該文件位於  /etc/apache2/plesk.conf.d/roundcube.htaccess.inc
    • 在其它 Linux 版本上,該文件位於  /etc/httpd/conf/httpd.conf
  2. 添加  FileETag MTime Size 一行並保存檔。
  3. 重啟 Web 伺服器。

在基於 Debian 包的系統上,請使用命令  /etc/init.d/apache2 restart

在基於 RPM 包的系統上,請使用命令  /etc/init.d/httpd restart

安全的 FTP 存取

若要阻止 ProFTPd 在 FTP 連接時顯示有關其版本的資訊,請如下操作:

  1. 打開用於編輯的 ProFTPd 設定檔  /etc/proftpd.conf
  2. 將以下行插入文件: ServerIdent off
  3. 保存檔。

如果您允許通過 FTP 連接您的伺服器,則必須要禁止除安全 FTPS 連接之外的所有 FTP 連接。

若只允許通過 FTPS 連接您的伺服器,請如下操作:

  1. 進入  工具與設定 > 安全性原則
  2. 勾選  僅允許安全 FTPS 連接 ( FTP 使用策略)

    Security_Policy_FTPS

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.