Abstimmen von Plesk auf PCI DSS unter Linux

Dieser Abschnitt beschreibt die Schritte, die Sie bei einem Linux-Server befolgen sollten, um Ihren Server zu sichern und Compliance mit PCI DSS zu gewährleisten.

Installieren der neuesten Softwareversion

Es wird empfohlen, vor der Installation die gesamte Software auf Ihrem Server so weit wie möglich auf den neuesten Stand zu bringen.

Deaktivieren schwacher SSL/TLS-Verschlüsselungen und Protokolle

Führen Sie danach das Dienstprogramm PCI Compliance Resolver aus, das Sie im Installationsverzeichnis von Plesk finden. Dadurch werden schwache SSL/TLS-Verschlüsselungen und Protokolle für Web- und E-Mail-Server, die von Plesk ausgeführt werden, deaktiviert und weitere, der Sicherheit dienende Änderungen durchgeführt.

So führen Sie das Dienstprogramm aus:

Melden Sie sich an der Server-Shell an.

Führen Sie den folgenden Befehl aus:

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

Folgende Werte können für das Argument <service> verwendet werden:

  • panel - Durchführen von Sicherheitsänderungen für sw-cp-server (nginx für Plesk).
  • apache - Durchführen von Sicherheitsänderungen für Apache server.
  • courier - Durchführen von Sicherheitsänderungen für Courier IMAP.
  • dovecot - Durchführen von Sicherheitsänderungen für Dovecot.
  • qmail - Durchführen von Sicherheitsänderungen für qmail.
  • postfix - Durchführen von Sicherheitsänderungen für Postfix MTA.
  • proftpd - Durchführen von Sicherheitsänderungen für ProFTPd.
  • all - Durchführen von Sicherheitsänderungen für alle oben beschriebenen installierten Dienste. Dies ist ein Standardwert.

Durch Ausführen des Dienstprogramms anhand der Option --enable werden folgende Sicherheitsänderungen auf die festgelegten Dienste angewendet:

  • Folgende Verschlüsselungsliste wird festgelegt: “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”.
  • Folgende Protokolle werden auf den neuesten Versionen von Betriebssystemen festgelegt: "TLSv1.1 TLSv1.2". Auf den älteren Versionen (einschließlich CentOS 5, Red Hat Enterprise Linux 5, CloudLinux 5) werden folgende Protokolle festgelegt: "TLSv1 TLSv1.1 TLSv1.2" (in Wirklichkeit funktioniert nur TLSv1 auf diesen Betriebssystemen).
  • Legt die Größe des DH-Parameters auf 2048 fest.
  • Deaktiviert SSL/TLS-Komprimierung.
  • Legt disable_plaintext_auth = yes für Dovecot fest.
  • Verhindert die Nur-Text-Authentifizierung für unverschlüsselte Verbindungen für Courier.

Durch Ausführen des Dienstprogramms anhand der Option --disable werden Änderungen zum Teil wiederhergestellt, die mit dem Dienstprogramm anhand der Option --enable ausgeführt wurden. Insbesondere bleiben die Größe des DH-Parameters und die Einstellungen der SSL/TLS-Komprimierung wie sie sind, wohingegen für die Liste der Verschlüsselungen und Protokolle der Standardsatz wiederhergestellt wird (dieser Satz enthält die Protokolle "TLSv1 TLSv1.1 TLSv1.2" und die Verschlüsselungen "HIGH:!aNULL:!MD5" ).

Wenn Sie für alle Dienste die Protokolle und/oder Verschlüsselungen ändern müssen, können Sie das Dienstprogramm server_pref aufrufen (Einzelheiten zur Verwendung des Programms finden Sie hier).

Wenn Sie für manche Dienste spezifische Parameter festlegen müssen, können Sie das Dienstprogramm sslmng Manuell aufrufen.

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

Fügen Sie zum oben stehenden Befehl die Option "--service <some_service>" hinzu und ändern Sie bei Bedarf die SSL/TLS-Einstellungen eines bestimmten Dienstes.

Hinweis: Die vom Dienstprogramm sslmng durchgeführten Änderungen können durch darauf folgendes Aufrufen des Dienstprogramms server_pref oder durch ein Plesk Update überschrieben werden.

Einschränkungen

Es bestehen folgende Einschränkungen:

  1. Die Protokolle für den Mail-Agent qmail können nicht konfiguriert werden. Daher ist qmail nicht sicher genug, um PCI DSS gerecht zu werden. Es wird empfohlen, stattdessen Postfix zu verwenden.
  2. Verschlüsselungen für qmail können nicht anhand von Plesk Dienstprogrammen geändert werden. (Jedoch können sie über die Konfigurationsdatei geändert werden).
  3. TLSv1.1 und TLSv1.2 werden unter CentOS 5, Red Hat Enterprise Linux 5 und CloudLinux 5 nicht unterstützt.
  4. Die Größe des DH-Parameters kann für Apache nicht vom Betriebssystemhersteller (CentOS 5, Red Hat Enterprise Linux 5, CloudLinux 5) verwaltet werden.
  5. SSL/TLS-Komprimierung ist unter Debian 7 für ProFTPd, Dovecot und Postfix nicht deaktiviert.
Verbieten externen Zugriffs auf den MySQL-Datenbankserver

Sie müssen auch den Zugriff auf den MySQL-Datenbankserver von externen Adressen aus verbieten. Führen Sie dazu den folgenden Befehl aus:

plesk sbin mysqlmng --bind-address local
Schützen von Dateiinformationen

Um durch das Offenlegen von Informationen zu Dateien und ihren Eigenschaften durch Apache Webserver entstehende Sicherheitsrisiken zu unterbinden, muss die Anweisung FileETag zur Konfigurationsdatei des Webservers hinzugefügt werden.

Gehen Sie dazu wie folgt vor:

  1. Öffnen Sie die Konfigurationsdatei des Webservers zur Bearbeitung:
    • Unter Debian und Ubuntu befindet diese sich hier: /etc/apache2/plesk.conf.d/roundcube.htaccess.inc.
    • Bei anderen Linux-Distributionen befindet sie sich hier: /etc/httpd/conf/httpd.conf.
  2. Fügen Sie die Zeile FileETag MTime Size hinzu und speichern Sie die Datei.
  3. Starten Sie den Webserver neu.

Führen Sie auf Systemen, die auf einem Debian-Paket basieren, folgenden Befehl aus: /etc/init.d/apache2 restart.

Führen Sie auf Systemen, die auf einem RPM-Paket basieren, folgenden Befehl aus: /etc/init.d/httpd restart.

Sichern des FTP-Zugriffs

So verhindern Sie, dass ProFTPd auf FTP-Verbindungen Informationen über seine Version anzeigt:

  1. Öffnen Sie die Konfigurationsdatei von ProFTPd zur Bearbeitung: /etc/proftpd.conf.
  2. Fügen Sie folgende Zeile in die Datei ein: ServerIdent off.
  3. Speichern Sie die Datei.

Wenn Sie FTP-Verbindungen auf Ihrem Server zulassen, müssen Sie alle FTP-Verbindungen verbieten, mit Ausnahme der sicheren FTPS-Verbindungen.

So lassen Sie nur FTPS-Verbindungen auf Ihrem Server zu:

  1. Gehen Sie zu Tools & Einstellungen > Sicherheitsrichtlinien.
  2. Wählen Sie die Option Nur sichere FTPS-Verbindungen zulassen für die FTPS-Nutzungsregelung.

    Security_Policy_FTPS