(Plesk for 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
工具(可在server_pref: Interface and System Preferences中找到使用該工具的詳情)。
如果您需要為某些服務設定指定參數,可手動調用 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 更新實現的更改所覆蓋。
局限性
存在下面的局限性:
- 無法配置 qmail 郵件代理的協定;因此 qmail 不滿足 PCI DSS 安全標準。建議使用 Postfix。
- 無法通過 Plesk 工具更改 qmail 的密碼(儘管可以通過設定檔進行更改)。
- CentOS 5、Red Hat Enterprise Linux 5 和 CloudLinux 5 上不支援使用 TLSv1.1 和 TLSv1.2。
- 無法從作業系統供應商處 (CentOS 5、Red Hat Enterprise Linux 5、CloudLinux 5) 為 Apache 配置 DH 參數的大小。
- 沒有在 Debian 7 上為 ProFTPd、Dovecot 和 Postfix 禁用 SSL/TLS 壓縮。
禁止從外部存取 MySQL/MariaDB 資料庫伺服器
您還需要禁止從外部位址存取 MySQL/MariaDB 資料庫伺服器。要執行該操作,請使用以下命令:
plesk sbin mysqlmng --bind-address local
保護有關檔的資訊
為了減少因披露有關 Apache Web 伺服器的檔和其屬性資訊而引起的安全風險,需將 FileETag 指令添加到 Web 伺服器設定檔中。
若要進行此操作,請執行下列步驟:
- 打開用於編輯的 Web 伺服器設定檔:
- 在 Debian 和 Ubuntu 上,該文件位於
/etc/apache2/plesk.conf.d/roundcube.htaccess.inc
。 - 在其它 Linux 版本上,該文件位於
/etc/httpd/conf/httpd.conf
。
- 在 Debian 和 Ubuntu 上,該文件位於
- 添加
FileETag MTime Size
一行並保存檔。 - 重啟 Web 伺服器。
在基於 Debian 包的系統上,請使用命令 /etc/init.d/apache2 restart
。
在基於 RPM 包的系統上,請使用命令 /etc/init.d/httpd restart
。
安全的 FTP 存取
若要阻止 ProFTPd 在 FTP 連接時顯示有關其版本的資訊,請如下操作:
- 打開用於編輯的 ProFTPd 設定檔
/etc/proftpd.conf
。 - 將以下行插入文件:
ServerIdent off
。 - 保存檔。
如果您允許通過 FTP 連接您的伺服器,則必須要禁止除安全 FTPS 連接之外的所有 FTP 連接。
若只允許通過 FTPS 連接您的伺服器,請如下操作:
-
進入 工具與設定 > 安全性原則 。
-
勾選 僅允許安全 FTPS 連接 ( FTP 使用策略) 。