Verschlüsseln von Daten während der Übertragung.
Sie können ein Dateisystem so mounten, dass der gesamte NFS-Datenverkehr während der Übertragung mithilfe von Transport Layer Security 1.2 (TLS) mit einer AES-256-Verschlüsselung nach Industriestandard verschlüsselt wird. TLS ist eine Reihe von kryptografischen Protokollen nach Industriestandard, die zum Verschlüsseln von Informationen verwendet werden, die über das Netzwerk ausgetauscht werden. AES-256 ist eine 256-Bit-Verschlüsselung, die für die Datenübertragung in TLS verwendet wird. Wir empfehlen, die Verschlüsselung während der Übertragung auf jedem Client einzurichten, der auf das Dateisystem zugreift.
Sie können IAM-Richtlinien verwenden, um die Verschlüsselung während der Übertragung für den Zugriff von NFS-Clients auf Amazon EFS durchzusetzen. Wenn ein Client eine Verbindung mit einem Dateisystem herstellt, evaluiert Amazon EFS die IAM-Ressourcenrichtlinie des Dateisystems, die sogenannte Dateisystemrichtlinie, zusammen mit allen identitätsbasierten IAM-Richtlinien, um die entsprechenden Zugriffsberechtigungen für das Dateisystem festzulegen, die gewährt werden sollen. Sie können den aws:SecureTransport
-Bedingungsschlüssel in der Dateisystemressourcenrichtlinie verwenden, um NFS-Clients zu zwingen, TLS zu verwenden, wenn sie eine Verbindung zu einem EFS-Dateisystem herstellen.
Anmerkung
Sie müssen die EFS-Mounting-Hilfe zum Mounten Ihrer Amazon-EFS-Dateisysteme verwenden, um die IAM-Autorisierung zum Steuern des Zugriffs mit NFS-Clients verwenden zu können. Weitere Informationen finden Sie unter Mounten mit IAM-Autorisierung im Amazon EFS – Benutzerhandbuch.
Das folgende Beispiel einer EFS-Dateisystemrichtlinie erzwingt die Verschlüsselung bei der Übertragung und weist die folgenden Merkmale auf:
Der
effect
istallow
.Das Prinzipal ist für alle IAM-Entitäten auf
*
festgelegt.Die Aktion ist auf
ClientMount
,ClientWrite
undClientRootAccess
festgelegt.Die Bedingung für die Erteilung von Berechtigungen ist auf
SecureTransport
festgelegt. Nur NFS-Clients, die TLS verwenden, um eine Verbindung zum Dateisystem herzustellen, erhalten Zugriff.{ “Version”: “2012-10-17”, “Id”: “ExamplePolicy01”, “Statement”: [ { “Sid”: “VisualEditior0”, “Effect”: “Allow”, “Principal”: { “AWS”: “*”, }, “Action”: [ “elasticfilesystem:ClientRootAccess”, “elasticfilesystem:ClientMount”, “elasticfilesystem:ClientWrite” ], “Condition”: { “Bool”: { “aws:SecureTransport”: “true” } } } ] }
Sie können eine Dateisystemrichtlinie über die Amazon-EFS-Konsole oder über die AWS CLI erstellen.
So erstellen Sie eine Dateisystemrichtlinie mit der EFS-Konsole:
Öffnen Sie die Amazon-EFS-Konsole
. Wählen Sie File Systems (Dateisysteme) aus.
Wählen Sie auf der Seite „File systems“ (Dateisysteme) das Dateisystem aus, für das Sie eine Dateisystemrichtlinie erstellen oder bearbeiten möchten. Die Detailseite für dieses Dateisystem wird angezeigt.
Wählen Sie File system policy (Dateisystemrichtlinie) und dann Edit (Bearbeiten) aus. Die Seite File system policy (Dateisystemrichtlinie) wird angezeigt.
Erstellen einer Dateisystemrichtlinie
In den Policy options (Richtlinienoptionen) empfehlen wir, dass Sie die folgenden verfügbaren vorkonfigurierten Richtlinienoptionen auswählen:
Standardmäßig den Root-Zugriff verhindern
Standardmäßig den schreibgeschützten Zugriff erzwingen
Durchsetzen der Verschlüsselung während des Transports für alle Clients
Wenn Sie eine vorkonfigurierte Richtlinie auswählen, wird das Richtlinien-JSON-Objekt im Bedienfeld Policy editor (Richtlinien-Editor) angezeigt.
Verwenden Sie Grant additional permissions (Zusätzliche Berechtigungen erteilen), um zusätzlichen IAM-Prinzipalen, einschließlich eines anderen AWS-Kontos, Dateisystemberechtigungen zu erteilen. Wählen Sie Add (Hinzufügen) aus, geben Sie dann den Prinzipal-ARN der Entität ein, für die Sie Berechtigungen erteilen, und wählen Sie dann die zu erteilenden Permissions (Berechtigungen) aus.
Verwenden Sie den Policy editor (Richtlinien-Editor), um eine vorkonfigurierte Richtlinie anzupassen oder eine eigene Richtlinie basierend auf Ihren Anforderungen zu erstellen. Wenn Sie den Editor verwenden, sind die vorkonfigurierten Richtlinienoptionen nicht verfügbar. Um die Richtlinienänderungen rückgängig zu machen, wählen Sie Clear (Löschen) aus.
Wenn Sie den Editor deaktivieren, werden die vorkonfigurierten Richtlinien wieder verfügbar.
Nachdem Sie die Richtlinie bearbeitet oder erstellt haben, wählen Sie Save (Speichern) aus.
Die Detailseite für das Dateisystem wird mit der die Richtlinie unter File system policy (Dateisystemrichtlinie) angezeigt.
Dateisystemrichtlinien können mithilfe von AWS CloudFormation auch programmgesteuert oder mit der Amazon-EFS-API direkt erstellt werden. Weitere Informationen zum Erstellen von Dateisystemrichtlinien finden Sie unter Erstellen von Dateisystemrichtlinien im Amazon EFS – Benutzerhandbuch.
Verschlüsselung von Daten bei der Übertragung einrichten
Um die Verschlüsselung von Daten während der Übertragung einzurichten, empfehlen wir, dass Sie die EFS-Mounting-Hilfe auf jedem Client herunterladen. Die EFS-Mounting-Hilfe ist ein Open-Source-Dienstprogramm, das AWS zur Vereinfachung der Verwendung von EFS bereitstellt, einschließlich Einrichten der Verschlüsselung von Daten während der Übertragung. Die Mounting-Hilfe verwendet standardmäßig die von EFS empfohlenen Mounting-Optionen.
Die EFS-Mounting-Hilfe wird auf den folgenden Linux-Distributionen unterstützt:
-
Amazon Linux 2017.09+
-
Amazon Linux 2+
-
Debian 9+
-
Fedora 28+
-
Red Hat Enterprise Linux / CentOS 7+
-
Ubuntu 16.04+
So richten Sie die Verschlüsselung von Daten bei der Übertragung ein:
Installieren Sie die EFS-Mounting-Hilfe:
-
Verwenden Sie für Amazon Linux diesen Befehl:
sudo yum install -y amazon-efs-utils
-
Für andere Linux-Distributionen laden Sie es von GitHub herunter und installieren Sie es.
Das amazon-efs-utils-Paket installiert automatisch die folgenden Abhängigkeiten: NFS-Client (nfs-utils), Netzwerk-Relay (stunnel), OpenSSL und Python.
-
-
Mounten Sie das Dateisystem:
sudo mount -t efs -o tls
file-system-id
efs-mount-point
-
mount -t efs
ruft die EFS-Mounting-Hilfe auf. -
Die Verwendung des DNS-Namens des Dateisystems oder der IP-Adresse eines Mounting-Ziels wird beim Mounting mit der EFS-Mounting-Hilfe nicht unterstützt. Verwenden Sie stattdessen die Dateisystem-ID.
-
Die EFS-Mounting-Hilfe verwendet standardmäßig die von AWS empfohlenen Mounting-Optionen. Es wird nicht empfohlen, diese Standard-Mounting-Optionen außer Kraft zu setzen, aber wir bieten die Flexibilität, dies zu gegebener Zeit zu tun. Wir empfehlen, alle Mounting-Optionsüberschreibungen gründlich zu testen, damit Sie verstehen, wie sich diese Änderungen auf den Dateisystemzugriff und die Leistung auswirken.
-
Die folgende Tabelle stellt die standardmäßigen Mounting-Optionen dar, die von der EFS-Mounting-Hilfe verwendet werden.
Option Beschreibung nfsvers=4.1 Die Version des NFS-Protokolls. rsize=1048576 Die maximale Byteanzahl der Daten, die der NFS-Client für jede Netzwerk-READ-Anforderung erhalten kann. wsize=1048576 Die maximale Byteanzahl der Daten, die der NFS-Client für jede Netzwerk-WRITE-Anforderung senden kann. hard Das Wiederherstellungsverhalten des NFS-Clients nach dem Timeout einer NFS-Anforderung, damit NFS-Anforderungen so lange wiederholt werden, bis der Server antwortet. timeo=600 Der Timeout-Wert, der angibt, wie lange der NFS-Client auf eine Antwort wartet, bis er eine NFS-Anforderung in Zehntelsekunden wiederholt. retrans=2 Die Anzahl der Anforderungswiederholungen eines NFS-Clients vor dem Versuch einer weiteren Wiederherstellungsaktion. noresvport Weist den NFS-Client an, einen neuen TCP-Quellport zu verwenden, wenn eine Netzwerkverbindung wiederhergestellt wird
-
Fügen Sie die folgende Zeile zu
/etc/fstab
hinzu, um Ihr Dateisystem nach einem Systemneustart automatisch erneut zu mounten.file-system-id
efs-mount-point
efs _netdev, tls, iam 0 0
-
Verwenden von Verschlüsselung von Daten während der Übertragung.
Wenn Ihr Unternehmen Unternehmens- oder behördlichen Richtlinien unterliegt, die eine Verschlüsselung der Daten während der Übertragung erfordern, empfehlen wir, auf jedem Client, der auf das Dateisystem zugreift, eine Verschlüsselung von Daten bei der Übertragung zu verwenden. Verschlüsselung und Entschlüsselung werden auf der Verbindungsebene konfiguriert und bieten zusätzliche Sicherheit.
Das Mounten des Dateisystems mithilfe der EFS-Mounting-Hilfe richtet einen TLS-1.2-Tunnel zwischen dem Client und Amazon EFS ein und leitet den gesamten NFS-Datenverkehr über diesen verschlüsselten Tunnel weiter. Das Zertifikat, mit dem die verschlüsselte TLS-Verbindung hergestellt wird, ist von der Amazon Certificate Authority (CA) signiert und für die meisten modernen Linux-Distributionen vertrauenswürdig. Die EFS-Mounting-Hilfe erzeugt auch einen Watchdog-Prozess, um alle sicheren Tunnel zu jedem Dateisystem zu überwachen und sicherzustellen, dass sie ausgeführt werden.
Nachdem Sie die EFS-Mounting-Hilfe verwendet haben, um verschlüsselte Verbindungen zu Amazon EFS herzustellen, sind keine weiteren Benutzereingaben oder -konfigurationen erforderlich. Die Verschlüsselung ist für Benutzerverbindungen und Anwendungen, die auf das Dateisystem zugreifen, transparent.
Nach dem erfolgreichen Mounten und Herstellen einer verschlüsselten Verbindung zu einem EFS-Dateisystem mithilfe der EFS-Mounting-Hilfe zeigt die Ausgabe eines Mounting-Befehls an, dass das Dateisystem aufgespielt ist und ein verschlüsselter Tunnel mit dem localhost (127.0.0.1) als Netzwerk-Relay eingerichtet wurde. Sehen Sie sich die folgende Beispielausgabe an.
127.0.0.1:/ on
efs-mount-point
type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20059,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)
Um einen efs-mount-point
einem EFS-Dateisystem zuzuordnen, fragen Sie die Datei mount.log in /var/log/amazon/efs
ab und suchen Sie den letzten erfolgreichen Mount-Vorgang. Dies kann mit dem folgenden einfachen grep-Befehl erfolgen.
grep -E "Successfully mounted.*
efs-mount-point
" /var/log/amazon/efs/mount.log | tail -1
Die Ausgabe dieses grep-Befehls gibt den DNS-Namen des aufgespielten EFS-Dateisystems zurück. Siehe Beispielausgabe unten.
2018-03-15 07:03:42,363 - INFO - Successfully mounted
file-system-id
.efs.region
.amazonaws.com atefs-mount-point