Sabtu, 25 Februari 2012

Denyhosts, Aplikasi Untuk Security SSH

I. Pendahuluan

SSH atau Secure SHell merupakan salah satu metode yang digunakan untuk meremote access ke mesin-mesin UNIX/LINUX. SSH lebih aman dari dibandingkan dengan telnet karena SSH mendukung exkripsi data 128 bit dibandingkan telnet yang masih menggunakan plain text. Namun apakah SSH memang benar-benar aman? Sebenarnya tidak ada masalah jika kejahatan tidak semakin canggih. Hanya saja faktanya, dunia keamanan selalu berlomba dengan semakin canggihnya kejahatan itu sendiri. Dengan demikian kita perlu selalu meningkatkan kesiagaan kita agar bisa melindungi keamanan sistem kita sendiri. Ada beberapa hal yang bisa dilakukan untuk meningkatkan keamanan SSH seperti menolak akses menggunakan root seperti yang ada di sini, dan mengganti port standar ssh yaitu dengan merubah bagian Port di file /etc/ssh/sshd_config.

II. Denyhosts

Ada satu lagi yang harus diperhatikan untuk menjaga keamanan SSH yaitu dengan menolak akses yang brutal menggunakan Denyhosts. DenyHosts merupakan skrip python yang dibuat oleh Phil Schwartz untuk menganalisis pesan-pesan dalam log ssh untuk menentukan host-host IP mana yang mencoba untuk meng-hack ke dalam sistem kita. Di dalam artikel ini akan dijelaskan tentang bagaimana cara menginstal Denyhosts di Centos. Penulis menggunakan Centos 5.5 dan Denyhosts versi 2.6.5. Berikut adalah langkah-langkahnya:

1. Mendapatkan file rpmforge
Langkah pertama yaitu mendapatkan file rpmforge kemudian menginstalnya:
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm

2. Instal Denyhosts
Instal Denyhosts dengan cara:
# yum install denyhosts
Pastikan Denyhosts yang terinstal mempunyai versi 2.6.5. Untuk mengetahuinya, gunakan perintah berikut:
# rpm -qa | grep denyhosts
Jika yang terinstal bukan versi 2.6.5, hapus Denyhosts kemudian instal kembali dengan menggunakan perintah:
# yum remove denyhosts
# wget http://download.fedora.redhat.com/pub/epel/5/i386/denyhosts-2.6-5.el5.noarch.rpm
# rpm -ivh denyhosts-2.6-5.el5.noarch.rpm

3. Merubah Konfigurasi Denyhosts
File konfigurasi Denyhosts berada di /etc/denyhosts.conf. Penulis mengkonfigurasi file tersebut seperti berikut:

SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 4w
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/lock/subsys/denyhosts
ADMIN_EMAIL = 
 test@latihanlinux.co.ccThis e-mail address is being protected from spambots, you need JavaScript enabled to view it
 
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts 
SMTP_SUBJECT = DenyHosts Report from $[HOSTNAME]
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h

Secara Default, Denyhosts akan memblacklist jika seorang user mencoba menggunakan user yang tidak ada di dalam sistem sebanyak 5x yang pengaturannya berada pada bagian DENY_THRESHOLD_INVALID di file/etc/denyhosts.conf. Kemudian jika seseorang salah memasukkan password untuk user-user yang berada dalam sistem, maka secara default denyhosts akan memblacklist IP orang tersebut jika salah memasukkan password sebanyak 10 x yang pengaturannya berada pada bagian DENY_THRESHOLD_VALID di file /etc/denyhosts.conf. Dan secara default jika salah memasukkan password root sebanyak 1x, maka denyhosts akan langsung memblacklist ip orang tersebut yang pengaturannya b. Jika kita ingin ketika denyhosts mengirimkan alert berupa email ke kita maka tuliskan email kita di bagian ADMIN_EMAIL dengan syarat paket sendmail sudah menyala dalam sistem kita.

4. Menyalakan service Denyhosts
Setelah itu nyalakan denyhosts dengan cara:
# chkconfig denyhosts on
# service denyhosts start

5. Melihat Log Denyhosts
Untuk melihat log-log denyhost dapat dilihat di /var/log/denyhosts dan untuk melihat IP-IP mana saja yang sudah diblok berada di /etc/hosts.deny. Kemudian untuk melihat secara lengkap tentang denyhosts, silahkan ke folder /var/lib/denyhosts dan difolder tersebut terdapat banyak file-file yang "wajib" disimak oleh para system admin untuk analisis keamanan sistemnya.

III. Catatan

Agar sebuah IP bisa di pulihkan kembali setelah di blacklist oleh denyhosts, maka kita harus menghapus ip tersebut dengan membuka file /etc/hosts.deny kemudian menghapus atau memberi tanda pagar (#) di sebelah kanan IP tersebut. Kemudian coba gunakan ssh kembali dan seharusnya sudah IP tersebut bisa meremote server itu kembali. Selain ituagar sebuah IP tetap terhubung walaupun seringkali melakukan kesalahan memasukkan password, maka masukkan IP tersebut ke dalam file /var/lib/denyhosts/allowed-hosts. Setelah itu restart denyhosts dengan cara

# service denyhosts restart

Referensi

Rahasia dan Trik Mengamankan Server Linux, Alva Hendi Muhammad
http://www.unixmen.com/
http://www.cyberciti.biz/
http://almamunbd.blogspot.com/

Tidak ada komentar:

Posting Komentar