Bâtiment de cluster Hadoop est un processus étape par étape où le processus commence par l’achat des serveurs requis, le montage dans le rack, le câblage, etc. et le placement dans le centre de données. Ensuite, nous devons installer le système d’exploitation, cela peut être fait en utilisant kickstart dans l’environnement en temps réel si la taille du cluster est grande. Une fois le système d’exploitation installé, nous devons préparer le serveur pour l’installation d’Hadoop et nous devons préparer les serveurs conformément aux politiques de sécurité de l’organisation.

Demandes

Dans cet article, nous allons passer en revue les pré-requis au niveau du système d’exploitation recommandés par Cloudera. En outre, nous avons mis en évidence quelques conseils importants sur le renforcement de la sécurité selon le Benchmark CIS pour les serveurs de production. Ces durcissements de sécurité peuvent être différents selon les besoins.

Configuration des prérequis Cloudera Hadoop

Ici, nous discuterons des pré-requis au niveau du système d’exploitation recommandés par Cloudera.

1. Désactivez la grande page transparente

Par défaut, Grande page transparente (THP) est activé sur les machines Linux qui interagissent mal avec Hadoop charges de travail et cela dégrade les performances globales de Cluster. Nous devons donc désactiver cela afin d’obtenir des performances optimales en utilisant les éléments suivants commande echo.

# echo never > /sys/kernel/mm/transparent_hugepage/enabled 
# echo never > /sys/kernel/mm/transparent_hugepage/defrag 
Désactiver La Grande Page Transparente
Désactiver La Grande Page Transparente

2. Modifier la permutation des VM

Par défaut, le vm.swappiness La valeur est 30 ou 60 pour la plupart des machines Linux.

Publicité
# sysctl vm.swappiness
Vérifier La Permutation Des Vm
Vérifier La Permutation Des Vm

Avoir une valeur plus élevée de swappiness n’est pas recommandé pour Hadoop serveurs, car cela peut entraîner de longues pauses de récupération de place. Et, avec la valeur de swappiness plus élevée, les données peuvent être mises en cache pour permuter la mémoire même si nous avons suffisamment de mémoire. Réduire la valeur de permutation peut faire en sorte que la mémoire physique contienne plus de pages de mémoire.

# sysctl vm.swappiness=1

Ou, vous pouvez ouvrir le fichier /etc/sysctl.conf et ajouter "vm.swappiness=1" à la fin.

vm.swappiness=1

3. Désactivez le pare-feu

Chaque serveur Hadoop aura sa propre responsabilité avec plusieurs services (démons) fonctionnant là-dessus. Tous les serveurs communiqueront entre eux de manière fréquente à des fins diverses.

Par exemple, Datanode enverra un battement de cœur à Namenode toutes les 3 secondes afin que Namenode s’assurera que le Datanode est vivant.

Si toutes les communications se produisent entre les démons sur différents serveurs via le pare-feu, ce sera un fardeau supplémentaire pour Hadoop. Il est donc recommandé de désactiver le pare-feu dans les serveurs individuels du cluster.

# iptables-save > ~/firewall.rules
# systemctl stop firewalld
# systemctl disable firewall
Désactiver Le Pare-Feu
Désactiver Le Pare-Feu

4. Désactivez SELinux

Si nous gardons le SELinux activé, cela causera des problèmes lors de l’installation Hadoop. Comme Hadoop est un cluster computing, Gestionnaire Cloudera atteindra tous les serveurs du cluster pour installer Hadoop et ses services et il créera les répertoires de services nécessaires chaque fois que nécessaire.

Si SELinux est activé, il ne permettra pas à Cloudera Manager de diriger l’installation comme il le souhaite. Ainsi, l’activation de SELinux sera un obstacle pour Hadoop et entraînera des problèmes de performances.

Vous pouvez vérifier l’état de SELinux en utilisant la commande ci-dessous.

# sestatus
Vérifier L'État De Selinux
Vérifier L&Rsquo;État De Selinux

Maintenant, ouvrez le / etc / selinux / config fichier et désactiver SELINUX comme montré.

SELinux=disabled
Désactiver Selinux
Désactiver Selinux

