Hadoop 預備條件設定和安全加固


在設定 Hadoop 之前,您必須滿足特定的要求並實施安全加固措施。首先安裝必要的軟體先決條件,例如 Java 開發工具包 (JDK) 和安全外殼 (SSH)。在建立網路設定之前,請驗證 DNS 解析和防火牆規則是否準確。然後,透過為 Hadoop 服務建立使用者帳戶並分配適當的許可權,確保訪問安全。透過啟用基於 Kerberos 的身份驗證和授權系統以及為安全通訊設定 SSL/TLS,來加強 Hadoop 的安全性。為了進一步保護儲存在 Hadoop 叢集中的敏感資料,請定期更新安全補丁並實施嚴格的訪問控制。

使用的方法

  • 手動安裝。

  • Hadoop 發行版和部署工具。

手動安裝

手動安裝涉及在配置 Hadoop 預備條件和實施安全加固的上下文中,在 Linux 系統上直接執行必要的步驟。使用包管理器安裝必要的軟體依賴項,如 JDK 和 SSH。編輯配置檔案以更改網路設定、DNS 解析和防火牆規則。設定 SSH 訪問並建立具有適當許可權的 Hadoop 服務使用者帳戶。安裝和配置必要的軟體包將啟用 Kerberos 等身份驗證和授權系統。透過建立和安裝 SSL/TLS 證書,您可以保護通訊安全。為了保護儲存在 Hadoop 叢集中的關鍵資料,請使用嚴格的訪問規則並定期安裝安全修補程式。透過手動安裝,設定過程可以更靈活,並且您可以更好地控制。

演算法

  • 安裝軟體依賴項 

  • 使用包管理器(例如 apt 或 yum)安裝 JDK 和 SSH 以及其他必要的軟體依賴項。

sudo apt update
sudo apt install openjdk-8-jdk ssh
  • 調整網路設定 

  • 編輯所需的網路配置檔案以根據您的網路環境調整 DNS 解析和防火牆規則。

sudo apt update
sudo apt install openjdk-8-jdk ssh
  • 建立使用者帳戶 

  • 可以使用“useradd”命令為 Hadoop 服務(如 HDFS 和 YARN)建立使用者帳戶。

  • 為了提供安全的訪問並根據需要限制許可權,請為使用者帳戶設定正確的許可權。

sudo useradd -m -s /bin/bash hadoop_user
  • 建立 SSH 訪問 

    可以使用“ssh-keygen”命令生成 SSH 金鑰對。

  • 將每個 Hadoop 服務使用者的公鑰複製到 authorized_keys 檔案中,以提供安全的 SSH 訪問。

ssh-keygen -t rsa -b 4096
  • 應新增 Hadoop 使用者的 authorized_keys 檔案。

cat ~/.ssh/id_rsa.pub >> /home/hadoop_user/.ssh/authorized_keys
  • 啟用身份驗證和授權 

  • 為了啟用安全的使用者身份驗證,請安裝和設定 Kerberos 或其他身份驗證系統。

  • 設定訪問控制策略以實施使用者許可權限制並執行授權。

sudo apt install krb5-user

透過編輯 krb5.conf 檔案配置 Kerberos 

sudo nano /etc/krb5.conf
  • 為安全通訊建立 SSL/TLS 

  • 對於 Hadoop 服務,使用 OpenSSL 等軟體建立 SSL/TLS 證書。

  • 在配置所需的 Hadoop 元件以允許安全通訊之前,請安裝授予的證書。

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem

Hadoop core-site.xml 的示例配置 

<property>
   <name>hadoop.ssl.enabled</name>
   <value>true</value>
</property>
<property>
   <name>hadoop.ssl.keystores.factory.class</name>
  <   value>org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory</value>
</property>
<property>
   <name>hadoop.ssl.server.conf</name>
   <value>ssl-server.xml</value>
</property>
  •  定期檢查安裝的程式依賴項的更新和安全修補程式後,應用安全補丁。

  • 快速應用修復程式以消除任何潛在的安全漏洞。

sudo apt update && sudo apt upgrade
  • 實施嚴格的訪問控制 - 配置網路訪問和防火牆規則以限制誰可以訪問 Hadoop 叢集。

  • 建立嚴格的密碼規則,並確保只有有權的人員才能訪問重要資訊。

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable

Hadoop 發行版和部署工具

Hadoop 發行版和部署工具簡化了 Hadoop 預備條件的設定和安全加固的實施。這些解決方案提供預打包的 Hadoop 安裝,其中包含內建的軟體依賴項和安全設定。使用者可以透過遵循提供的文件和實施指南,輕鬆設定網路設定、管理使用者帳戶並啟用安全功能。此外,Ambari 等部署工具簡化了 Hadoop 叢集的設定和管理,這些工具自動化了許多配置過程並提供使用者友好的基於 Web 的介面。利用 Hadoop 發行版和部署工具可以加快設定速度,確保一致性,並更輕鬆地有效地加強 Hadoop 環境的安全。

演算法

安裝要求

  • 要安裝 JDK,請使用包管理器(例如 apt 或 yum) 

sudo apt install default-jdk
  • 要啟用遠端訪問,請安裝 SSH 

sudo apt install openssh-server
  • 設定網路設定

sudo nano /etc/hosts
  • 為 Hadoop 服務建立使用者帳戶 

sudo adduser hadoop_user
  • 為 Hadoop 服務建立使用者帳戶 

sudo chown -R hadoop_user:hadoop_group /hadoop_directory

安全強化

  • 啟用 Kerberos 身份驗證 

sudo apt install krb5-user
sudo nano /etc/krb5.conf
  • 設定 SSL/TLS 

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/hadoop.key -out /etc/ssl/certs/hadoop.crt
sudo nano /etc/hadoop/hadoop-env.sh
  • 安裝安全更新 

sudo apt update
sudo apt upgrade
  • 實施訪問控制 -

sudo chmod 700 /hadoop_directory
sudo ufw allow 22  # SSH access
sudo ufw enable

可選:使用配置管理工具進行自動化。

  • 使用 Ansible 自動化安裝和配置任務。

  • 應為每個階段定義 Ansible playbook 任務。

  • 使用 ansible-playbook 命令在目標 Linux 計算機上執行 playbook。

可選 - Hadoop 的發行版和部署工具

  • 選擇 Hadoop 發行版,例如 Cloudera 或 Hortonworks。

  • 檢視發行版的文件和部署說明。

  • 為了簡化 Hadoop 叢集的設定和維護,請使用 Ambari 等部署工具。

結論

總之,建立 Hadoop 的先決條件和實施安全加固措施對於安全有效的 Hadoop 環境至關重要。透過安裝必要的軟體依賴項、設定網路、建立使用者帳戶以及啟用 Kerberos 等身份驗證技術,可以提高 Hadoop 叢集的安全性。透過為安全連線建立 SSL/TLS、定期安裝安全補丁以及實施嚴格的訪問控制,可以進一步保護儲存在 Hadoop 叢集中的敏感資料免受未經授權的訪問。使用配置管理工具進行自動化或使用 Hadoop 發行版和部署工具等可選選項,可以為設定過程帶來額外的便利和效率。這些措施共同提供了強大而安全的 Hadoop 基礎設施。

更新於: 2023年8月3日

205 次檢視

開啟您的 職業生涯

完成課程獲取認證

開始學習
廣告