KLoningSpoon - We Share Because We Care

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:

adduser kakanda
passwd kakanda
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 yum 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
sudo timedatectl list-timezones
sudo timedatectl set-timezone Asia/Jakarta

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 data.darto.id

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 yum install epel-release
sudo yum update
sudo yum install vnstat
sudo systemctl enable vnstat
sudo systemctl start vnstat

Contoh output dari vnstat

❯ vnstat
Database updated: Fri Dec 10 11:06:28 2021
   ens160 since 11/05/2021
          rx:  491.96 GiB      tx:  3.05 TiB      total:  3.53 TiB
   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Nov '21    342.78 GiB |    1.96 TiB |    2.29 TiB |    7.60 Mbit/s
       Dec '21    149.18 GiB |    1.09 TiB |    1.24 TiB |   13.45 Mbit/s
     ------------------------+-------------+-------------+---------------
     estimated    504.25 GiB |    3.70 TiB |    4.19 TiB |
   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday     16.48 GiB |  120.83 GiB |  137.31 GiB |   13.33 Mbit/s
         today      7.35 GiB |   60.33 GiB |   67.68 GiB |   14.20 Mbit/s
     ------------------------+-------------+-------------+---------------
     estimated     15.90 GiB |  130.44 GiB |  146.34 GiB |

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?

Baca juga:  Instalasi Apache, MariaDB dan phpMyAdmin di Ubuntu

Vim

sudo yum 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.

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

Kalau saya sih biasanya langsung rubah themenya menjadi powerline.

vim ~/.bashrc

Kemudian pada OSH-THEME=”font” dirubah menjadi OSH-THEME=”powerline”.

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

su -
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
vim .bashrc

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 yum 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 <nomor-session-ID> quit
pkill screen
kill <nomor-session-ID>

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, kalau mau install dan melihat beberapa perintah yang bisa dilakukan oleh firewall-cmd bisa lihat dibawah:

yum install firewalld
systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=500/udp
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --remove-port=123/tcp
firewall-cmd --permanent --zone=public --remove-service=http
firewall-cmd --reload
firewall-cmd --list-all

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.

Baca juga:  macOS: Menyembunyikan Icon TeamViewer di Dock

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 1717, tapi dihapus terlebih dahulu yah pagar or hashtagnya.

Port 1717
#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

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.

Baca juga:  Raspberry Pi: Install Libreelec dan Mount Network Drive Melalui Script autostart.sh

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

Dan untuk menambahkannya agar bisa muncul saat pertama kita login dengan mengedit file .bashrc, tinggal tambahkan saja perintah neofetch diujung perintah alias paling bawah.

Setelah Install Rocky Linux, Terus Ngapain? - Neofetch
Setelah Install Rocky Linux, Terus Ngapain? – Neofetch

Ditambahkan pada Sabtu, 26 Rabi’ul Awal 1444 / 22 Oktober 2022 05.56

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 *

seventy ÷ = fourteen