Pengaturan dan Konfigurasi Server Awal pada RHEL 7


Dalam tutorial ini kita akan membahas langkah-langkah konfigurasi pertama yang perlu Anda lakukan setelah instalasi baru Red Hat Enterprise Linux 7 di server bare metal atau di Virtual Private Server.

Persyaratan

  1. Instalasi Minimal RHEL 7

Penting: Pengguna CentOS 7, dapat mengikuti artikel ini untuk melakukan Pengaturan Server Awal pada CentOS 7.

Perbarui Sistem RHEL 7

Pada langkah pertama, masuklah ke konsol server RHEL Anda dengan akun dengan hak akses root atau langsung sebagai root dan jalankan perintah di bawah ini untuk memperbarui sepenuhnya komponen sistem Anda, seperti paket yang diinstal, kernel atau terapkan patch keamanan lainnya.

yum check-update
yum update

Untuk menghapus semua paket yang diunduh secara lokal dan cache YUM terkait lainnya, jalankan perintah di bawah ini.

yum clean all

Instal Utilitas Sistem di RHEL 7

Utilitas berikut ini terbukti berguna untuk administrasi sistem sehari-hari: nano (editor teks untuk menggantikan editor vi), wget, curl (utilitas yang digunakan untuk mengunduh paket sebagian besar melalui jaringan) net-tools, lsof (utilitas untuk mengelola jaringan lokal) dan bash-completion (pelengkapan otomatis baris perintah).

Instal semuanya dalam satu kesempatan dengan menjalankan perintah di bawah ini.


yum install nano wget curl net-tools lsof bash-completion

Atur Jaringan di RHEL 7

RHEL 7 memiliki beragam alat yang dapat digunakan untuk mengonfigurasi dan mengelola jaringan, mulai dari mengedit file konfigurasi jaringan secara manual hingga menggunakan perintah seperti ip, ifconfig, nmtui, nmcli atau rute.

Utilitas termudah yang dapat digunakan pemula untuk mengelola dan mengubah konfigurasi jaringan adalah baris perintah grafis nmtui.

Untuk mengubah nama host sistem melalui utilitas nmtui, jalankan perintah nmtui-hostname, atur nama host mesin Anda dan tekan OK untuk menyelesaikan, seperti yang diilustrasikan di tangkapan layar di bawah ini.


nmtui-hostname

Untuk memanipulasi antarmuka jaringan, jalankan perintah nmtui-edit, pilih antarmuka yang ingin Anda edit dan pilih edit dari menu sebelah kanan, seperti yang ditunjukkan pada gambar di bawah.

Setelah Anda berada di antarmuka grafis yang disediakan oleh utilitas nmtui Anda dapat mengatur pengaturan IP antarmuka jaringan seperti yang diilustrasikan pada gambar di bawah. Setelah selesai, navigasikan ke OK menggunakan tombol [tab] untuk menyimpan konfigurasi dan keluar.

Untuk menerapkan konfigurasi baru antarmuka jaringan, jalankan perintah nmtui-connect, pilih antarmuka yang ingin Anda kelola dan tekan opsi Nonaktifkan/Aktifkan untuk menonaktifkan dan mengaktifkan antarmuka dengan pengaturan IP, seperti yang ditunjukkan pada gambar di bawah.


nmtui-connect

Untuk melihat pengaturan antarmuka jaringan, Anda dapat memeriksa konten file antarmuka atau Anda dapat mengeluarkan perintah di bawah ini.


ifconfig enp0s3
ip a
ping -c2 google.com

Utilitas berguna lainnya yang dapat digunakan untuk mengatur kecepatan, status tautan, atau memperoleh informasi tentang antarmuka jaringan mesin adalah ethtool dan mii-tool.


ethtool enp0s3
mii-tool enp0s3

Buat Akun Pengguna Baru

Pada langkah selanjutnya, saat login sebagai root ke server Anda, buat pengguna baru dengan perintah di bawah ini. Pengguna ini nantinya akan digunakan untuk masuk ke sistem Anda dan melakukan tugas administratif.

adduser tecmint_user

Setelah Anda menambahkan pengguna menggunakan perintah di atas, siapkan kata sandi yang kuat untuk pengguna ini dengan mengeluarkan perintah di bawah ini.

passwd tecmint_user

Jika Anda ingin memaksa pengguna baru ini untuk mengubah kata sandinya pada upaya masuk pertama, jalankan perintah di bawah ini.

chage -d0 tecmint_user

