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.
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:
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.
Artikel Terkait
[related_posts limit=”5″]