Setelah Install Rocky Linux, Terus Ngapain?

Prolog

Akhirnya nyobain juga Rocky Linux untuk mengatasi kebimbangan dan ternyata ya sama aja, HAHAHA. Ya ini kan dari segi perspectif newbie, hehehe. Sebelumnya sih mau buat catatan or postingan post install untuk CentOS tapi berhubung sekarang dah ganti, ya udah pakai yang di Rocky Linux aja deh.

Kalau install OS pastinya mudah, ya begitu² aja sih next next next aja, tiba² jadi aja, tiba² selesai, xixixi. Yang bingung itu justru sudah selesai install OS Linux, ngapain lagi yah? Apaan coba yang kudu di install. Tapi, pastinya awal banget ya harus update, dengan perintah yum update.

Buat User Non-Root Sebagai Administrator

Disarankan dan sangat untuk tidak mengakses server sebagai root, karena kalau dah jebol passwordnya root bisa berabe, jadinya, gak usah dibahas lagi yah password harus berapa karakter? Pokoknya sesusah mungkin lah. Dan bagi yang belum user pas waktu proses installasi bisa menggunakan perintah berikut:

sudo adduser kakanda
sudo passwd kakanda
sudo usermod -aG wheel kakanda

Setelah itu untuk login ke user yang baru kita buat bisa dengan perintah:

su - kakanda

Setelah itu lakukan test dengan perintah sudo ls -la /root atau dengan sudo yum update.

Untuk mengkatifkan mode auto completion untuk mode user, perlu install tambahan, tidak seperti root yang selalu aktif mode auto completionnya.

sudo dnf install bash-completion

Waktu

Yang paling penting adalah setting waktu. Kalau gak sempat setting waktu pas installasi atau memang menggunakan default template vm dari cloud, bisa menggunakan perintah berikut.

sudo timedatectl
timedatectl - Setelah Install Rocky Linux, Terus Ngapain?

Untuk merubah waktu sesuai negara kita, Indonesia, bisa menggunakan perintah berikut:

sudo timedatectl set-timezone Asia/Jakarta

Dan jika masih belum tahu mengenai timezone yang dipilih, bisa merujuk kepada list yang sudah disediakan, yaitu dengan perintah:

sudo timedatectl list-timezones

Ditambahkan pada Sabtu, 3 Rabi’ul Akhir 1444H / 29 Oktober 2022 05.56

Dan kita akan menambahkan NTP Server dari lokasi terdekat dengan server, silakan lihat di ntppool.org

sudo vim /etc/chrony.conf

Nanti di comment saja pool 2.rhel.pool.ntp.org iburst dan kemudian tambahkan NTP server terdekat.

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
#pool 2.rhel.pool.ntp.org iburst
server 0.id.pool.ntp.org
server 1.id.pool.ntp.org
server 2.id.pool.ntp.org
server 3.id.pool.ntp.org

Kemudian restart service chronyd, dengan perintah

sudo systemctl restart chronyd

Hostname

Oh iya, bagi yang kelupaan untuk menyiapkan hostname server pada saat proses install Rocky Linux yang seharusnya adalah ini (nama hostname server) dipersiapkan sebelumnya, tapi kadang ada yang masih bingung tapi tetap lanjut proses install server, ya berikut cara rubahnya:

sudo hostnamectl set-hostname kakanda.darto.id

EPEL Repository

EPEL singkatan dari Extra Packages for Enterprise Linux, dimana repository ini dibuat oleh The Fedora Special Interest Group (SIGs) yang bertujuan untuk membuat paket Fedora berkualitas tinggi yang tersedia untuk RHEL dan turunannya. Perintah untuk menambahkan repository EPEL yaitu:

sudo dnf install epel-release

Setelah di add repository EPEL (Extra Packages for Enterprise Linux) kita lakukan update package terlebih dahulu, dengan perintah:

sudo dnf update

Vnstat

Kalau saya terkadang perlu juga mengetahui berapa total bandwidth yang sudah terpakai. Vnstat bisa menampilkannya dalam per-jam, hari, pekan, bulan dan tahun.