Akun pengguna baru ini memiliki hak akun reguler untuk saat ini dan tidak dapat melakukan tugas administratif melalui perintah sudo.

Untuk menghindari penggunaan akun root untuk melakukan hak administratif, berikan hak administratif kepada pengguna baru ini dengan menambahkan pengguna ke grup sistem “roda ”.

Pengguna yang termasuk dalam grup “roda” diizinkan, secara default di RHEL, untuk menjalankan perintah dengan hak akses root dengan menggunakan utilitas sudo sebelum menulis perintah yang diperlukan untuk eksekusi.

Misalnya, untuk menambahkan pengguna “tecmint_user ” ke grup “roda ”, jalankan perintah di bawah ini.

usermod -aG wheel tecmint_user

Setelah itu, login ke sistem dengan pengguna baru dan coba perbarui sistem melalui perintah ‘sudo yum update’ untuk menguji apakah pengguna diberikan kekuatan root.

su - tecmint_user
sudo yum update

Konfigurasikan Otentikasi Kunci Publik SSH di RHEL 7

Pada langkah berikutnya untuk meningkatkan keamanan layanan RHEL Anda, konfigurasikan autentikasi kunci publik SSH untuk pengguna baru. Untuk menghasilkan Pasangan Kunci SSH, kunci publik dan pribadi, jalankan perintah berikut di konsol server Anda. Pastikan Anda masuk ke sistem dengan pengguna yang Anda atur kunci SSHnya.

su - tecmint_user
ssh-keygen -t RSA

Saat kunci dibuat, Anda akan diminta untuk menambahkan frasa sandi untuk mengamankan kunci. Anda dapat memasukkan frasa sandi yang kuat atau memilih untuk membiarkan frasa sandi kosong jika Anda ingin mengotomatiskan tugas melalui server SSH.

Setelah kunci SSH dibuat, salin pasangan kunci publik ke server jauh dengan menjalankan perintah di bawah ini. Untuk memasang kunci publik ke server SSH jarak jauh, Anda memerlukan akun pengguna yang memiliki kredensial untuk masuk ke server tersebut.

