Lompat ke konten Lompat ke sidebar Lompat ke footer

Initial Setup pada Ubuntu Server 20.04

Initial Setup pada Ubuntu Server 20.04

Initial Setup pada Ubuntu Server 20.04 - Setelah kita melakukan installasi Ubuntu Server ada beberapa hal yang harus kita lakukan, Pada tutorial kali ini saya akan memandu Anda langkah-langkah apa saja yang perlu Anda konfigurasi pada Ubuntu server yang baru kita install untuk meningkatkan keamanan dan keandalan server Anda.

Konfigurasi yang di jelaskan pada tutorial kali ini adalah pengaturan awal sebelum kita melakukan installasi service-service server lainnya pada Ubuntu Server 20.04. Pengaturan awal ini bertujuan untuk meningkatkan keamanan dan menyesuaikan konfigurasi dasar yang sesuai dengan keperluan kita.

Berikut hal apa saja yang harus dilakukan setelah installasi Ubuntu server, ikuti step by step cara konfigurasinya.

1. Mengaktifkan user root

Hal pertama yang harus anda lakukan adalah mengaktifkan user root, account root di Ubuntu secara default dinonaktifkan karena kita tidak diminta untuk memasukan password root pada saat installasi. User yang kita buat pada saat installasi diatur sebagai akun administratif dengan sudo, kita dapat menggunakan user root dengan perintah sudo seperti contoh dibawah ini.

kris@ubuntu:~$ sudo -s
[sudo] password for kris: [Masukan Password]
root@ubuntu:~# 
Untuk mengaktifkan user root silahkan jalankan perintah berikut.
kris@ubuntu:~$ sudo passwd root
[sudo] password for kris: [Masukan User Password] 
New password:[Masukan Password Baru]
Retype new password:[Masukan Password Baru]
passwd: password updated successfully
Untuk pengetesan silahkan jalankan perintah su - untuk login menggunakan user root
kris@ubuntu:~$ su -
Password:[Masukan Password Root]
root@ubuntu:~#

2. Membuat User baru

Ada kalanya kita ingin membuat user baru karena lain hal, Jika Anda menginginkan untuk membuat user baru, silahkan jalankan perintah berikut ini.

kris@ubuntu:~$ sudo adduser srv1
Adding user `srv1' ...
Adding new group `srv1' (1001) ...
Adding new user `srv1' (1001) with group `srv1' ...
Creating home directory `/home/srv1' ...
Copying files from `/etc/skel' ...
New password:[Masukan Password]
Retype new password:[Masukan Password]
passwd: password updated successfully
Changing the user information for srv1
Enter the new value, or press ENTER for the default
        Full Name []: Server01
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y
kris@ubuntu:~$
Jika Anda ingin memberikan Sudo Priviledge pada user baru, jalankan perintah berikut
kris@ubuntu:~$ sudo usermod -G sudo srv1
kris@ubuntu:~$ su - srv1
Password:[Masukan Password]
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Untuk pengetesan coba jalankan perintah rebbot untuk restart system.
srv1@ubuntu:~$ sudo reboot
[sudo] password for srv1:[Masukan Password]
Jika Anda ingin menghapus user baru jalankan perintah berikut
kris@ubuntu:~$ sudo deluser srv1 --remove-home

Baca Juga : Cara Install Ubuntu Server 20.04
Baca Juga : Cara Setting NTP di Ubuntu Server 20.04

3. Setting IP Address

Salah satu hal penting yang harus kita lakukan adalah konfigurasi IP Address pada system kita, apakah kita ingin mengkonfigurasi IP Address secara DHCP atau Static, untuk file konfigurasi IP Address pada system ubuntu server 20.04 adalah 00-installer-config.yaml yang berada pada direktori  /etc/netplan/ contoh dibawah ini adalah konfigurasi network secara DHCP.

root@ubuntu:~# nano /etc/netplan/00-installer-config.yaml

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      dhcp4: true
  version: 2
Untuk konfigurasi IP Address secara Static seperti dibawah ini.
root@ubuntu:~# nano /etc/netplan/00-installer-config.yaml

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      dhcp4: false
      addresses: [192.168.0.230/24]
      gateway4: 192.168.0.1
      nameservers:
        search: [example.com]
        addresses: [192.168.0.1]
  version: 2
