Anda di halaman 1dari 36

ASJ

ALDI ISKANDAR, S.Kom


INSTALL DEBIAN MINIMAL SERVER
1. Perangkat yang digunakan
Tutorial ini menggunakan virtual machine VirtualBox untuk simulasi
install Linux Debian

1. DVD image ISO Debian 64bit


2. CPU 1
3. RAM 1GB
4. HDD 500GB
5. Network Adapter #1 NAT
6. Network Adapter #2 Bridge Adapter Di arahkan ke Lan Pisik/ Bisa
juga menggunakan Hostolny untuk testing di computer host os
7. Host OS terhubung ke internet

1. Install Debian 9 Minimal Server


1. Pada Debian GNU/Linux installer boot menu pilih Install.
Debian Installer Boot Menu

2. Select a language, bahasa untuk proses install, biarkan default


tetap Englis, lalu Enter untuk melanjutkan ke tahap berikutnya.
Pilih bahasa untuk proses install

3. Select your location, pilih lokasi yang akan digunakan untuk


menentukan zona waktu dari server. Pilih other -> Asia -
> Indonesia.
4. Configure locales biarkan default United States – en_US.UTF-8.
5. Configure the keyboard, tetap pakai American English.
6. Configure the network – Primary network interface, terdapat 2
NIC pada VM ini, diminta untuk memilih NIC utama. Pilih enp0s3 di
mana NIC ini merupakan Adapter Network VirtualBox tipe NAT yang
mendapatkan IP DHCP dan terhubung ke internet. Sementara
NIC enp0s8 nantinya digunakan untuk terhubung ke Host OS atau
VM lainnya.
Primary network interface

7. Hostname, masukkan srv.debian.lan.
8. Masukkan password untuk user root, dan konfirmasi kembali
passwordnya.
9. Masukkan nama pemilik user baru.
10.Masukkan username untuk user baru.
11.Masukkan password dan konfirmasi password untuk user baru.
12.Select a city in your time zone, memilih zona waktu, Western =
WIB, Central = WITA, dan Eastern = WIT.
13.Partitioning method, pilih Manual untuk menentukan sendiri partisi
dan kapasitasnya yang dapat disesuaikan dengan kebutuhan.

Metode pembagian partisi

14.Pilih SCSI1 (0,0,0) (sda).


Harddisk yang akan dipartisi

15.Create new empty partition table on this device?. Jawab Yes.


16.Partisi yang akan dibuat:
1. / (dibaca partisi root), ext4, di primary, 50GB.
2. /home, ext4, di primary, 50GB.
3. swap, di primary, 2GB.
4. /var, ext4, di logical, 250GB.
5. /backup, ext4, di logical, pakai semua free space yang tersisa.
17.Pilih FREE SPACE untuk mulai membuat partisi dan membagi
kapasitas yang tersedia.

Membuat partition table

18.Create a new partition -> masukkan 50GB -> Primary -


> Beginning -> Use as Ext4, Mount point /, lalu Done setting up
the partition.
Partition settings partisi /

Partisi root sudah jadi

19.Pilih FREE SPACE -> Create a new partition -> masukkan 50GB -


> Primary -> Beginning -> Use as Ext4, Mount point /home,
lalu Done setting up the partition.
20.Pilih FREE SPACE -> Create a new partition -> masukkan 2GB -
> Primary -> Beginning -> Use as swap area, Mount point /home,
lalu Done setting up the partition.
21.Pilih FREE SPACE -> Create a new partition -> masukkan 250GB -
> Logical -> Beginning -> Use as Ext4, Mount point /var, lalu Done
setting up the partition.
22.Pilih FREE SPACE -> Create a new partition -> pakai semua sisa free
space -> Beginning -> Use as Ext4, Mount point Enter manually,
/backup, lalu Done setting up the partition.
23.Hasil akhir pembagian partisi seperti pada gambar di bawah ini.
Lanjut dengan memilih Finish partitioning and write changes to
disk.

Hasil akhir pembagian partisi

24.Write the chages to disks?. Jawab Yes.


25.Scan another CD or DVD?. Jawab No.
26.Use a network mirror?. Jawab No.
27.Participate in the package usage survey?. Jawab No.
28.Software selection, centang SSH server dan standard system
utilities. Tab ke Continue ->Enter.
Software Selection

29.Proses install software.

Proses install sedang berjalan

30.Install the GRUB boot loader to the master boot record?.