ssh-copy-id [email 

Sekarang Anda harus mencoba masuk melalui SSH ke server jauh menggunakan kunci pribadi sebagai metode otentikasi. Anda seharusnya bisa login secara otomatis tanpa server SSH meminta kata sandi.

ssh [email 

Untuk melihat konten kunci SSH publik Anda jika Anda ingin menginstal kunci secara manual ke server SSH jauh, jalankan perintah berikut.

cat ~/.ssh/id_rsa

Amankan SSH di RHEL 7

Untuk mengamankan daemon SSH dan melarang akses SSH jarak jauh ke akun root melalui kata sandi atau kunci, buka file konfigurasi utama server SSH dan lakukan perubahan berikut.

sudo vi /etc/ssh/sshd_config

Cari baris #PermitRootLogin yes, batalkan komentar pada baris tersebut dengan menghilangkan tanda # (hashtag) dari awal baris dan ubah baris tersebut menjadi seperti gambar di bawah ini kutipan.

PermitRootLogin no

Setelah itu, restart server SSH untuk menerapkan pengaturan baru dan uji konfigurasi dengan mencoba masuk ke server ini dengan akun root. Akses ke akun root melalui SSH seharusnya dibatasi sekarang.

sudo systemctl restart sshd

Ada situasi di mana Anda mungkin ingin secara otomatis memutuskan semua koneksi SSH jarak jauh ke server Anda setelah beberapa saat tidak aktif.

Untuk mengaktifkan fitur ini di seluruh sistem, jalankan perintah di bawah ini, yang menambahkan variabel bash TMOUT ke file bashrc utama dan memaksa setiap koneksi SSH terputus atau terputus- keluar setelah 5 menit tidak aktif.

su -c 'echo "TMOUT=300" >> /etc/bashrc'

Jalankan perintah tail untuk memeriksa apakah variabel telah ditambahkan dengan benar di akhir file /etc/bashrc. Semua koneksi SSH berikutnya akan ditutup secara otomatis setelah 5 menit tidak ada aktivitas mulai sekarang.

tail /etc/bashrc

Pada gambar di bawah, sesi SSH jarak jauh dari mesin drupal ke server RHEL telah logout otomatis setelah 5 menit.

Konfigurasikan Firewall di RHEL 7

Pada langkah selanjutnya konfigurasikan firewall untuk lebih mengamankan sistem di tingkat jaringan. RHEL 7 dikirimkan dengan aplikasi Firewalld untuk mengelola aturan iptables di server.

Pertama, pastikan firewall berjalan di sistem Anda dengan mengeluarkan perintah di bawah ini. Jika daemon Firewalld dihentikan Anda harus memulainya dengan perintah berikut.

sudo systemctl status firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld

Setelah firewall diaktifkan dan berjalan di sistem Anda, Anda dapat menggunakan utilitas baris perintah firewall-cmd untuk mengatur informasi kebijakan firewall dan mengizinkan lalu lintas ke beberapa port jaringan tertentu, seperti daemon SSH, koneksi dibuat ke server web internal atau layanan jaringan terkait lainnya.

Karena saat ini kami hanya menjalankan daemon SSH di server kami, kami dapat menyesuaikan kebijakan firewall untuk mengizinkan lalu lintas port layanan SSH dengan mengeluarkan perintah berikut.

sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload

Untuk menambahkan aturan firewall saat itu juga, tanpa menerapkan aturan tersebut saat server dimulai lagi, gunakan sintaks perintah di bawah ini.

sudo firewall-cmd --add-service=sshd

Jika Anda menginstal layanan jaringan lain di server Anda, seperti server HTTP, server email, atau layanan jaringan lainnya, Anda dapat menambahkan aturan untuk mengizinkan koneksi tertentu sebagai berikut.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=smtp

Untuk membuat daftar semua aturan firewall, jalankan perintah di bawah ini.

sudo firewall-cmd --permanent --list-all

Hapus Layanan yang Tidak Dibutuhkan di RHEL 7

Untuk mendapatkan daftar semua layanan jaringan (TCP dan UDP) yang berjalan di server RHEL Anda secara default, jalankan perintah ss, seperti yang diilustrasikan dalam contoh di bawah.

sudo ss -tulpn

Perintah ss akan menampilkan beberapa layanan menarik yang dimulai dan dijalankan secara default di sistem Anda, seperti layanan master Postfix dan server yang bertanggung jawab atas protokol NTP.

Jika Anda tidak berencana untuk mengkonfigurasi server ini sebagai server email, Anda harus menghentikan, menonaktifkan dan menghapus daemon Postfix dengan mengeluarkan perintah di bawah ini.

sudo systemctl stop postfix.service 
sudo yum remove postfix

Baru-baru ini, telah dilaporkan beberapa serangan DDOS yang buruk pada protokol NTP. Jika Anda tidak berencana mengonfigurasi server RHEL agar dijalankan sebagai server NTP agar klien internal dapat menyinkronkan waktu dengan server ini, Anda harus menonaktifkan dan menghapus daemon Chrony sepenuhnya dengan mengeluarkan perintah di bawah ini.

sudo systemctl stop chronyd.service 
sudo yum remove chrony

Sekali lagi, jalankan perintah ss untuk mengidentifikasi apakah layanan jaringan lain sedang berjalan di sistem Anda dan nonaktifkan serta hapus layanan tersebut.

sudo ss -tulpn

Untuk memberikan waktu yang akurat untuk server Anda dan menyinkronkan waktu dengan server rekan waktu atas, Anda dapat menginstal utilitas ntpdate dan menyinkronkan waktu dengan server NTP publik, dengan menjalankan perintah di bawah ini.

sudo yum install ntpdate
sudo ntpdate 0.uk.pool.ntp.org

Untuk mengotomatiskan perintah sinkronisasi waktu ntpdate agar dijalankan setiap hari tanpa campur tangan pengguna apa pun, jadwalkan tugas crontab baru untuk dijalankan pada tengah malam dengan konten berikut.

sudo crontab -e

Kutipan file crontab:

@daily /usr/sbin/ntpdate 0.uk.pool.ntp.org

Itu saja! Sekarang, server RHEL Anda siap untuk menginstal perangkat lunak tambahan yang diperlukan untuk layanan atau aplikasi jaringan khusus, seperti menginstal dan mengonfigurasi server web, server database, layanan berbagi file, atau aplikasi spesifik lainnya.

Untuk lebih mengamankan dan memperkuat server RHEL 7, lihat artikel berikut ini.

  1. Panduan Besar Untuk Memperkuat dan Mengamankan RHEL 7 – Bagian 1
  2. Panduan Besar Untuk Memperkuat dan Mengamankan RHEL 7 – Bagian 2

Jika Anda berencana menerapkan situs web pada sistem RHEL 7 ini, pelajari cara menyiapkan dan mengonfigurasi tumpukan LAMP atau tumpukan LEMP.