Untuk setting DNS nameservers silahkan edit file /etc/resolv.conf seperti dibawah
root@fossa:~# nano /etc/resolv.conf

# operation for /etc/resolv.conf.

nameserver 192.168.0.231 <== Masukan IP DNS
nameserver 192.168.0.1 <== Masukan IP DNS
search example.com <== masukan nama domain
Agar IP DNS tidak hilang saat system di restart jalankan perintah berikut
root@fossa:~# unlink /etc/resolv.conf 
root@fossa:~# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Setelah kita konfigurasi IP Address jangan lupa untuk merestart network dengan perintah berikut.
root@ubuntu:~# netplan apply
Cek interface dengan perintah ip addr atau ip a
root@ubuntu:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:f3:50:e2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.230/24 brd 192.168.0.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fef3:50e2/64 scope link
       valid_lft forever preferred_lft forever
Untuk pengetesan silahkan lakukan test ping ke internet sebagai contoh disini ping ke detik.com
root@ubuntu:~# ping detik.com
PING detik.com (103.49.221.211) 56(84) bytes of data.
64 bytes from s211-cast-211-221-49-103.detik.com (103.49.221.211): icmp_seq=1 ttl=51 time=40.1 ms
64 bytes from s211-cast-211-221-49-103.detik.com (103.49.221.211): icmp_seq=2 ttl=51 time=26.8 ms
64 bytes from s211-cast-211-221-49-103.detik.com (103.49.221.211): icmp_seq=3 ttl=51 time=28.7 ms
64 bytes from s211-cast-211-221-49-103.detik.com (103.49.221.211): icmp_seq=4 ttl=51 time=47.9 ms
^C
--- detik.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 26.835/35.910/47.927/8.603 ms
Ada kalanya kita ingin mendisable IPv6 karena kita tidak membutuhkannya, untuk mendisable IPv6 silahkan jalankan perintah berikut.
root@ubuntu:~# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
root@ubuntu:~# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
Cek interface
root@ubuntu:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:f3:50:e2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.230/24 brd 192.168.0.255 scope global enp0s3
       valid_lft forever preferred_lft forever

4. Update & Upgrade system

Selanjutnya hal penting yang harus kita lakukan adalah update dan upgrade pada system agar system selalu mendapatkan paket-paket terbaru pada system. silahkan jalankan perintah apt update untuk mendapatkan update terbaru pada system. 

