http://vavai.com/2010/09/07/instalasi-aplikasi-denyhosts-untuk-melindungi-akses-ssh

Salah satu masalah utama jika akses SSH server dibuka untuk keperluan
remote adalah adanya user lain (cracker, hacker) yang coba-coba
mendapatkan akses masuk kedalam sistem. Hal ini bisa diantisipasi
dengan berbagai macam cara, misalnya dengan mengubah port default SSH,
tidak membolehkan akses root secara remote, hanya membolehkan host
tertentu untuk akses dan lain-lain.

Contoh berikut adalah log cracker yang ingin mencoba masuk kedalam sistem :

    Sep 6 23:44:33 myhostname sshd[22483]: Invalid user operator from
119.6.62.xxx
    Sep 6 23:44:37 myhostname sshd[22488]: Invalid user operator from
119.6.62.xxx
    Sep 6 23:44:43 myhostname sshd[22494]: Invalid user operator from
119.6.62.xxx
    Sep 6 23:44:46 myhostname sshd[22499]: Invalid user operator from
119.6.62.xxx
    Sep 6 23:44:48 myhostname sshd[22504]: Invalid user operator from
119.6.62.xxx
    Sep 6 23:44:51 myhostname sshd[22509]: Invalid user operator from
119.6.62.xxx
    Sep 6 23:44:54 myhostname sshd[22514]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:44:56 myhostname sshd[22519]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:44:59 myhostname sshd[22524]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:45:02 myhostname sshd[22530]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:45:05 myhostname sshd[22689]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:45:07 myhostname sshd[22773]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:45:10 myhostname sshd[22904]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:45:13 myhostname sshd[22954]: Invalid user oracle from 119.6.62.xxx
    Sep 6 23:45:15 myhostname sshd[22962]: Invalid user oracle from 119.6.62.xxx

Seperti bisa dilihat pada log diatas, pengakses mencoba dictionary
attack menggunakan berbagai nama user untuk mencoba akses. Meski akses
tersebut gagal dilakukan, server tetap terbebani karena terpaksa
melayani request yang masuk.

Salah satu cara yang bisa ditempuh untuk melindungi akses SSH adalah
dengan menggunakan aplikasi denyhosts. Aplikasi denyhosts melindungi
ssh dengan cara memasukkan IP pengakses kedalam daftar blacklist jika
beberapa kali salah memasukkan password.

Proses instalasi dan aplikasinya sangat mudah. Berikut adalah proses
instalasi pada openSUSE 11.3 :

   1. Buka http://software.opensuse.org/search. Cari aplikasi
denyhosts. Sesuaikan versi openSUSE yang digunakan. Jika tidak ada
aplikasi untuk versi openSUSE yang digunakan, silakan ambil paket
untuk versi yang berdekatan, misalnya SLES 11 SP1 bisa menggunakan
package untuk SLES 11 atau untuk openSUSE 11.1, 11.2 atau untuk
openSUSE 11.3. [1]
   2. Install menggunakan one-click-install
   3. Review file konfigurasi /etc/denyhosts.conf. Pada distro
openSUSE, denyhosts secara default akan menganalisa file log
/var/log/messages, namun mungkin saja kita perlu mengubah nama file
log untuk dianalisa, misalnya jika menggunakan aplikasi Zimbra,
denyhosts bisa diperintahkan untuk mengakses file log
/var/log/zimbra.log. Check juga mengenai jumlah maksimum kesalahan
pemasukan password dan pilihan lain yang tersedia.
   4. Jika konfigurasi sudah sesuai, jalankan denyhosts dengan perintah :

      service denyhosts start
      service denyhosts status

   5. Jika menginginkan agar denyhosts otomatis berjalan saat booting,
aktifkan service denyhosts dengan perintah :

      chkconfig denyhosts on

   6. File log denyhosts bisa ditemukan di /var/log/denyhosts. Jika
ada pengakses yang diblaclist karena memenuhi syarat (misalnya gagal
memasukkan password sebanyak 5X), denyhosts akan memasukkan IP
pengakses kedalam file /etc/hosts.deny

      Berikut adalah contoh saat denyhosts memblacklist salah satu IP :

          Sep 06 23:50:24 – denyhosts : INFO restricted: set([])
          Sep 06 23:50:24 – denyhosts : INFO Processing log file
(/var/log/zimbra.log) from offset (0)
          Sep 06 23:50:25 – denyhosts : INFO new denied hosts: ['119.6.62.xxx']

      Dan berikut isi file /etc/hosts.deny setelah IP diblacklist :

          myhostname:~ # cat /etc/hosts.deny

          # /etc/hosts.deny
          # See ‘man tcpd’ and ‘man 5 hosts_access’ as well as /etc/hosts.allow
          # for a detailed description.

          http-rman : ALL EXCEPT LOCAL

          ALL: 119.6.62.xxx

      Denyhosts, aplikasi simple namun bermanfaat :-)

Catatan :

1. denyhosts adalah salah satu cara, keep in mind bahwa banyak cara
lain yang bisa dilakukan untuk melindungi akses ssh, baik via
firewall, konfigurasi maupun aplikasi tertentu.

2. Cara diatas menggunakan distro openSUSE/SLES. Untuk distro lain
bisa menyesuaikan repo dan perintah-perintahnya

-- 
Best Regards,

Masim "Vavai" Sugianto
/************************************************************/
Blog (ID)                                  : http://www.vavai.com
Excellent Infotama Kreasindo    : http://www.vavai.biz
/************************************************************/

--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke tanya-jawab-unsubscr...@linux.or.id
Arsip dan info milis selengkapnya di http://linux.or.id/milis

Kirim email ke