Jawab Yes.
31.Device for boot loader installation, pilih /dev/sda.
32.Install Debian 9 Minimal Server telah selesai. Continue.

Install Debian telah selesai


2. Boot Debian Server
Setelah selesai install dan restart, akan masuk ke GRUB boot loader.

GRUB boot loader Debian serve


Cek Versi Linux Debian
Cek Versi Debian
1. Cara pertama yang paling pas untuk mengecek versi Debian adalah
dengan menggunakan perintah lsb_release. Perintah ini menampilkan
nomor versi dan nama kode rilisnya.

1lsb_release -a
2
 
3
4No LSB modules are available.
5Distributor ID: Debian
6Description:    Debian GNU/Linux 9.9 (stretch)
7
Release:        9.9
Codename:       stretch

2. Cara kedua yaitu dengan menampilkan isi dari file text issue. File ini
hanya berisi nomor versi mayor rilis saja tidak seperti perintah lsb_release
yang menampilkan lengkap dengan nomor rilis versi minor atau point
release

1cat /etc/issue

3Debian GNU/Linux 9 \n \l
3. Cara ketiga yaitu dengan menampilkan isi dari file text os-release. Berisi
nama kode rilis, nomor versi, dan alamat website.

1cat /etc/os-release

3
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
4
5NAME="Debian GNU/Linux"
6VERSION_ID="9"
7VERSION="9 (stretch)"
8ID=debian
9HOME_URL="https://www.debian.org/"
10
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
4. Cara keempat yaitu dengan menjalankan perintah hostnamectl. Perintah
ini sebenarnya untuk konfigurasi hostname, tapi perintah ini juga
menampilkan nomor versi rilis, nama kode rilis, dan versi Linux kernel yang
sedang digunakan.

hostnamectl

Static hostname: srv.debian.lan


Icon name: computer-vm
Chassis: vm
Machine ID: c5044ece0edf437b8a64852c98f3c3b7
Boot ID: b3177d4f3889492dba0c9b7988b96be8
Virtualization: oracle
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-9-amd64
Architecture: x86-64
Cara Setting Repository di Debian Server
Langkah Setting Repository Debian Server
1. Login ke server menggunakan user root.
2. Buka file konfigurasi repository menggunakan nano.

1nano /etc/apt/sources.list

3. Teks yang diawali dengan tanda # dianggap sebagai komentar, tidak


dieksekusi. Ubah isi sources.list menjadi seperti di bawah ini

1deb http://security.debian.org/debian-security/ stretch/updates main contrib non-free


deb-src http://security.debian.org/debian-security/ stretch/updates main contrib non-free

deb http://deb.debian.org/debian stretch main contrib non-free


deb-src http://deb.debian.org/debian stretch main contrib non-free

deb http://deb.debian.org/debian stretch-updates main contrib non-free


deb-src http://deb.debian.org/debian stretch-updates main contrib non-free

File sources.list

4. Save CTRL+X,Y, Enter
5. Pastikan Debian terhubung ke internet dengan melakukan ping ke
alamat website misal linux.com. Sebelumnya menggunakan Network
Adapter NAT di VirtualBox yang terhubung ke internet jika Host OS
terhubung ke internet.
6. Lakukan update repository.
1 apt update

Update repository

7. Setelah update selesai, tampil pesan 2 packages can be upgraded.,


terdapat 2 paket yang bisa diupgrade. Untuk melihat paket apa saja
yang bisa diupgrade jalankan perintah:

11apt list --upgradeable

Untuk langsung melakukan upgrade, jalankan perintah:

11apt upgrade

8. Ditampilkan nama paket yang diupgrade, ukuran file paket yang


harus didownload, dan setelah upgrade berapa besar disk space yang
akan terpakai. Jawab y untuk melanjutkan proses upgrade.
Perintah upgrade

9. Proses upgrade telah selesai.

Upgrade selesai
Konfigurasi IP Addres
Konfigurasi IP Address

NIC enp0s3 terhubung ke internet dengan (Setting Adapter 1 Nat)

o IP address = 10.0.2.15
o Netmask = 255.255.255.0
o Gateway = 10.0.2.2

NIC enp0s8 terhubung ke jaringan LAN, berfungsi sebagai interface


yang di arahkan ke server agar dapat terhubung ke jarungan . (
Setting Adapter 2 Internal Network : Name = Server-Koneksi )

o IP address = 9.9.9.1/24

NIC enp0s9 terhubung ke jaringan LAN, berfungsi sebagai gateway


untuk PC client agar dapat terhubung ke internet. ( Setting Adapter
3 Internal Network : Name = Server-Koneksi )

o IP address = 20.20.20.1/24

DNS menggunakan DNS server dari Google 8.8.8.8


Debian server sebagai router atau internet gateway
Debian server yang memberikan Layanan Jaringan
PC client menggunakan:

o IP address DHCP = 20.20.20.10-200


o Netmask = 255.255.255.0
o Gateway = 20.20.20.1
o DNS = 20.20.20.1 8.8.8.8

1. Setting Jaringan
Sebelum memberikan IP address, kita harus mengetahui nama
network interface terlebih dahulu.

1 ip link

Hasilnya terdapat 4 NIC yaitu lo, enp0s3 dan enp0s8 dan enp0s9.

Selanjutnya buka file setting network interface untuk memberikan IP


address pada network interface.

1 nano /etc/network/interfaces
Fil
e setting network interfaces

Dari file setting di atas, enp0s3 menggunakan IP DHCP. Ubah settingnya


menjadi seperti di bawah ini sesuai dengan perencanaan IP address
sebelumnya.

1auto enp0s3
2iface enp0s3 inet static
3  address 10.0.2.15
4  netmask 255.255.255.0
5  gateway 10.0.2.2

7auto enp0s8
8iface enp0s8 inet staticAP
9  address 9.9.9.1/24
10
auto enp0s9
iface enp0s9 inet static
 address 20.20.20.1/24

Save CTRL+X, Y, Enter

Selanjutnya setting DNS resolv.

1nano /etc/resolv.conf

DNS yang terpasang adalah DNS dari NAT VirtualBox 10.0.2.3. DNS ini
digantikan dengan DNS Google
nameserver 8.8.8.8

Setelah itu restart Debian.

reboot
Pengujian Koneksi Debian server ke Internet

 ping ke public IP misal 8.8.8.8 atau 1.1.1.1 untuk menguji enp0s3


terhubung ke internet.
 ping ke domain internet misal linux.com untuk menguji setting DNS
resolv.

Debian server ping ke internet


2. Install Tool Jaringan
Debian minimal server tidak menyertakan tool yang dibutuhkan untuk
memudahkan pekerjaan yang berhubungan dengan jaringan, seperti

 ifconfig untuk menampilkan setting network interface.


 netstat untuk menampilkan informasi network connections.
 nslookup dan dig untuk DNS lookup utility.

1apt install net-tools dnsutils

3. Setting Hostname
Kalau ingin mengubah hostname, ubah di file hostname.

1nano /etc/hostname
Dan file hosts.

1nano /etc/hosts
Ubah hosts.

1127.0.0.1  hostnamebaru
Lalu restart.

1reboot

4. Setting Debian sebagai Router/Internet Gateway


Selanjutnya melakukan setting Debian server sebagai router atau internet
gateway untuk PC client di jaringan LAN sesuai dengan gambar topologi di
awal pembahasan.

Aktifkan packet forwarding pada file sysctl.conf.

1nano /etc/sysctl.conf
Lepas tanda # pada net.ipv4.ip_forward=1 untuk mengaktifkan opsinya.
File sysctl.conf

Lalu reload sysctl.

1sysctl -p
Langkah selanjutnya melakukan setting NAT melalui iptables.

1apt install iptables iptables-persistent -y


2
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
3
4iptables -t nat -L
5netfilter-persistent save
netfilter-persistent reload

5. Install dan Setting DHCP server


Selanjutnya install dan setting DHCP server agar PC client mendapatkan IP
address, gateway, dan DNS secara otomatis.

Install DHCP server.

1apt install isc-dhcp-server -y


Buka file setting isc-dhcp-server untuk memasukkan network interface yang
bertugas memberikan IP DHCP.

1nano /etc/default/isc-dhcp-server

Setting opsi INTERFACEv4.

1INTERFACEv4="enp0s9"

Selanjutnya setting file dhcpd.conf


1nano /etc/dhcp/dhcpd.conf

Tambahkan opsi di bawah ini pada baris paling bawah.

1subnet 20.20.20.0 netmask 255.255.255.0 {


2
range 20.20.20.10 20.20.20.200;
3
4 option subnet-mask 255.255.255.0;
5 option domain-name-servers 20.20.20.1, 8.8.8.8;
6 option routers 20.20.20.1;
7
default-lease-time 600;
8
max-lease-time 7200;
}

 subnet netmask = IP network dan subnet yang digunakan,


disesuaikan dengan IP network dari enp0s9.
 range = range IP address DHCP yang akan diberikan ke PC client.
 option subnet-mask = subnet untuk PC client.
 option domain-name-servers = DNS untuk PC client.
 option routers = gateway untuk PC client yang merupakan IP address
enp0s9.
 default-lease-time = durasi default masa sewa IP address dalam
satuan detik.
 max-lease-time = durasi maksimum masa sewa IP address dalam
satuan detik.
dan cek status service DHCP server.

1systemctl restart isc-dhcp-server


2
systemctl status isc-dhcp-server

Status service DHCP server


Cara Install SSH Server di Debian Server
Secure Shell (SSH) adalah protokol internet untuk remote komputer
(server) yang dapat menjalankan perintah berbasis command line interface
(CLI). Pada umumnya server yang mengaktifkan SSH server adalah server
dengan sistem operasi keluarga Unix/Unix Like (Linux, BSD). Aplikasi SSH
server yang digunakan adalah OpenSSH yang terlahir dari tangan-tangan
developer OpenBSD Project.

Selain untuk kebutuhan remote server, OpenSSH server juga mendukung


untuk transfer file secara aman menggunakan Secure Copy
(scp) dan Secure File Transfer Protocol (SFTP).

1. Install SSH Server


Pada saat install Debian minimal server, SSH server telah diinstall. Tapi jika
belum terinstall, jalankan perintah install SSH server di bawah ini.

1apt install openssh-server -y

Jalankan service.

1systemctl start ssh


2
3systemctl enable ssh
systemctl status ssh

Login ke SSH Server

PC client Linux yang akan meremote server bisa langsung menggunakan


SSH client melalui terminal. Jika belum tersedia install terlebih dahulu
OpenSSH client.

1apt install openssh-client -y

Perintah login SSH.

1ssh user@ip-server
Login SSH dengan password

Pada gambar di atas login dengan user debian10 di server dengan IP


address 20.20.20.1. Konfigurasi SSH server di Debian 9 ini tidak
mengijinkan user root untuk login menggunakan password demi alasan
keamanan. Jadi login SSH pakai user selain root, setelah berhasil login ke
server barulah menjadi user root dengan menggunakan perintah su dan
melakukan konfigurasi keamanan tambahan untuk SSH server atau
konfigurasi server lainnya.

PC client Windows dapat menggunakan aplikasi SSH client seperti PuTTY


atau Xshell.

1. Mengganti Default Port SSH


Secara default nomor port untuk protokol SSH adalah nomor 22. Kita dapat
mengganti default port SSH, agar menyulitkan orang yang tidak berhak
untuk login SSH. Nomor port SSH 22 diganti ke salah satu nomor port
antara 49152-65535. Kenapa menggunakan nomor 49152? Karena nomor
di bawah 49152 sudah didefinisikan atau digunakan oleh server/service
yang lain yang telah ditentukan oleh Internet Assigned Numbers Authority
(IANA).

 Ports 0-1023 = system or well-known ports.


 Ports 1024-49151 = user or registered ports.
 Ports 49152-65535 = dynamic / private ports
Bagaimana kalau nomor port diganti dengan nomor port antara 1-49151?
Sebenarnya bisa saja tidak mengikuti aturan itu, selama nomor port yang
dipasang belum terpakai di server.

Cara mengecek nomor port yang sedang aktif.

1netstat -tulpn

Netstat

Pada kolom Local Address, misal 0.0.0.0:22, 22 adalah nomor port aktif


yang digunakan oleh program atau service sshd (ssh daemon/service). Di
tutorial ini saya mengganti nomor port SSH dari 22 ke 49152.

Mengganti Nomor Port SSH

Buka file konfigurasi SSH server.

1
nano /etc/ssh/sshd_config
Cari baris opsi #Port 22, lepas tanda #, ganti nomor 22 ke 49152.
Mengganti port SSH
Save CTRL+O, Exit CTRL+X.

Setiap setelah mengubah konfigurasi service jangan lupa restart service.

1systemctl restart ssh


2
3systemctl status ssh
netstat -tulpn | grep ssh

Status service ssh dan netstat


Dari perintah melihat status service ssh terlihat SSH server berjalan pada
nomor port 49152. Begitu juga dengan perintah netstat menampilkan
nomor port 49152 digunakan oleh sshd.

Login SSH dengan Custom Port

Untuk login SSH dengan custom port harus menambahkan opsi nomor
port.

1ssh namauser@20.0.0.1 -p 49152

Jika tetap mencoba melakukan login SSH dengan port default tampil pesan
error seperti di bawah ini.

1ssh: connect to host 20.20.20.1 port 22: Connection refused

2. Nonaktifkan Root Login


Jangan ijinkan root untuk bisa login SSH. Cukup user biasa yang bisa login
dan nantinya dapat berubah menjadi root. Bisa juga dengan menentukan
user dan group mana saja yang bisa login.

Nonaktifkan root login, cari opsi PermitRootLogin.

1PermitRootLogin no
Selanjutnya hanya mengijinkan user dan group tertentu untuk login SSH
atau memblokir login SSH untuk user dan group tertentu. Tambahkan opsi
di bawah ini dan tuliskan nama group dan usernya.

1
2
AllowGroups adminserver
3AllowUsers linus ian
4
DenyGroups member
DenyUsers kevin
3. Login dengan Key
Login SSH dengan key bisa menutupi kelemahan login SSH dengan
password yang kemungkinan bisa ditembus dengan serangan brute-force
(mencoba login dengan koleksi password). Di PC client kita membuat key
dengan menggunakan ssh-keygen, hasilnya ada private key dan public key.
Isi dari public key dicopy ke server sementara private key berada di PC
client yang akan digunakan untuk login.

Membuat SSH Key


Cara membuat SSH key sangat mudah, cukup menjalankan perintah ssh-
keygen.

Membuat SSH key dengan ssh-keygen

Dari gambar di atas terlihat bahwa file key tersimpan di


direktori /home/user/.ssh/ dengan nama file key-debian. File key terbagi
2 yaitu key-debian untuk private key dan key-debian.pub untuk public
key.

Mengcopy SSH Key ke Server


Cara 1: Dengan menggunakan perintah ssh-copy.

1ssh-copy-id -i ~/.ssh/namakey user@ip-server


Copy Key ke Server

Jangan lupa tambahkan opsi custom port jika sudah mengubah nomor port
SSH.

Cara 2: Dengan menggunakan kombinasi perintah cat dan ssh.

Tampilkan isi file namakey.pub, lalu login SSH ke server dan isi dari file key
tadi ke dalam file authorized_keys.

1cat ~/.ssh/namakey.pub | ssh user@ip-server "cat >> ~/.ssh/authorized_keys"

Kalau di server belum ada direktori .ssh dalam direktori home, tambahkan
perintah mkdir.

1cat ~/.ssh/namakey.pub | ssh user@ip-server "mkdir ~/.ssh; cat >>


~/.ssh/authorized_keys"

Mengaktifkan Login SSH dengan Key


Selanjutnya cari dan aktifkan opsi di bawah ini pada file konfigurasi SSH
server.

1PubkeyAuthentication yes
2
3PasswordAuthentication no
PermitEmptyPasswords no

Restart service ssh.


Cara Login SSH dengan Key
Setelah mengaktifkan login SSH dengan key, ketika mencoba login SSH
dengan password akan tampil pesan error seperti di bawah ini.
1Permission denied (publickey).

Login SSH dengan key.

1ssh -i ~/.ssh/namakey user@ip-server

Login SSH dengan key


Kita bisa membuat file config login SSH untuk mengatur konfigurasi login
SSH semua server yang kita miliki.

1nano ~/.ssh/config
Isinya

1Host ServerA
2
HostName 192.168.1.10
3
4  IdentityFile ~/.ssh/key-serverA
5  IdentitiesOnly=yes
6  Port 49253
7
  User linus
8

10Host ServerB
11HostName 192.168.1.20
12
  IdentityFile ~/.ssh/key-serverB
13
  IdentitiesOnly=yes
  Port 49353
  User torvalds  

Dengan file config di atas, perintah login lebih pendek, tidak harus
menuliskan user, IP address, nomor port dan nama file key. Hal ini berarti
yang sedang melihat layar monitor tidak mengetahui secara detail
mengenai login SSH server kita.
1ssh ServerA

Login SSH menggunakan file config

Anda mungkin juga menyukai