Menyiapkan Prasyarat Hadoop dan Pengerasan Keamanan - Bagian 2

Menyiapkan Prasyarat Hadoop dan Pengerasan Keamanan - Bagian 2

Hadoop Cluster Building adalah proses langkah demi langkah di mana proses dimulai dari pembelian server yang diperlukan, dipasang ke rak, kabel, dll. dan menempatkan di pusat data. Maka kita perlu menginstal OS, itu bisa dilakukan dengan menggunakan kickstart di lingkungan real-time jika ukuran cluster besar. Setelah OS diinstal, maka kita perlu menyiapkan server untuk instalasi Hadoop dan kita perlu menyiapkan server sesuai dengan kebijakan keamanan organisasi.

Persyaratan

  • Praktik Terbaik untuk Menyebarkan Hadoop Server di CentOS/RHEL 7 - Bagian 1

Dalam artikel ini, kami akan melalui prasyarat tingkat OS yang direkomendasikan oleh Cloudera. Juga, kami telah menyoroti beberapa tip pengerasan keamanan yang penting sesuai dengan Benchmark CIS untuk server produksi. Pengerasan keamanan ini bisa berbeda sesuai dengan persyaratan.

Menyiapkan Prasyarat Cloudera Hadoop

Di sini, kita akan membahas prasyarat level OS yang direkomendasikan oleh Cloudera.

1. Nonaktifkan Halaman Besar Transparan

Secara default, Halaman besar transparan (Thp) diaktifkan dalam mesin Linux yang berinteraksi dengan buruk Hadoop beban kerja dan itu menurunkan kinerja keseluruhan cluster. Jadi kita perlu menonaktifkan ini untuk mencapai kinerja yang optimal menggunakan perintah gema berikut.

# Echo Never>/sys/kernel/mm/transparent_hugepage/diaktifkan # echo never>/sys/kernel/mm/transparent_hugepage/defrag 
Nonaktifkan Halaman Besar Transparan

2. Ubah VM Swappiness

Secara default, vm.Swappiness Nilai adalah 30 atau 60 Untuk sebagian besar mesin Linux.

# SYSCTL VM.Swappiness 
Periksa VM Swappiness

Memiliki nilai yang lebih tinggi Swappiness tidak disarankan untuk Hadoop server karena dapat menyebabkan pengumpulan sampah yang panjang jeda. Dan, dengan nilai kemalasan yang lebih tinggi, data dapat di -cache untuk menukar memori bahkan jika kita memiliki memori yang cukup. Turunkan nilai Swappiness dapat membuat memori fisik mengandung lebih banyak halaman memori.

# SYSCTL VM.Swappiness = 1 

Atau, Anda dapat membuka file /etc/sysctl.conf dan tambahkan "VM.Swappiness = 1 " pada akhirnya.

vm.Swappiness = 1 

3. Nonaktifkan Firewall

Setiap server Hadoop akan memiliki tanggung jawabnya sendiri dengan banyak layanan (Daemon) berjalan di atas itu. Semua server akan berkomunikasi satu sama lain secara sering untuk berbagai tujuan.

Misalnya, Datanode akan mengirimkan detak jantung ke namenode untuk setiap 3 detik sehingga Namenode akan memastikan bahwa Datanode hidup.

Jika semua komunikasi terjadi antara daemon di berbagai server melalui firewall, itu akan menjadi beban tambahan bagi Hadoop. Jadi praktik terbaik untuk menonaktifkan firewall di server individu di cluster.

# iptables-save> ~/firewall.Aturan # Systemctl Stop Firewalld # Systemctl Nonaktifkan Firewall 
Nonaktifkan Firewall

4. Nonaktifkan Selinux

Jika kita menjaga Selinux diaktifkan, itu akan menyebabkan masalah saat menginstal Hadoop. Sebagai Hadoop adalah komputasi cluster, Manajer Cloudera akan mencapai semua server di cluster untuk menginstal Hadoop dan layanannya dan akan membuat direktori layanan yang diperlukan di mana pun diperlukan.

Jika selinux diaktifkan, itu tidak akan membiarkan Cloudera Manager mengatur instalasi sesuai keinginan. Jadi, memungkinkan Selinux akan menjadi hambatan bagi Hadoop dan itu akan menyebabkan masalah kinerja.

