Cara Menginstall OpenSSH Server dan Membuatnya Lebih Aman

Pada setiap server dengan sistem operasi Linux, seperti Debian, Ubuntu, Centos, dan Sistem Operasi berbasis Linux lainnya, baik pada VPS maupun Dedicated Server pada umumnya secara default, aplikasi OpenSSH telah terinstall sehingga dapat langsung siap digunakan untuk mengakses dan memanage server secara command-line. Namun ada kalanya aplikasi OpenSSH Server bersifat opsional sehingga harus diinstall sendiri ketika kita melakukan instalasi salah satu Sistem Operasi Linux, misalnya saja pada VPS bertipe KVM maupun Dedicated Server yang menyediakan IPMI atau KVMoIP.

Ads Banner - VPS murah mulai dari 10 ribuan saja

Tentu saja setiap distro linux menyediakan paket OpenSSH Server pada repositorynya, sehingga dapat diinstall dengan mudah tanpa harus melakukan compile dari source code. Akan tetapi kita juga dapat mengcompilenya sendiri dari source code yang tersedia, sehingga kita dapat memodifikasi dan menentukan fitur apa saja yang tersedia dan diperlukan untuk OpenSSH Server yang akan kita compile.

Oleh karena itu saya akan mencontohkan cara compile dan instalasi OpenSSH Server 6.4p1 sekaligus beberapa cara untuk membuat server yang kita miliki lebih aman. Seperti biasa, disini saya mencontohkan untuk distro Debian dan Ubuntu, karena pada umumnya untuk pengguna distro Centos, urusan compile mengcompile merupakan suatu hal yang sudah biasa.

Pertama-tama, kita harus menginstall beberapa paket yang diperlukan:

root@simple:~# apt-get update
root@simple:~# apt-get install libpam0g-dev

Setelah itu download source code dan lakukan extract sebelum kita memulai untuk compile.

root@simple:~# wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.4p1.tar.gz
root@simple:~# tar -zxvf openssh-6.4p1.tar.gz

Lakukan konfigurasi fitur-fitur yang akan dicompile dari source codenya. Secara default, fitur pada OpenSSH Server 6.4p1 yang disupport adalah PAM support dan Translate v4 in v6 hack dan instalasi akan ditempatkan pada “/opt”. Sehingga apabila kita ingin menempatkan instalasi seperti OpenSSH yang diinstall melalui apt-get maka kita perlu menambahkan prefix saat kita ingin melakukan konfigurasi compile.

root@simple:~# cd openssh-6.4p1
root@simple:~# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam
root@simple:~# make && make install

Dengan demikian apabila sebelumnya OpenSSH telah terinstall maka akan ditimpa (overwrite) oleh OpenSSH yang kita compile.Dan apabila compile yang dilakukan berhasil tanpa ada error, maka hasil compile adalah seperti dibawah ini:

OpenSSH has been configured with the following options:
                     User binaries: /usr/bin
                   System binaries: /usr/sbin
               Configuration files: /etc/ssh
                   Askpass program: /usr/libexec/ssh-askpass
                      Manual pages: /usr/share/man/manX
                          PID file: /var/run
  Privilege separation chroot path: /var/empty
            sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin
                    Manpage format: doc
                       PAM support: yes
                   OSF SIA support: no
                 KerberosV support: no
                   SELinux support: no
                 Smartcard support:
                     S/KEY support: no
              TCP Wrappers support: yes
              MD5 password support: no
                   libedit support: no
  Solaris process contract support: no
           Solaris project support: no
       IP address in $DISPLAY hack: no
           Translate v4 in v6 hack: yes
                  BSD Auth support: no
              Random number source: OpenSSL internal ONLY
             Privsep sandbox style: seccomp_filter
 
              Host: i686-pc-linux-gnu
          Compiler: gcc
    Compiler flags: -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-builtin-memset -fstack-protector-all
Preprocessor flags:
      Linker flags:  -fstack-protector-all
         Libraries: -lresolv -lcrypto -lrt -ldl -lutil -lz -lnsl  -lcrypt
         +for sshd:  -lwrap -lpam
 
PAM is enabled. You may need to install a PAM control file
for sshd, otherwise password authentication may fail.
Example PAM control files can be found in the contrib/
subdirectory

Setelah itu kita dapat mencoba untuk menjalankan OpenSSH Server yang telah terinstall dengan cara:

root@simple:~# service ssh start

Apabila proses sshd berjalan dan kita dapat mengaksesnya menggunakan putty atau bitvise, maka instalasi yang dilakukan sudah berhasil. Selanjutnya kita dapat mengamankannya dengan beberapa cara misalnya dengan mengubah string version dan penggunaan iptables ataupun tcpwrapper. Karena akhir-akhir ini sedang marak sekali penggunaan SSH Server untuk tunneling, dan banyak juga yang menanyakan bagaimana cara mengubah string version SSH, karena sepertinya untuk penggunaan internet gratis versi tertentu mesti mengubah string version agar tools-nya dapat berjalan lancar.

Walaupun saya sendiri tidak mengetahuinya secara pasti, namun mengubah string version SSH cukup mudah yaitu hanya dengan mengubah isi file pada “version.h” menggunakan vi atau nano. Sehingga setelah version string diubah maka hasilnya akan tampak seperti berikut ini:

Screenshot Mengubah String Version OpenSSH untuk Tunneling

Selanjutnya mengenai tcpwrapper, kamu bisa mengisi entry pada allow.host dan deny.host untuk IP mana saja yang akan diblokir ataupun diperbolehkan. Cara ini cukup efektif untuk mengamankan server kamu dari serangan bruteforce. Oleh karena itu sebaiknya untuk lebih meningkatkan keamanan selalu gunakan root password yang kuat.

Ads Banner - VPS murah mulai dari 10 ribuan saja

Artikel Terkait

[related_posts limit=”5″]

 

Leave a Reply