sudo dnf install vnstat

Jika hasilnya tidak ada atau tidak berhasil, ada kemungkinan karena belum di install epel-release.

Baca juga:  Membangun KMS Server Untuk Aktivasi Windows dan Office Menggunakan Linux CentOS 7

Setelah itu kita mengaktifkan terlebih dahulu service vnstat dan kemudian baru menjalankannya, bisa menggunakan satu perintah yaitu:

sudo systemctl enable --now vnstat

Contoh output dari vnstat

VNstat - Setelah Install Rocky Linux, Terus Ngapain?

Untuk melihat per-jam perintahnya vnstat -h. Per-hari perintahnya vnstat -d, per-pekan perintahnya vnstat -w, per-bulan perintahnya vnstat -m, dan per-tahun perintahnya vnstat -y. Tapi, kalau awal install terus dicoba perintahnya ya bakalan kosong, walaupun servernya sudah diinstall puluhan tahun yang lalu, iyaaaaa kaaannn?

Vim

sudo dnf install vim

Kemudian buat profile setting untuk vim dengan perintah vim ~/.vimrc dengan isi

if has('filetype')
  filetype indent plugin on
endif
if has('syntax')
  syntax on
endif
set autoindent
set number

Nanti diupdate lagi deh .vimrc nya sesuai dengan kebutuhan yang akan datang, hehehe. إِنْ شَاءَ اللّٰهُ

Sekalian deh nitip catatan tuk copy paste dipostingan ini biar nanti gak bolak balik nyari di internet, hehehe.

Copy

yy - meng-copy satu baris kursor berada
3yy - meng-copy 3 baris kebawah dari kursor berada
y$ - meng-copy dari kursor berada sampai baris terakhir
y^ - meng-copy dari kursor berada sampai baris pertama

Delete

dd - hapus satu baris kursor berada
3dd - hapus 3 baris kebawah dari kursor berada
d$ - hapus dari kursor berada sampai baris terakhir

Paste

p (lowercase) - paste kebawah dari kursor berada
P (uppercase / capslock) - paste keatas dari kursor berada

Oh-My-Bash

Nah, ini sih biar menarik aja, hehehe, biar gak jemu² amat pas waktu ngoprek server melalui Terminal. Sebelum itu kita harus install terlebih dahulu git packages, yaitu dengan perintah:

sudo install git

Setelah itu baru kita jalankan perintah untuk meng-clone Oh-My-Bash, yaitu:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)" --prefix=/usr/local

Dan untuk mengaktifkan Oh-My-Bash disetiap user harus di copy terlebih dahulu konfigurasi .bashrc.

mv .bashrc .bashrc.BAK
cp /usr/local/share/oh-my-bash/bashrc ~/.bashrc

Kalau saya sih biasanya langsung rubah themenya menjadi powerline.

vim ~/.bashrc

Kemudian pada OSH-THEME=”font” dirubah menjadi OSH-THEME=”powerline”. Tapi kalau saya sekarang² ini lagi suka dengan tonka karena lebih simple tapi complete secara tampilan, karena saya membutuhkan ada waktu saat ini, maklum seringnya sih lupa, hehehe, tapi saya biasanya rubah sedikit di waktunya, jika Anda menginginkan sama, bisa juga mengikuti cara saya dibawah ini.

sudo vim /usr/local/share/oh-my-bash/themes/tonka/tonka.theme.sh

Saya hanya merubah format waktunya aja agar lebih lengkap.

function __tonka_time {
  THEME_CLOCK_FORMAT="%H:%M:%S"
  clock_prompt
}
function __tonka_date {
  THEME_CLOCK_FORMAT="%A, %d %B %Y"
  clock_prompt
}
function __tonka_clock {
  local LIGHT_BLUE="\[\033[1;34m\]"
  if [[ "${THEME_SHOW_CLOCK}" = "true" ]]; then
    echo "$(__tonka_date)${LIGHT_BLUE} - $(__tonka_time)${LIGHT_BLUE}:"
  fi
}