Anda dapat memeriksa statusnya Selinux dengan menggunakan perintah di bawah ini.

# sestatus 
Periksa status selinux

Sekarang, buka /etc/selinux/config file dan nonaktifkan Selinux seperti yang ditunjukkan.

Selinux = dinonaktifkan 
Nonaktifkan Selinux

Setelah menonaktifkan Selinux, Anda perlu me -reboot sistem untuk membuatnya aktif.

# menyalakan ulang 

5. Instal Layanan NTP

Di dalam Hadoop Cluster, Semua server seharusnya Waktu disinkronkan Untuk menghindari kesalahan offset jam. Itu Rhel/centos 7 memiliki Chronyd inbuilt untuk sinkronisasi jam/waktu jaringan, tetapi cloudera merekomendasikan untuk menggunakan NTP.

Kita perlu menginstal NTP dan konfigurasinya. Setelah diinstal, berhenti 'Chronyd'dan nonaktifkan. Karena, jika server memiliki keduanya ntpd Dan Chronyd Berlari, manajer cloudera akan mempertimbangkan Chronyd Untuk sinkronisasi waktu, maka itu akan melempar kesalahan bahkan jika kita memiliki waktu yang disinkronkan melalui NTP.

# yum -y instal ntp # systemctl start ntpd # systemctl Aktifkan NTPD # SystemCTL Status NTPD 
Periksa status NTP

6. Nonaktifkan Chronyd

Seperti yang kami sebutkan di atas, kami tidak perlu Chronyd aktif seperti yang kami gunakan ntpd. Periksa status Chronyd, Jika berjalan berhenti dan nonaktifkan. Secara default, Chronyd dihentikan kecuali sampai kita memulainya setelah pemasangan OS, hanya kita perlu menonaktifkan untuk sisi yang lebih aman.

# Systemctl Status Chronyd # Systemctl Nonaktifkan Chronyd 
Nonaktifkan Chronyd

7. Setel FQDN (nama domain yang sepenuhnya memenuhi syarat)

Kami harus mengatur nama host dengan Fqdn (Nama domain yang sepenuhnya memenuhi syarat). Setiap server harus memiliki nama kanonik yang unik. Untuk menyelesaikan nama host, baik kita perlu mengkonfigurasi DNS atau /etc/host. Di sini, kami akan mengkonfigurasi /etc/host.

Alamat IP dan FQDN dari setiap server harus dimasukkan /etc/host dari semua server. Maka hanya saja Manajer Cloudera dapat mengomunikasikan semua server dengan nama hostnya.

# hostnamectl set-hostname master1.tecmint.com 

Selanjutnya, konfigurasikan /etc/host mengajukan. Misalnya: - Jika kita memiliki 5 node cluster dengan 2 master dan 3 pekerja, kita dapat mengonfigurasi /etc/host seperti di bawah ini.

Konfigurasikan nama host

8. Menginstal Java Development Kit (JDK)

Sebagai Hadoop Terbuat dari Jawa, Semua tuan rumah harus memiliki Jawa diinstal dengan versi yang sesuai. Di sini kita akan memilikinya OpenJDK. Secara default, Manajer Cloudera akan menginstal Oraclejdk Tapi, Cloudera merekomendasikan untuk memiliki OpenJDK.

# yum -y menginstal java -1.8.0-OPENJDK-Devel # Java -Version 
Periksa versi java

Keamanan dan pengerasan Hadoop

Di bagian ini, kita akan akan mengeras keamanan lingkungan Hadoop…

1. Nonaktifkan Automounting

Automunting 'Autofs'Memungkinkan pemasangan otomatis perangkat fisik seperti USB, CD/DVD. Pengguna dengan akses fisik dapat melampirkan USB atau media penyimpanan apa pun untuk mengakses data memasukkan. Gunakan perintah di bawah ini untuk memverifikasi apakah dinonaktifkan atau tidak, jika tidak menonaktifkannya.

# Systemctl Nonaktifkan AutoFs # Systemctl IS-Enabled Autofs 
Nonaktifkan Automounting

2. Pengaturan boot aman

