Sicherheitsüberlegungen für SQL Server in Azure Virtual MachinesSecurity Considerations for SQL Server in Azure Virtual Machines

Dieses Thema enthält allgemeine Sicherheitsrichtlinien, die dazu beitragen sollen, den Zugriff auf SQL Server-Instanzen auf einem virtuellen Azure-Computer (VM) zu schützen.This topic includes overall security guidelines that help establish secure access to SQL Server instances in an Azure virtual machine (VM).

Azure erfüllt mehrere Branchenvorgaben und Standards, mit denen Sie eine konforme Lösung mit SQL Server auf einem virtuellen Computer erstellen können.Azure complies with several industry regulations and standards that can enable you to build a compliant solution with SQL Server running in a virtual machine. Weitere Informationen zur Einhaltung von Vorschriften durch Azure finden Sie unter Azure Trust Center.For information about regulatory compliance with Azure, see Azure Trust Center.

Hinweis

Azure verfügt über zwei verschiedene Bereitstellungsmodelle für das Erstellen und Verwenden von Ressourcen: das Resource Manager-Modell und das klassische Bereitstellungsmodell.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. Dieser Artikel behandelt die Verwendung beider Modelle, Microsoft empfiehlt jedoch für die meisten neuen Bereitstellungen die Verwendung des Ressourcen-Manager-Modells.This article covers using both models, but Microsoft recommends that most new deployments use the Resource Manager model.

Steuern des Zugriffs auf die SQL-VMControl access to the SQL VM

Wenn Sie Ihren virtuellen SQL Server-Computer erstellen, sollten Sie sorgfältig kontrollieren können, welche Personen Zugriff auf den Computer und SQL Server haben.When you create your SQL Server virtual machine, consider how to carefully control who has access to the machine and to SQL Server. Im Allgemeinen sind folgende Maßnahmen ratsam:In general, you should do the following:

  • Beschränken Sie den Zugriff auf SQL Server auf die Anwendungen und Clients, die diesen Zugriff benötigen.Restrict access to SQL Server to only the applications and clients that need it.
  • Befolgen Sie die bewährten Methoden zum Verwalten von Benutzerkonten und Kennwörtern.Follow best practices for managing user accounts and passwords.

Die folgenden Abschnitte enthalten Vorschläge dazu, wie Sie diese Punkte planen können.The following sections provide suggestions on thinking through these points.

Sichere VerbindungenSecure connections

Wenn Sie einen virtuellen SQL Server-Computer mit einem Katalogimage erstellen, können Sie bei der Option SQL Server Connectivity zwischen Lokal (nur innerhalb der VM) , Privat (innerhalb des virtuellen Netzwerks) und Öffentlich (Internet) wählen.When you create a SQL Server virtual machine with a gallery image, the SQL Server Connectivity option gives you the choice of Local (inside VM), Private (within Virtual Network), or Public (Internet).

SQL Server Connectivity

Wählen Sie für Ihr Szenario die Option mit den höchsten Einschränkungen, um die bestmögliche Sicherheit zu erzielen.For the best security, choose the most restrictive option for your scenario. Wenn Sie beispielsweise eine Anwendung ausführen, bei der auf SQL Server auf derselben VM zugegriffen wird, ist Lokal die Option mit der höchsten Sicherheit.For example, if you are running an application that accesses SQL Server on the same VM, then Local is the most secure choice. Bei Ausführung einer Azure-Anwendung, für die Zugriff auf SQL Server erforderlich ist, wird mit Privat die Kommunikation mit SQL Server nur innerhalb des angegebenen Azure Virtual Network geschützt.If you are running an Azure application that requires access to the SQL Server, then Private secures communication to SQL Server only within the specified Azure Virtual Network. Falls Sie Zugriff vom Typ Öffentlich (Internet) auf die SQL Server-VM benötigen, sollten Sie auf jeden Fall auch die weiteren bewährten Methoden in diesem Thema befolgen, um Ihre Angriffsfläche zu reduzieren.If you require Public (internet) access to the SQL Server VM, then make sure to follow other best practices in this topic to reduce your attack surface area.

Für die ausgewählten Optionen im Portal werden Sicherheitsregeln für eingehenden Datenverkehr für die Netzwerksicherheitsgruppe (NSG) der VM verwendet, um den Netzwerkdatenverkehr für Ihren virtuellen Computer zuzulassen oder zu verweigern.The selected options in the portal use inbound security rules on the VM's network security group (NSG) to allow or deny network traffic to your virtual machine. Sie können neue NSG-Regeln für eingehenden Datenverkehr ändern oder erstellen, um den Datenverkehr zum SQL Server-Port (Standard: 1433) zuzulassen.You can modify or create new inbound NSG rules to allow traffic to the SQL Server port (default 1433). Außerdem können Sie bestimmte IP-Adressen angeben, die über diesen Port kommunizieren können.You can also specify specific IP addresses that are allowed to communicate over this port.