Après avoir désactivé SELinux, vous devez redémarrer le système pour le rendre actif.

# reboot

5. Installez les services NTP

Dans Cluster Hadoop, tous les serveurs doivent être Temps synchronisé pour éviter les erreurs de décalage d’horloge. le RHEL / CentOS 7 est ayant chronyd intégré pour la synchronisation de l’horloge / de l’heure du réseau, mais Cloudera recommande d’utiliser NTP.

Nous devons installer NTP et configurez-le. Une fois installé, arrêtez ‘chronyd‘et désactiver. Parce que, si un serveur ayant les deux ntpd et chronyd en cours d’exécution, Cloudera Manager envisagera chronyd pour la synchronisation de l’heure, cela générera une erreur même si nous avons synchronisé l’heure via ntp.

# yum -y install ntp
# systemctl start ntpd
# systemctl enable ntpd
# systemctl status ntpd
Vérifier L'État Du Ntp
Vérifier L&Rsquo;État Du Ntp

6. Désactivez Chronyd

Comme nous l’avons mentionné ci-dessus, nous n’avons pas besoin chronyd actif comme nous l’utilisons ntpd. Vérifiez l’état de chronyd, s’il est en cours d’exécution, arrêtez et désactivez. Par défaut, chronyd est arrêté à moins que nous ne le démarrions après l’installation du système d’exploitation, il suffit de le désactiver pour un côté plus sûr.

# systemctl status chronyd
# systemctl disable chronyd
Désactiver Chronyd
Désactiver Chronyd

7. Définissez le nom de domaine complet (nom de domaine complet)

Nous devons définir le nom d’hôte avec FQDN (Nom de domaine complet). Chaque serveur doit avoir un nom canonique unique. Pour résoudre le nom d’hôte, nous devons soit configurer le DNS, soit / etc / hosts. Ici, nous allons configurer / etc / hosts.

L’adresse IP et le FQDN de chaque serveur doivent être saisis dans / etc / hosts de tous les serveurs. Alors seulement Gestionnaire Cloudera peut communiquer tous les serveurs avec son nom d’hôte.

# hostnamectl set-hostname master1.tecmint.com

Ensuite, configurez / etc / hosts fichier. Par exemple: – Si nous avons un cluster de 5 nœuds avec 2 maîtres et 3 travailleurs, nous pouvons configurer le / etc / hosts comme ci-dessous.

Configurer Les Noms D'Hôte
Configurer Les Noms D&Rsquo;Hôte

8. Installation d’un kit de développement Java (JDK)

Comme Hadoop est constitué de Java, tous les hôtes devraient avoir Java installé avec la version appropriée. Ici nous allons avoir OpenJDK. Par défaut, Gestionnaire Cloudera va installer OracleJDK mais, Cloudera recommande d’avoir OpenJDK.

# yum -y install java-1.8.0-openjdk-devel
# java -version
Vérifier La Version Java
Vérifier La Version Java

Sécurité et renforcement Hadoop

Dans cette section, nous allons aborder la sécurité de l’environnement Harden Hadoop…

1. Désactivez le montage automatique

Montage automatique ‘autofs‘permet le montage automatique de périphériques physiques tels que USB, CD / DVD. Les utilisateurs disposant d’un accès physique peuvent connecter leur clé USB ou tout autre support de stockage pour accéder aux données d’insertion. Utilisez les commandes ci-dessous pour vérifier s’il est désactivé ou non, sinon le désactiver.

# systemctl disable autofs
# systemctl is-enabled autofs
Désactiver Le Montage Automatique
Désactiver Le Montage Automatique

2. Paramètres de démarrage sécurisé

le ver Le fichier de configuration contient des informations critiques sur les paramètres de démarrage et les informations d’identification pour déverrouiller les options de démarrage. Le fichier de configuration grub ‘grub.cfg‘ situé à / boot / grub2 et il a été lié comme /etc/grub2.conf et assurer grub.cfg appartient à l’utilisateur root.

# cd /boot/grub2
Vérifier Les Fichiers Grub
Vérifier Les Fichiers Grub

Utilisez la commande ci-dessous pour vérifier Uid et Gid sont les deux 0 / racine et ‘groupe‘ ou ‘autre‘ne devrait avoir aucune permission.