Itu grub File konfigurasi berisi informasi penting dari pengaturan boot dan kredensial untuk membuka kunci opsi boot. File konfigurasi grub 'grub.CFG' bertempat di /boot/grub2 dan itu telah dikaitkan sebagai /etc/grub2.conf dan pastikan grub.CFG dimiliki oleh pengguna root.

# CD /boot /grub2 
Periksa file grub

Gunakan perintah di bawah ini untuk memeriksa Uid Dan Gid keduanya 0/root Dan 'kelompok' atau 'lainnya'seharusnya tidak memiliki izin.

# stat/boot/grub2/grub.CFG 
Periksa stat file grub

Gunakan perintah di bawah ini untuk menghapus izin dari yang lain dan grup.

# CHMOD OG-RWX/BOOT/GRUB2/GRUB.CFG 
Hapus izin file grub

3. Atur kata sandi bootloader

Pengaturan ini menghindari reboot server yang tidak resmi lainnya. yaitu, itu membutuhkan kata sandi untuk me -reboot server. Jika tidak diatur, pengguna yang tidak sah dapat mem -boot server dan dapat membuat perubahan pada partisi boot.

Gunakan perintah di bawah ini untuk mengatur kata sandi.

# grub2-mkpasswd-pbkdf2 
Buat kata sandi bootloader

Tambahkan kata sandi yang dibuat di atas ke /etc/grub.d/01_users mengajukan.

Tambahkan kata sandi grub ke file

Selanjutnya, ganti ulang file konfigurasi grub.

# grub2-mkconfig>/boot/grub2/grub.CFG 
Menghasilkan konfigurasi grub

4. Hapus Alat Prelink

Prelink adalah program perangkat lunak yang dapat meningkatkan kerentanan di server jika pengguna berbahaya dapat membahayakan perpustakaan umum seperti libc.

Gunakan perintah di bawah ini untuk menghapusnya.

# yum lepaskan prelink 

5. Nonaktifkan layanan yang tidak diinginkan

Kita harus mempertimbangkan untuk menonaktifkan beberapa layanan/protokol untuk menghindari serangan potensial.

# Systemctl Nonaktifkan  
  • Nonaktifkan Layanan Jaringan - Pastikan Layanan Jaringan - Biaya, siang hari, buang, gema, waktu tidak diaktifkan. Layanan jaringan ini untuk debugging dan pengujian, disarankan untuk menonaktifkan yang dapat meminimalkan serangan jarak jauh.
  • Nonaktifkan TFTP & FTP - Kedua protokol tidak akan mendukung kerahasiaan data atau kredensial. Itu adalah praktik terbaik untuk tidak dimiliki di server kecuali diperlukan secara eksplisit. Sebagian besar protokol ini diinstal dan diaktifkan pada server file.
  • Nonaktifkan DHCP - DHCP adalah protokol yang secara dinamis akan mengalokasikan alamat IP. Disarankan untuk menonaktifkan kecuali server DHCP untuk menghindari serangan potensial.
  • Nonaktifkan HTTP - HTTP adalah protokol yang dapat digunakan untuk meng -host konten web. Terlepas dari server master/manajemen (di mana WebUI layanan harus dikonfigurasi seperti CM, Hue, dll), kita dapat menonaktifkan HTTP pada node pekerja lain yang dapat menghindari serangan potensial.

Ringkasan

Kami telah melalui persiapan server yang terdiri dari Prasyarat Cloudera Hadoop Dan beberapa pengerasan keamanan. Prasyarat Level OS yang ditentukan oleh Cloudera wajib untuk pemasangan lancar Hadoop. Biasanya, skrip pengerasan akan disiapkan dengan penggunaan tolok ukur CIS dan digunakan untuk mengaudit dan memulihkan ketidakpatuhan secara real-time.

Dalam pemasangan minimal Centos/rhel 7, Hanya fungsi/perangkat lunak dasar yang diinstal, ini akan menghindari risiko dan kerentanan yang tidak diinginkan. Meskipun merupakan instalasi minimal, beberapa iterasi audit keamanan akan dilakukan sebelum memasang Hadoop, bahkan setelah membangun cluster, sebelum memindahkan cluster ke operasi/produksi.