Setelah itu kita load file .bashrc agar bisa melihat langsung rupanya seperti apa, hehehe, dengan perintah:

source .bashrc

Dan begitu juga untuk root saya gunakan oh-my-bash, tapi themenya menggunakan powerline-multiline.

Baca juga:  Ubuntu: Packages Upgradable But Not Upgraded

Saya memang sengaja untuk install oh-my-bash nya disetiap user, walaupun itu root.

Screen

Mmmm agak bingung juga menjelaskan screen di Linux itu apa kedalam bahasa Indonesia. Ya kalau arti secara harfiahnya ya screen itu adalah layar. Pakai screen itu kita bisa bikin layar dan kemudian bisa bikin layar lagi didalamnya. Layarnya pun bisa displit dan bisa dimacem-macemin, tapi tetep aja yah gak bisa di celup trus dijilat.

Screen menurut saya fungsinya sangat keren, apalagi kalau dipakai tuk monitoring sebuah services or task. Hanya saja kekurangannya adalah perintah² yang kita lakukan di screen tidak tersimpan kedalam history.

sudo dnf install screen

Berikut task yang biasa saya lakukan menggunakan screen.

screen -S nama_session untuk memulai sebuah screen. Dan berikut perintah² or shortcut saat menggunakan screen.

ctrl + a + S (capslock) atau ctrl + a ketik :split untuk membuat layar terbagi secara horizontal
ctrl + a + | atau ctrl + a ketik :split -v untuk membuat layar terbagi secara vertikal
ctrl + a + tab atau ctrl + a ketik :focus untuk berpindah cursor yang aktif diantara layar yang sudah terbagi
ctrl + a + c atau ctrl + a ketik :screen untuk mengaktifkan layar baru pada layar yang sudah terbagi
ctrl + a + X (capslock) atau ctrl + a ketik :remove untuk mematikan layar dimana cursor berada
ctrl + a + Q (capslock) atau ctrl + a ketik :only untuk menampilkan satu layar dan menyembunyikan layar lainnya dimana layar yang akan tampil adalah layar yang pada saat itu cursornya sedang aktif
ctrl + a + nomor-layar, contoh ctrl + a + 0 atau ctrl + a + 1 atau ctrl + a + 2 dan seterusnya yang berfungsi untuk menampilkan kembali layar yang tersembunyi
ctrl + a + " untuk menampilkan list layar yang sedang aktif dan berpindah ke layar yang ada didalam list
ctrl + a kemudian k kemudian y untuk menutup atau mematikan layar yang sedang aktif
ctrl + a + d untuk keluar dari screen tetapi membiarkan semua layar tetap aktif berjalan
ctrl + a ketik :quit untuk mematikan atau berhenti dari screen. Mematikan semua layar dan kemudian exit dari screen.

Untuk melihat ada screen yang aktif atau tidak bisa menggunakan perintah screen -ls dan kemudian kita bisa lanjut dengan perintah screen -r nama_session atau dengan nomor session ID screen yang aktif tersebut screen -r no-session-ID. Dan untuk mematikan screen tanpa harus masuk ke session banyak cara sebetulnya, tinggal pilih menggunakan cara yang diinginkan yang mana.

pidof screen | xargs kill
screen -XS  quit
pkill screen
kill 

Ditambahkan pada Jum’at, 18 Syawwal 1443H / 20 Mei 2022

Untuk menggunakan Screen secara mudahnya seperti ini:

  • Dimulai dengan membuat session, screen -S nama_session
  • Untuk detach dengan menekan tombol, { ctrl + a } + { ctrl + d }
  • Jika ingin masuk ke session screen yang sudah kita detach, gunakan perintah: screen -r nama_session
  • Jika diperhatikan dengan seksama, screen tidak mendukung scrolling, trik agar bisa melakukan scrolling bisa dengan cara kita masuk ke copy mode yaitu dengan menekan tombol { ctrl + a } + Esc dan silakan scrolling ke command yang ingin dilihat kembali. Dan untuk keluar dari copy mode ini tekan tombol Esc.