Netzwerksicherheitsgruppen-Regeln

Zusätzlich zu NSG-Regeln zum Einschränken des Netzwerkdatenverkehrs können Sie auch die Windows-Firewall auf dem virtuellen Computer verwenden.In addition to NSG rules to restrict network traffic, you can also use the Windows Firewall on the virtual machine.

Wenn Sie Endpunkte mit dem klassischen Bereitstellungsmodell verwenden, sollten Sie alle Endpunkte auf dem virtuellen Computer entfernen, sofern Sie sie nicht nutzen.If you are using endpoints with the classic deployment model, remove any endpoints on the virtual machine if you do not use them. Weitere Informationen zur Verwendung von ACLs für Endpunkte finden Sie unter Verwalten der ACL für einen EndpunktFor instructions on using ACLs with endpoints, see Manage the ACL on an endpoint. Dies ist nicht für VMs erforderlich, für die der Resource Manager verwendet wird.This is not necessary for VMs that use the Resource Manager.

Erwägen Sie schließlich die Aktivierung von verschlüsselten Verbindungen für die Instanz der SQL Server-Datenbank-Engine auf Ihrem virtuellen Azure-Computer.Finally, consider enabling encrypted connections for the instance of the SQL Server Database Engine in your Azure virtual machine. Konfigurieren Sie die SQL Server-Instanz mit einem signierten Zertifikat.Configure SQL server instance with a signed certificate. Weitere Informationen finden Sie unter Aktivieren von verschlüsselten Verbindungen mit der Datenbank-Engine und Syntax für Verbindungszeichenfolgen.For more information, see Enable Encrypted Connections to the Database Engine and Connection String Syntax.

Verwenden eines Ports, der kein Standardport istUse a non-default port

Standardmäßig lauscht SQL Server über den bekannten Port 1433.By default, SQL Server listens on a well-known port, 1433. Konfigurieren Sie für SQL Server das Lauschen über einen Port, der nicht dem Standard entspricht, z.B. 1401, um die Sicherheit zu erhöhen.For increased security, configure SQL Server to listen on a non-default port, such as 1401. Wenn Sie ein SQL Server-Katalogimage im Azure-Portal bereitstellen, können Sie diesen Port auf dem Blatt SQL Server-Einstellungen angeben.If you provision a SQL Server gallery image in the Azure portal, you can specify this port in the SQL Server settings blade.

Hinweis

Die folgenden Screenshots stammen aus der Ressource Virtuelle SQL-Computer im Azure-Portal.The following screenshots are from the SQL virtual machines resource within the Azure portal. Für virtuelle SQL Server-Computer mit Ende des Supports (EOS) und virtuelle SQL Server-Computer, die nicht mit dem SQL-VM-Ressourcenanbieter registriert wurden, verwenden Sie die Registerkarte „SQL Server-Konfiguration“, um Ihre virtuellen SQL Server-Computer zu verwalten.For end-of-support (EOS) SQL server VMs, and SQL Server VMs that have not been registered with the SQL VM resource provider, use the SQL Server configuration tab to manage your SQL Server VM instead.

Sie haben zwei Möglichkeiten, dies nach der Bereitstellung zu konfigurieren:To configure this after provisioning, you have two options:

  • Wählen Sie für Resource Manager-VMs Sicherheit in der SQL-VM-Ressource aus.For Resource Manager VMs, you can select Security from the SQL virtual machines resource. Sie finden dort eine Option zum Ändern des Ports.This provides an option to change the port.

    Änderung des TCP-Ports im Portal

  • Für klassische virtuelle Computer oder SQL Server-VMs, die nicht über das Portal bereitgestellt wurden, können Sie den Port manuell konfigurieren, indem Sie eine Remoteverbindung mit der VM herstellen.For Classic VMs or for SQL Server VMs that were not provisioned with the portal, you can manually configure the port by connecting remotely to the VM. Informationen zu den Konfigurationsschritten finden Sie unter Configure a Server to Listen on a Specific TCP Port (Konfigurieren eines Servers für das Lauschen über einen bestimmten TCP-Port).For the configuration steps, see Configure a Server to Listen on a Specific TCP Port. Wenn Sie dieses manuelle Verfahren nutzen, müssen Sie zusätzlich eine Windows-Firewallregel hinzufügen, um eingehenden Datenverkehr für den TCP-Port zuzulassen.If you use this manual technique, you also need to add a Windows Firewall rule to allow incoming traffic on that TCP port.

Wichtig

