Thursday 2 June 2022

Konfigurasi Dasar pada Server CentOS 7

basic konfig centos thumbnail

Pada tutorial ini kita akan membahas tentang konfigurasi dasar pada server CentOS 7.

Ketika pertama kali mengoperasikan server CentOS 7, kita diharuskan untuk melakukan konfigurasi dasar pada server kita. Tujuannya agar server kita menjadi lebih aman dan memudahkan kita dalam pengelolaan server. Ada 4 konfigurasi dasar yang menurut kami harus dilakukan pada server CentOS 7 ini, diantaranya adalah :
  1. Update Sistem
  2. Create New User
  3. Enable EPEL Repository
  4. Install UFW Firewall
  5. Setting SSH Key
Sebelum memulai konfigurasi dasar ini, login ke dalam server sebagai super user dengan mengetikan perintah :

su

Kemudian masukan password server kalian, selanjutnya kita mulai pembahasan dari tiap konfigurasi dasar yang akan kita lakukan.

1. Update Sistem

Terdapat sedikit perbedaan untuk server CentOS 7 ini dalam melakukan update sistem, karena perintah update dan upgrade memiliki fungsi yang sama yaitu memperbarui semua paket yang terinstall ke versi terbaru.

Perbedaannya untuk perintah yum upgrade akan mengupdate semua paket yang terinstal ke versi terbaru dan menghapus paket yang lama, sedangkan untuk yum update tidak akan menghapus paket yang lama. Pada tutorial ini, kita akan menggunakan perintah yum update. Ketikan perintah :

sudo yum update

Disini akan dilakukan pengecekan package apa saja yang updatenya sudah tersedia, jika proses pengecekan sudah selesai akan muncul jumlah size paket yang akan diinstal, ketik Y lalu Enter untuk memulai proses instalasi updatenya.

2. Create New User

Disini kita akan membuat user baru dengan username=developer1, kalian bisa membuat user baru dengan username kalian sendiri. Ketikan perintah :

adduser developer1

Kemudian kita buat password untuk username developer0 dengan mengetikan perintah :

passwd developer1

Lalu masukkan password yang sudah kalian tetapkan untuk user baru ini.

Pembuatan user baru ini bertujuan agar server kita tidak bisa diakses oleh sembarang orang dan orang-orang tertentu saja yang bisa mengaksesnya, pembuatan user baru ini juga memudahkan kita dalam melakukan manajemen user dan pengelolaan server untuk ke depannya.

3. Enable EPEL Repository

EPEL Repository atau Extra Packages for Enterprise Linux adalah sebuah repository yang menyediakan paket software tambahan yang tidak termasuk ke dalam repository Red Hat dan CentOS. Repositori ini adalah turunan langsung dari repository Fedora, yang dimana tim pengembang dari project Fedora ingin menggunakan paket software yang mereka buat di RHEL (Red Hat Enterprise Linux) dan CentOS.

Dengan mengaktifkan repositori ini akan memberikan kita akses pada paket yang tidak tersedia pada repositori standar CentOS.

Untuk menginstall EPEL Repository, kita bisa mengetikan perintah :

sudo yum install epel-release

Disini akan dilakukan pengecekan package pada EPEL Repository, jika proses pengecekan sudah selesai akan muncul jumlah size paket yang akan diinstal, ketik Y lalu Enter untuk memulai proses instalasi repositorinya.

Jika proses instalasi EPEL Repository ini sudah selesai, kita bisa melihat status dan versi dari EPEL repositorinya dengan mengetikan perintah :

sudo info epel-release


Output :
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                | 7.1 kB     00:00     
 * base: mr.heru.id
 * epel: epel.mirror.angkasa.id
 * extras: mirror.nevacloud.com
 * updates: mr.heru.id
epel                                                                            | 4.7 kB     00:00     
(1/3): epel/x86_64/group_gz                                     | 96 kB   00:00     
(2/3): epel/x86_64/updateinfo                                   | 1.0 MB   00:19     
(3/3): epel/x86_64/primary_db                                  | 7.0 MB   01:10     
Installed Packages
Name            : epel-release
Arch              : noarch
Version          : 7
Release         : 11
Size              : 24 k
Repo             : installed
From repo    : extras
Summary     : Extra Packages for Enterprise Linux repository configuration
URL             : http://download.fedoraproject.org/pub/epel
License        : GPLv2
Description  : This package contains the Extra Packages for Enterprise Linux
                     : (EPEL) repository GPG key as well as configuration for yum.


4. Install UFW Firewall

Selanjutnya kita akan menginstall UFW atau Uncomplicated Firewall pada server CentOS 7 kita.

UFW adalah sebuah program yang berfungsi untuk melakukan manajemen netfilter firewall. Sesuai dengan namanya, pada dasarnya UFW adalah IP Table yang merupakan firewall default pada semua sistem operasi Linux, tapi karena IP Table ini sangat kompleks dan tidak cocok untuk para pemula yang baru terjun ke dalam server, maka diciptakanlah sebuah program yang user friendly yaitu UFW.

Perlu diketahui bahwa UFW ini tidak tersedia pada CentOS, karena UFW sendiri diciptakan khusus pada Linux Ubuntu, tetapi kita akan menginstall UFW ini pada server CentOS kita untuk mempermudah kita dalam pengelolaan firewall server kita.

Sebelumnya kita telah mengaktifkan EPEL Repositori pada server CentOS kita, yang dimana fungsi dari repositori ini adalah menyediakan paket software yang tidak tersedia pada CentOS standar.

Kita bisa langsung menginstal UFW dengan mengetikan perintah :

sudo yum install ufw

Disini akan dilakukan pengecekan package apa saja yang akan di download, jika proses pengecekan sudah selesai akan muncul jumlah size paket yang akan diinstal, ketik Y lalu Enter untuk memulai proses instalasi paketnya.