Firewall

Kalau ada yang ingin gunakan selain FirewallD silakan aja.

sudo systemctl status firewalld
FirewallD - Setelah Install Rocky Linux, Terus Ngapain?

Jika setelah cek status FirewallD tetapi belum aktif services nya, bisa langsung di aktifkan tanpa perlu install terlebih dahulu, karena FirewallD adalah default firewall untuk Rocky Linux.

sudo systemctl enable firewalld
FirewallD Enable and Start services - Setelah Install Rocky Linux, Terus Ngapain?
sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=500/udp
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --remove-port=123/tcp
sudo firewall-cmd --permanent --zone=public --remove-service=http
sudo firewall-cmd --reload

SSH Hardening Security (Pengetatan Keamanan SSH)

Dan SSH hardening ini sebetulnya adalah hal yang paling penting dan beberapa metode untuk pengetatan keamanan sebuah atau banyak server.

Cara Ke-1: Merubah Port SSH

sudo vim /etc/ssh/sshd_config

Dan kemudian rubah pada setting #Port 22 dengan port yang diinginkan. Misalkan menjadi 2323, tapi dihapus terlebih dahulu yah pagar or hashtagnya.

Port 2323
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Cara Ke-2: Jumper Host

Mmmm jumper host tuh mmmm ya misalkan kita mempunyai 10 servers dalam 1 network, kemudian kita membuat jaringan local untuk 10 server tersebut kemudian merubah ListenAddress SSH 9 server ke IP local, misal server 2-9 dan nanti kita melakukan remotenya ke server 1 yang tidak kita rubah ListenAddress nya. Dan kemudian dari server 1 itu kita melakukan remote lagi ke server 2-9 melalui jaringan local.

Setelah Install Rocky Linux, Terus Ngapain? - Jumper Host
Setelah Install Rocky Linux, Terus Ngapain? – Jumper Host

Cara Ke-3: Passwordless dan sshd_config

Yang dimaksud dengan passwordless ya pastinya adalah kita login ke server melalui protocol SSH tapi tanpa harus memasukkan password. Jadi, ketika kita misalkan ingin remote ke salah satu server kita melalui SSH yang biasanya menggetikkan perintah di Terminal ssh superman@10.10.10.100, tidak akan ditanya lagi identitasnya, tapi akan langsung masuk ke prompt.

Langkah Pertama: Di Komputer Anda Yang Akan digunakan Untuk Melakukan Remote

ssh-keygen
ssh-copy-id superman@10.10.10.100

Waktu melakukan perintah ssh-keygen enter³ aja terus dan ketika melakukan perintah ssh-copy-id superman@10.10.10.100 untuk melakukan remote SSH ke server, masukkan passwordnya seperti biasa. Sewaktu melakukan perintah ssh-copy-id tidak akan masuk ke prompt server tapi hanya meng-copy identitas komputer kita yang berada di id_rsa.pub yang sudah kita buat sebelumnya melalui perintah ssh-keygen ke remote server yang akan dimuat di file authorized_keys.

Langkah Kedua: Di Remote Server

vim /etc/ssh/sshd_config

Dan kemudian lakukan perubahan sesuai keinginan atau seperti yang saya buat.

PermitRootLogin no
MaxAuthTries 3
MaxSessions 2
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes

Kemudian restart service SSH

sudo systemctl restart sshd

Dan masih banyak lagi cara² untuk proteksi OS, bisa menggunakan hosts.allow dan hosts.deny ataupun bisa menggunakan iptables dan bahkan bisa juga menggunakan firewalld yang berguna untuk membatasi siapa saja yang bisa mengakses ke server.

Ditambahkan pada Jum’at 18 Syawwal 1443H / 20 Mei 2022 6.50PM

NetStat

Program yang satu ini sangat berguna untuk melihat port yang terbuka berapa saja dan yang menjalankan aplikasi apa, untuk install menggunakan perintah:

sudo dnf install net-tools