root@ubuntu:~# apt update
Hit:1 http://id.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://id.archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
Get:3 http://id.archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
Get:4 http://id.archive.ubuntu.com/ubuntu focal-security InRelease [107 kB]
...
...
Fetched 1,017 kB in 14s (74.6 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
74 packages can be upgraded. Run 'apt list --upgradable' to see them.
Untuk mengupgrade paket-paket terbaru silahkan jalankan perintah apt upgrade
root@ubuntu:~# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  motd-news-config
The following packages will be upgraded:
  accountsservice alsa-ucm-conf apparmor apport base-files bash bcache-tools
  busybox-initramfs busybox-static cloud-init command-not-found
  distro-info-data fwupd fwupd-signed gir1.2-glib-2.0 initramfs-tools
  initramfs-tools-bin initramfs-tools-core landscape-common
  language-selector-common less libaccountsservice0 libapparmor1 libasound2
  libasound2-data libdns-export1109 libfwupd2 libfwupdplugin1
  libgirepository-1.0-1 libglib2.0-0 libglib2.0-bin libglib2.0-data
  libisc-export1105 libldap-2.4-2 libldap-common liblzma5 libnetplan0
  libnss-systemd libpam-modules libpam-modules-bin libpam-runtime
  libpam-systemd libpam0g libproxy1v5 libsystemd0 libudev1 login netplan.io
  open-iscsi open-vm-tools passwd python-apt-common python3-apport python3-apt
  python3-commandnotfound python3-distupgrade python3-problem-report
  python3-update-manager rsyslog sosreport strace sudo systemd systemd-sysv
  systemd-timesyncd tmux ubuntu-minimal ubuntu-release-upgrader-core
  ubuntu-server ubuntu-standard udev unattended-upgrades update-manager-core
  xz-utils
74 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 19.6 MB of archives.
After this operation, 471 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y

5. Setting Hostname

Fungsi hostname adalah untuk mengidentifikasi pada system kita, terkadang kita ingin mengganti nama hostname yang ada pada system kita, jika kita ingin merubah nama hostname pada system silahkan jalankan perintah berikut ini.

root@ubuntu:~# hostname
ubuntu
Merubah nama hostname dari ubuntu ke fossa
root@ubuntu:~# hostname fossa
root@ubuntu:~# hostname
fossa
Untuk mengganti hostname secara permanent silahkan jalankan perintah berikut.
root@ubuntu:~# hostnamectl set-hostname fossa
root@ubuntu:~# hostnamectl
   Static hostname: fossa
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 7698122c0a9546a2b2b62da1e1aa98b9
           Boot ID: 97c535a270f4469ca34d6117b21b51ad
    Virtualization: oracle
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-47-generic
      Architecture: x86-64

6. Setting Timezone

Setting timezone berfungsi pada system kita bahwa agar waktu yang kita gunakan sesuai dengan wilayah pada zona negara kita. sebelumnya cek dahulu apakah zona waktu sudah berada pada wilayah yang benar.

root@ubuntu:~# timedatectl
               Local time: Tue 2020-09-15 17:45:57 UTC
           Universal time: Tue 2020-09-15 17:45:57 UTC
                 RTC time: Tue 2020-09-15 17:45:59
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
Perintah dibawah ini menampilkan zona waktu di wilayah negara silahkan sesuaikan pada zona waktu masing-masing.
root@ubuntu:~# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Algiers
Africa/Bissau
Africa/Cairo
...
...
...
Asia/Hovd
Asia/Irkutsk
Asia/Jakarta
Asia/Jayapura
Asia/Jerusalem
Asia/Kabul
Asia/Kamchatka
Untuk setting zona waktu Asia/Jakarta silahkan jalankan perintah dibawah ini.
root@ubuntu:~# timedatectl set-timezone Asia/Jakarta
root@ubuntu:~# timedatectl
               Local time: Wed 2020-09-16 00:48:37 WIB
           Universal time: Tue 2020-09-15 17:48:37 UTC
                 RTC time: Tue 2020-09-15 17:48:38
                Time zone: Asia/Jakarta (WIB, +0700)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

7. Setting Firewall

Secara default firewall pada ubuntu server dalam keadaan inactive jadi kita tinggal mengaktifkannya saja jika kita ingin menggunakan firewall.

root@fossa:~# ufw status
Status: inactive
Untuk mengaktifkan firewall pada ubuntu server silahkan jalankan perintah di bawah ini.
root@fossa:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

root@fossa:~# ufw status
Status: active
Untuk menambahkan service silahkan jalankan perintah berikut
root@fossa:~# ufw allow ssh
Jika kita ingin menambahkan port tertentu jalankan perintah berikut
root@fossa:~# ufw allow 49155
Cek status pada firewall
root@fossa:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
49155                      ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
49155 (v6)                 ALLOW       Anywhere (v6)

8. Ganti port 22 SSH

Pada saat installasi Ubuntu server sebenarnya SSH Server sudah terinstall pada system, kita tinggal menggunakannya saja, SSH secara default bekerja pada port 22 dan untuk akses menggunakan user root tidak di ijinkan secara default karena pada settingan permitlogin menggunakan prohibit-password [PermitRootLogin prohibit-password]. selanjutnya kita akan melakukan pengaturan pada port default ssh.

Untuk file konfigurasi ssh adalah sshd_config yang berada pada direktori /etc/ssh/ sebagai contoh disini saya akan merubah dari port 22 menjadi 49155 silahkan lakukan konfigurasi seperti dibawah ini.

root@fossa:~# nano /etc/ssh/sshd_config

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

Include /etc/ssh/sshd_config.d/*.conf

Port 49155
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
Simpan perubahan lalu restart service SSH
root@fossa:~# systemctl restart ssh

Kesimpulan

Dengan melakukan beberapa pengaturan seperti diatas pada system kita akan lebih aman dan kegiatan remote session dari sisi Client ke Server yang letaknya berjauhan dari Client akan lebih Secure dengan tidak menggunakan default port ssh.

Demikian kira-kira Artikel Initial Setup pada Ubuntu Server 20.04 ini saya buat. Semoga bermafaat untuk kita semua. Silahkan Share Jika kalian merasa postingan ini bermanfaat. Sekian & Terimakasih Salam.

Posting Komentar untuk "Initial Setup pada Ubuntu Server 20.04"