Das Angeben eines nicht dem Standard entsprechenden Ports ist ratsam, wenn Ihr SQL Server-Port für öffentliche Internetverbindungen geöffnet ist.Specifying a non-default port is a good idea if your SQL Server port is open to public internet connections.

Wenn SQL Server über einen nicht dem Standard entsprechenden Port lauscht, müssen Sie beim Herstellen der Verbindung den Port angeben.When SQL Server is listening on a non-default port, you must specify the port when you connect. Stellen Sie sich beispielsweise ein Szenario vor, bei dem die IP-Adresse des Servers 13.55.255.255 lautet und SQL Server über Port 1401 lauscht.For example, consider a scenario where the server IP address is 13.55.255.255 and SQL Server is listening on port 1401. Zum Herstellen der Verbindung mit SQL Server geben Sie 13.55.255.255,1401 in der Verbindungszeichenfolge an.To connect to SQL Server, you would specify 13.55.255.255,1401 in the connection string.

Konten verwaltenManage accounts

Sie möchten verhindern, dass Angreifer Kontonamen oder Kennwörter leicht erraten können.You don't want attackers to easily guess account names or passwords. Beachten Sie die folgenden Tipps:Use the following tips to help:

  • Erstellen Sie ein eindeutiges lokales Administratorkonto, das nicht den Namen Administratorhat.Create a unique local administrator account that is not named Administrator.

  • Verwenden Sie komplexe, sichere Kennwörter für alle Konten.Use complex strong passwords for all your accounts. Weitere Informationen zum Erstellen eines sicheren Kennworts finden Sie im Artikel Erstellen eines sicheren Kennworts.For more information about how to create a strong password, see Create a strong password article.

  • Standardmäßig wird für Azure während des Einrichtens von virtuellen Computern mit SQL Server die Windows-Authentifizierung ausgewählt.By default, Azure selects Windows Authentication during SQL Server Virtual Machine setup. Aus diesem Grund wird beim Einrichten die SA -Anmeldung deaktiviert und ein Kennwort zugewiesen.Therefore, the SA login is disabled and a password is assigned by setup. Es wird empfohlen, die SA-Anmeldung nicht zu verwenden oder zu aktivieren.We recommend that the SA login should not be used or enabled. Verwenden Sie eine der folgenden Strategien, falls Sie eine SQL-Anmeldung benötigen:If you must have a SQL login, use one of the following strategies:

    • Erstellen Sie ein SQL-Konto mit einem eindeutigen Namen, das über eine sysadmin-Mitgliedschaft verfügt.Create a SQL account with a unique name that has sysadmin membership. Hierfür können Sie das Portal verwenden, indem Sie während der Bereitstellung die Option SQL-Authentifizierung aktivieren.You can do this from the portal by enabling SQL Authentication during provisioning.

      Tipp

      Wenn Sie die SQL-Authentifizierung während der Bereitstellung nicht aktivieren, müssen Sie den Authentifizierungsmodus manuell in SQL Server- und Windows-Authentifizierungsmodus ändern.If you do not enable SQL Authentication during provisioning, you must manually change the authentication mode to SQL Server and Windows Authentication Mode. Weitere Informationen finden Sie unter Ändern des Serverauthentifizierungsmodus.For more information, see Change Server Authentication Mode.

    • Falls Sie die SA-Anmeldung verwenden müssen, sollten Sie die Anmeldung nach der Bereitstellung aktivieren und ein neues sicheres Kennwort zuweisen.If you must use the SA login, enable the login after provisioning and assign a new strong password.

Befolgen von bewährten Methoden für lokale StandorteFollow on-premises best practices

Zusätzlich zu den in diesem Thema beschriebenen Methoden empfehlen wir Ihnen, die herkömmlichen Sicherheitsmethoden für lokale Standorte zu beachten und zu implementieren, soweit sie zutreffend sind.In addition to the practices described in this topic, we recommend that you review and implement the traditional on-premises security practices where applicable. Weitere Informationen finden Sie unter Überlegungen zur Sicherheit bei SQL Server-Installationen.For more information, see Security Considerations for a SQL Server Installation

Nächste SchritteNext Steps

Weitere Informationen zu Best Practices in Bezug auf die Leistung finden Sie unter Best Practices für die Leistung für SQL Server in Azure Virtual Machines.If you are also interested in best practices around performance, see Performance Best Practices for SQL Server in Azure Virtual Machines.

Weitere Informationen zum Ausführen von SQL Server auf virtuellen Azure-Computern finden Sie in der Übersicht zu SQL Server auf virtuellen Azure-Computern.For other topics related to running SQL Server in Azure VMs, see SQL Server on Azure Virtual Machines overview. Falls Sie Fragen zu SQL Server-VMs haben, finden Sie in den häufig gestellten Fragen weitere Informationen.If you have questions about SQL Server virtual machines, see the Frequently Asked Questions.