Dan menggunakannya bisa dengan perintah netstat -tlpn seperti yang dicontohkan dibawah ini.

netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      27817/mongod        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      28129/sshd          
tcp        0      0 0.0.0.0:1688            0.0.0.0:*               LISTEN      1155/vlmcsd         
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1643/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      840/mysqld          
tcp6       0      0 :::80                   :::*                    LISTEN      19805/httpd         
tcp6       0      0 :::22                   :::*                    LISTEN      28129/sshd          
tcp6       0      0 :::1688                 :::*                    LISTEN      1155/vlmcsd         
tcp6       0      0 ::1:25                  :::*                    LISTEN      1643/master

Ditambahkan pada Rabu, 23 Rabi’ul Awal 1444 / 19 Oktober 2022 10.30

Neofetch

Tools ini saya tambahkan karena sepertinya berguna sebagai reminder kita pada saat login melalui terminal.

sudo dnf install neofetch
Neofetch - Setelah Install Rocky Linux, Terus Ngapain?

Untuk menambahkan informasi lainnya bisa rubah di konfigurasinya.

Info: Anda bisa melakukan edit konfigurasi neofetch jika sebelumnya pernah menjalankan perintah neofetch, jika belum maka file konfigurasi neofetch tidak akan ada.

vim .config/neofetch/config.conf

Dan agar logo bisa sesuai dengan Rocky Linux, bisa merubah binary Neofetch dengan perintah:

sudo curl -s https://raw.githubusercontent.com/dylanaraps/neofetch/master/neofetch -o /usr/bin/neofetch
Neofetch Rocky Linux - Setelah Install Rocky Linux, Terus Ngapain?

Agar Neofetch berjalan otomatis saat ada login, bisa ditambahkan perintah neofetch di ujung file konfigurasi .bashrc

vim .bashrc

Otomatis Update

Bagi yang sibuk, tentunya tidak bisa monitoring server terus menerus dan akan sangat efektif jika proses update server bisa berjalan otomatis tanpa kita manual harus update. Nah, sebetulnya, dulu saya paling anti update otomatis, apalagi di Windows, wah, pokoknya setiap proses update itu yang ada masalah, tapi di era sekarang setelah saya coba, ternyata setiap OS wajib terupdate, terlebih dengan adanya banyak serangan-serangan yang bisa mengancam server kita. OK, lanjut dengan proses setup update otomatis Rocky Linux-nya.

sudo dnf install dnf-automatic

Setelah selesai install kita konfigure agar nantinya bisa berjalan proses otomatis updatenya.

sudo vim /etc/dnf/automatic.conf

Rubah dan sesuaikan seperti berikut:

upgrade_type = default
download_updates = yes
apply_updates = yes
emit_via = motd

Sebetulnya saya mencoba agar setiap proses update kirim email, jadi, nanti di emit_via dirubah menjadi email dan kemudian dibawahnya disesuaikan dengan emailnya:

[email]
email_from = root
email_to = testing@kloningspoon.com
email_host = localhost

Nah, sebetulnya kemarin sudah begitu tapi kok belum berhasil, tapi mungkin karena belum ada update-an atau gimana, tapi nanti saya update kembali artikel ini jika sudah berhasil.

Setelah itu kita aktifkan melalui systemctl dengan cara:

sudo systemctl enable --now dnf-automatic

Dan kemudian kita update waktunya dijam berapa agar proses update otomatis berjalan:

sudo vim /etc/systemd/system/timers.target.wants/dnf-automatic.timer

Rubah disesuaikan keinginan yah, tapi kalau saya begini:

OnCalendar=*-*-* 1:00
RandomizedDelaySec=0m

Setelah itu di save dan close. OnCalendar=*-*-* 1:00 maksudnya adalah agar proses updatenya berjalan di jam 1:00 malam, kayanya sih udah pada tahu cara bacanya yah, gak perlu diterangin lagi, HAHAHA. Dan setelah itu kita akan reload dan kemudian lihat proses list timersnya.

sudo systemctl daemon-reload
sudo systemctl list-timers

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.