Selanjutnya akan muncul notifikasi dari repositori EPEL saat proses instalasi paket UFW ini, kalian bisa ketik Y lalu Enter untuk melanjutkan proses instalasinya.

Jika proses instalasi UFW sudah selesai, kita bisa mengaktifkan service UFW dengan mengetikan perintah :

sudo ufw enable

Lalu kita bisa cek status dari firewall UFW ini dengan mengetikan perintah :

sudo ufw status

Output :
Status: active

To                                       Action          From
--                                        ------             -----
SSH                                    ALLOW       Anywhere                  
224.0.0.251 mDNS            ALLOW       Anywhere                  
SSH (v6)                            ALLOW       Anywhere (v6)             
ff02::fb mDNS                   ALLOW       Anywhere (v6)       

Terlihat pada output diatas list aplikasi yang portnya terbuka pada server kita seperti, service SSH yang digunakan untuk meremote server.

5. Setting SSH Key

Selanjutnya kita akan mengamankan service SSH server kita dengan menggunakan konfigurasi SSH Key.

SSH Key merupakan sebuah cara alternatif yang lebih aman untuk meremote server melalui SSH. Dimana sistem keamanan password bisa dengan mudah di crack menggunakan bruteforce, sedangkan untuk SSH Key hampir sangat tidak mungkin untuk di crack.

Kalian perlu memahami prosedur dalam mengimplementasikan SSH key ini pada server kalian, jika tidak maka besar kemungkinan kalian bisa mengunci server kalian tanpa bisa login lagi ke dalamnya, jika hal itu terjadi maka satu-satunya cara agar bisa terhubung ke server adalah melalui consolenya.

Disini kami menggunakan Putty Generator untuk melakukan generate public dan private keynya.

Jika kalian masih masuk sebagai super user, kalian bisa keluar dengan mengetikan exit dan masuk sebagai user biasa. Jangan melakukan konfigurasi SSH Key ini dengan super user.

Pertama kita akan mengecek apakah file authorized_keys ada pada direktori server kita, ketikan perintah : 

ls ~/.ssh/authorized_keys

Jika muncul output seperti dibawah ini :

ls: cannot access /home/user/.ssh/authorized_keys: No such file or directory

Maka kita akan buat direktori .ssh dan file authorized_keys terlebih dahulu pada direktori home server kita. Tapi jika tidak muncul error seperti diatas, kalian bisa langsung mengakses file authorized_keys tersebut dan langsung mengcopykan public key ke dalamnya.

Kita buat direktori .ssh pada home direktori server kita dengan mengetikan perintah :

mkdir ~/.ssh

Periksa apakah direktori .ssh sudah dibuat dengan mengetikan perintah :

ls -la

Output :
drwxrwxr-x.  2 w7   w7      6 Jun  2 14:58 .ssh

Pastikan bahwa direktori .SSH ini sudah muncul pada home folder kita, jika tidak maka konfigurasi SSH key ini tidak akan berfungsi sama sekali.

Selanjutnya kita rubah permission pada direktori .ssh agar kita memiliki akses penuh pada foldernya dan user lain tidak bisa merubah-rubahnya. Ketikan perintah :

chmod 700 ~/.ssh

Kemudian kita buat file authorized_keys didalam folder .ssh dengan mengetikan perintah :

touch ~/.ssh/authorized_keys

Selanjutnya kita ubah permission folder .ssh dan file authorized_keys agar bisa terbaca, ketikan perintah :

chmod 600 ~/.ssh/authorized_keys

Kemudian kita bisa langsung memasukan public key yang sudah kita generate ke dalam file authorized_keys dengan mengetikan perintah :

nano ~/.ssh/authorized_keys

Copykan public key yang sudah di generate dan paste ke dalam terminal server kalian, jika sudah tekan CTRL+X untuk keluar dan ketik Y untuk menyimpan pengaturan yang sudah dibuat.

Terakhir kita lakukan ubahan pada file konfigurasi sshd, sebelumnya kita masuk dulu sebagai super user, setelah itu ketikan perintah dibawah ini :

sudo nano /etc/ssh/sshd_config

Kemudian ubah rule password authentication dari YES menjadi NO.

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes
To:
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no

Terakhir kita restart service ssh pada server kita dengan mengetikan perintah :

sudo systemctl restart sshd

Sampai pada tahap ini kalian jangan menutup terminal SSH yang kalian gunakan untuk setting SSH Key, pastikan dulu bahwa kalian bisa login menggunakan SSH key yang sudah kita setting tadi ke dalam server, buka new Terminal dan coba lakukan login menggunakan SSH key. Jika sudah bisa masuk ke dalam server menggunakan SSH key dan tidak ada masalah atau error, baru kalian boleh menutup terminal SSH kalian yang digunakan untuk setting SSH key tadi.

Itu tadi bagaimana cara untuk melakukan konfigurasi dasar pada server CentOS 7, konfigurasi dasar ini wajib kita lakukan agar server aman untuk dioperasikan, aman dalam artian server hanya bisa diakses oleh kita selaku sysadmin dan sudah siap untuk dilakukan konfigurasi lebih lanjut seperti, konfigurasi LAMP Server sebagai tempat untuk website atau aplikasi berbasis web.

Sekian untuk tutorial konfigurasi dasar pada server CentOS 7, semoga ilmu yang kalian dapat dari tutorial ini bisa bermanfaat untuk kalian semua. Terima kasih.
Previous Post
Next Post

Penulis blog dan atlet balap karung Indonesia, lahir di Jakarta 6 Juni. Sedang membentuk pasangan wanita yang manis, berpenampilan dinamis, tidak berkumis, tapi mirip artis.

0 comments: