3.2 Server SSH


Haii, kembali lagi ke gw, Ferri Rizaldi :)
Pada kesempatan kali ini seperti biasa gw akan mengshare ilmu  yang mungkin bermanfaat bagi kalian semua :D

Judul pada postingan kali ini adalah "Server SSH".
Postingan kali ini, kalian harus menginstall "Local Repository" terlebih dahulu. Kalian bisa lihat di Sini.

Setelah terinstall local repository nya, selanjutnya kalian siapkan bahan dan alatnya.

Device
OS
Hostname
IP Addr
Gat
DNS
Server
CentOS
feriserver
14.14.14.2/24
14.14.14.1
14.14.14.2
Client1
Win8
feriwindows
14.14.14.3/24
14.14.14.1
14.14.14.2
Client2
CentOS
fericlientcentos
14.14.14.4/24
14.14.14.1
14.14.14.2

Berikut Topologinya :



1. Install dan Remote SSH
a. Server
Install SSH nya di server dengan perintah :
                                                "yum install openssh-server -y"


Untuk melihat paket SSH sudah terinstall atau belum, bisa dilihat dengan perintah :
                                                "rpm -qa |grep ssh"

Setelah terinstall SSH nya, selanjutnya setting IP Address nya. kalian bisa lihat di Sini.

Berikut verifikasi dari Server nge ping ke client1 dan client2. Untuk Pengetesan ping ke client, clientnya harus terkonfig IP Addressnya.

b. Verifikasi SSH pada client1 (Windows 8)
Setting IP Addressnya terlebihh dahulu.

Setelah itu coba ping ke IP Server.

untuk pembuktian SSH nya, kalian harus download putty terlebih dahulu untuk windows. Setelah terdownload, buka putty nya. nanti akan muncul seperti gambar dibawah.
Pada bagian hostname isi dengan IP Server.
Pilih connect type nya yaitu SSH.
Lalu biarkan portnya secara default.

Setelah itu akan muncul seperti gambar dibawah.
Isi login as nya dengan "root".
Setelah itu isi password dengan password root servernya.
pada gambar dibawah, meremote SSH menggunakan putty berhasil.

c. Verifikasi SSH pada client2 (CentOS)
Setting IP Addressnya terlebih dahulu pada centos.

Setelah itu, lakukan pengetesan ping.

Selanjutnya install SSH nya di client2

Setelah terinstall SSH nya, selanjutnya ketik perintah 
          "ssh root@ip_server"
Setelah itu masukkan password root servernya.





2. Pembuktian SSH lebih Secure
Disini gw menggunakan GNS3 untuk membuktikannya. Cara melihat SSH lebih secure daripada telnet caranya
klik kanan pada kabel server, setelah itu pilih "start capture". Setelah itu akan muncul seperti gambar dibawah. Langsung saja klik OK.

Cari protocol yang bernama "SSHv2" atau kalian bisa juga mencarinya di "filter".
Setelah ketemu SSHv2 nya, klik kanan pada SSHv2 nya lalu pilih "follow TCP stream".

Dan pada gambar dibawah sudah terlihat bahwa data yang kita kirimkan ke ssh akan dienskripsi oleh SSH nya. Tidak seperti Telnet.
3. Disable Root Access dan Limit User Access
Fungsi dari Disable root access dan limit user access adalah untuk menambah keamanan pada server kita. Jadi tidak sembarang user yang bisa meremote server kita dan hanya user yang sudah kita perbolehkan yang bisa meremote server kita.
Maksud disable root access itu adalah kita mendisable akses root jika client ingin meremote server menggunakan root. Kurang lebih seperti itu :)
dan Limit user access itu adalah kita membatasi user untuk login ke ssh. Jadi hanya user yang telah didaftarkan saja yang bisa login ke ssh tersebut.

a. Server
Pertama kalian buat user baru dahulu di Server. Caranya :
"adduser nama_user"
"passwd nama_user"

Selanjutnya adalah edit file "sshd_config" yang terletak di direktori /etc/ssh.

Setelah itu cari tulisan seperti gambar dibawah. Setelah ketemu, edit seperti gambar dibawah.
untuk AllowUsers nya masukan user yang tadi kalian buat sebelumnya. Jika sudah di edit, tekan "ctrl+x > tekan Y > enter". 

Lalu kalian restart ssh nya. Perintahnya :
"systemctl restart sshd" atau "/etc/init.d/sshd restart"

b. Verifikasi di Client2 (CentOS)
Coba kalian login menggunakan user root seperti dibawah. Pasti akan "permission denied" atau akses ditolak. Karena tadi saat edit file "sshd_config" pada bagian "PermitRootLogin" nya diubah menjadi "no".

Lalu coba kalian login menggunakan user yang dibuat tadi. maka akan berhasil loginnya. Karena di file "sshd_config" AllowUsers nya adalah user yang tadi dibuat.

Coba kalian buat user baru lagi di server.

Setelah itu coba login di client menggunakan user yang dibuat tadi.
Pasti akan ditolak, karena AllowUsers nya hanya didaftarkan 1 user saja.

4. Mengganti Port SSH
Mengganti port ini fungsinya juga untuk memberikan keamanan yang lebih pada server kita. Jadi hanya kita dan user yang diperbolehkan yang tahu port berapakah untuk meremote server kita menggunakan SSH. Yak kurang lebih seperti itu :v

a. Server
Untuk merubah port kita harus mengedit file "sshd_config" yang ada di direktori "/etc/ssh/"

Port default SSH itu adalah 22. Untuk merubahnya, kalian hapus tanda # lalu ubah port nya sesuai keinginan kalian.

Kemudian kita harus mendaftarkan port yang baru kita buat kedalam sistem selinux pada centos dengan menggunakan perintah semanage. Akan tetapi perintah semanage tidak bisa kita gunakan karena defaultnya belum terinstall. Untuk menginstall paket nya dengan perintah :

                                      "yum install policycoreutils-python -y"

Setelah terinstall, baru kta bisa mendaftarkan port SSH yang baru kedalam selinux centos. Perintahnya :
                      "semanage port -a -t ssh_port_t -p tcp port_baru"

Dan daftarkan juga port barunya ke firewall centos. Perintahnya :
                              "firewall-cmd --permanent --add-port=port_baru/tcp"
Dan restart firewallnya untuk menyimpan konfigurasi tadi dengan perintah :
                                                      "firewall-cmd --reload"

Setelah mendaftarkan port baru ke selinux dan firewallnya, selanjutnya restart SSH nya.

Untuk melihat port ssh sudah terubah. Perintahnya : 
                                                            "ss -tnlp | grep ssh"

b. Verifikasi di Client2 (CentOS)
Coba remote SSH menggunakan user yang pertama dibuat. Pastinya akan ditolak. Karena portnya masih menggunakan default.

Coba lagi remote SSH seperti sebelumnya, tapi ditambah perintahnya yaitu "-p port_baru". Baru akan bisa meremote servernya,

5. Login Banner SSH
Kebanyakan sysadmin menerapkan login banner di Server mereka, tujuannya untuk menunjukkan beberapa  pesan atau peringatan ketika sesi ssh terhubung dan sebelum masuk ke sistem Server. Pesan yang ditampilkan dibanner linux didedikasikan oleh sysadmin untuk penyusup yang ingin memulai serangan brute force atau lainnya ke server. Sehingga penyusup akan kesulitan untuk mengetahui sandi atau password pada server yang menjadi target.

a. Server
Pertama kita buat terlebih dahulu file banner nya ke direktori /etc.

Lalu isikan pesan atau peringatan kepada user yang ingin memulai remote server.

Setelah itu edit file "sshd_config" yang teletak di direktori "./etc/ssh/",

Cari Tulisan seperti gambar dibawah, lalu tambahkan script banner yang kita buat tadi.

Setelah itu restart SSH nya.

b. Verifikasi di Client2 (CentOS)
Coba kalian memulai meremote server. Nanti akan muncul pesan yang tadi kalian buat sebelum ingin memasukkan password.

Yakk mungkin itu saja mengenai Server SSH yang saya ketahui :)
Jika kaliann mendapat kesusahan, kalian bisa tuliskan permasalahannya dimana di kolom komentar.
Sekian dari gw :D



EmoticonEmoticon