# stat /boot/grub2/grub.cfg
Vérifier Les Statistiques Du Fichier Grub
Vérifier Les Statistiques Du Fichier Grub

Utilisez la commande ci-dessous pour supprimer les autorisations des autres et du groupe.

# chmod og-rwx /boot/grub2/grub.cfg
Supprimer L'Autorisation Du Fichier Grub
Supprimer L&Rsquo;Autorisation Du Fichier Grub

3. Définissez le mot de passe du chargeur de démarrage

Ce paramètre évite tout autre redémarrage non autorisé du serveur. c’est-à-dire qu’il nécessite un mot de passe pour redémarrer le serveur. S’il n’est pas défini, les utilisateurs non autorisés peuvent démarrer le serveur et apporter des modifications aux partitions de démarrage.

Utilisez la commande ci-dessous pour définir le mot de passe.

# grub2-mkpasswd-pbkdf2
Créer Le Mot De Passe Du Chargeur De Démarrage
Créer Un Mot De Passe De Chargeur De Démarrage

Ajoutez le mot de passe créé ci-dessus à /etc/grub.d/01_users fichier.

Ajouter Le Mot De Passe Grub Au Fichier
Ajouter Le Mot De Passe Grub Au Fichier

Ensuite, générez à nouveau le fichier de configuration grub.

# grub2-mkconfig > /boot/grub2/grub.cfg
Générer La Configuration Grub
Générer La Configuration Grub

4. Retirez l’outil Prelink

Prelink est un logiciel qui peut augmenter la vulnérabilité d’un serveur si des utilisateurs malveillants peuvent compromettre des bibliothèques courantes telles que libc.

Utilisez la commande ci-dessous pour le supprimer.

# yum remove prelink

5. Désactivez les services indésirables

Nous devrions envisager de désactiver certains services / protocoles pour éviter des attaques potentielles.

# systemctl disable <service name>
  • Désactiver les services réseau – Assurez-vous que les services réseau – les frais, la journée, l’élimination, l’écho, l’heure ne sont pas activés. Ces services réseau sont destinés au débogage et aux tests, il est recommandé de les désactiver, ce qui peut minimiser l’attaque à distance.
  • Désactiver TFTP et FTP – Le protocole ne prendra pas en charge la confidentialité des données ou des informations d’identification. Il est préférable de ne pas avoir dans le serveur à moins que cela ne soit explicitement requis. La plupart de ces protocoles sont installés et activés sur les serveurs de fichiers.
  • Désactiver DHCP – DHCP est le protocole qui attribuera dynamiquement l’adresse IP. Il est recommandé de désactiver sauf s’il s’agit d’un serveur DHCP pour éviter les attaques potentielles.
  • Désactiver HTTP – HTTP est le protocole qui peut être utilisé pour héberger du contenu Web. Outre les serveurs maîtres / de gestion (où l’interface utilisateur Web des services doit être configurée comme CM, Hue, etc.), nous pouvons désactiver HTTP sur d’autres nœuds de travail, ce qui peut éviter les attaques potentielles.

Sommaire

Nous avons passé en revue la préparation du serveur qui consiste en Pré-requis Cloudera Hadoop et un certain renforcement de la sécurité. Les prérequis au niveau du système d’exploitation définis par Cloudera sont obligatoires pour une installation fluide de Hadoop. Habituellement, un script de durcissement sera préparé avec l’utilisation du Benchmark CIS et utilisé pour auditer et corriger les non-conformités en temps réel.

Dans une installation minimale de CentOS / RHEL 7, seules les fonctionnalités / logiciels de base sont installés, cela évitera les risques et vulnérabilités indésirables. Même s’il s’agit d’une installation minimale, plusieurs itérations d’audit de sécurité seront effectuées avant d’installer Hadoop, même après la création du cluster, avant de déplacer le cluster en opération / production.

.

Rate this post
Publicité
Article précédentDigimon Adventure devient un succès surprise au box-office chinois
Article suivantLes actionnaires d’Apple ont accusé Tim Cook d’avoir caché des informations sur la baisse de la demande d’iPhone
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici