In fünf Schritten zum sicheren Hadoop-Cluster

Inhalt
Hadoop-Cluster sicher machen ist nicht schwer. Wir zeigen Ihnen, wie es geht.
Hadoop-Cluster sicher machen ist nicht schwer. Wir zeigen Ihnen, wie es geht.

Momentan gibt es wieder vermehrt Hacker-Angriffe auf Hadoop-Cluster. Opfer sind Anwender von Hadoop-Distributed-File-System-Installationen (HDFS). Bei den Attacken wird die Hadoop-Datenbank „geleert“. Wer seine Daten wieder haben möchte, muss Lösegeld zahlen. Schätzungsweise sind 8.000 bis 10.000 HDFS-Installationen weltweit betroffen. Dabei ist es recht einfach, seine Hadoop-Installation gegen Angriffe zu sichern. Wie das geht, zeige ich hier.

1. Verwenden Sie Kerberos für alle Hadoop Services

Kerberos ist ein Netzwerkprotokoll für eine sichere Authentifizierung für Hadoop-Cluster. Dadurch lassen sich Hadoop Services wie Spark, YARN oder HDFS inklusive der RPC-Schnittstellen und der Cluster-User sicher authentifizieren. Dabei ist es natürlich eine Selbstverständlichkeit, dass Sie sichere Passwörter und keine Standard-Ports und -User verwenden.

2. Setzen Sie Sentry ein

Wie Kerberos ist auch Sentry essentieller Bestandteil eines sicheren Hadoop Clusters. Der Authorisierungsservice stellt Zugriffsrechte für Apache Hive, Hive Metastore/HCatalog, Apache Solr, Impala und HDFS zur Verfügung. Sie sind rollenbasiert und feingranular einstellbar. Sentry stellt sicher, dass den Usern nur diejenigen Daten zur Verfügung gestellt werden, die sie auch benötigen. Wird zudem ein Account gehackt, zeigt Sentry nur eine begrenzte Menge von Daten an, sodass nicht die ganze Datenbank geleert werden kann.

Beispiel für gelöschte Hadoop-Datenbank (Quelle: http://threatgeek.typepad.com)
Beispiel für gelöschte Hadoop-Datenbank (Quelle: http://threatgeek.typepad.com)

3. Verschlüsseln Sie Ihre HDFS

Die in HDFS liegenden Informationen sind meistens sensibel. Deshalb sollten sie unbedingt geschützt werden. HDFS bringt bereits die Verschlüsselung „Transparent Encryption“ mit. Diese Technologie verschlüsselt die Daten im HDFS automatisch beim Schreiben durch die HDFS Clients und entschlüsselt sie beim Lesen. Dadurch können andere Programme die Informationen nicht auslesen oder manipulieren.

4. Verschlüsseln Sie den Traffic

TLS / SSL-Verschlüsselung ist eine weitere Methode, um Ihren Hadoop Cluster sicherer zu machen. Dadurch lässt sich nicht nur die Weboberflächen (z.B. HDFS Filebrowser der NameNode) und die REST-Schnittstellen verschüsseln, sondern auch der Netzwerk-Traffic, der beim Ausführen eines MapReduce Jobs entsteht. Das Problem ist nämlich, dass während eines MapReduce Jobs die Daten unverschlüsselt vorliegen und damit potenziell während des Datenaustauschs zwischen den einzelnen MapReduce-Phasen abgegriffen werden können. Achtung: nur von einer CA ausgestellte SSL-Zertifikate bieten wirklich Sicherheit!

5. Überwachen Sie die Audit Logs

Damit Sie einen Angriff überhaupt erkennen können, müssen Sie die Hadoop Audit Logs kontinuierlich monitoren und in der Lage sein, auf auffällige Ereignisse schnell zu reagieren. Solche Ereignisse können auffällig viele Anmeldeversuche oder ein unnormal starker Zugriff auf Datenbestände sein, die fachlich nicht zusammenhängen. Die Audit Logs befinden sich an verschiedenen Stellen, was ihre Analyse nicht gerade erleichtert. Deshalb sollten Sie eine gute Monitoring-Software verwenden, z.B. Cloudera Navigator.

Diese Artikel könnten Sie auch interessieren: