DenyHosts adalah skrip python yang mengizinkan atau menolak akses ke server SSH menggunakan file /etc/hosts.allow dan /etc/hosts.deny dari sistem operasi berbasis Linux, Mac atau BSD.
Pada artikel ini, saya akan menunjukkan cara menginstal DenyHosts di Ubuntu dan cara mengkonfigurasinya. Mari kita mulai.
Menginstal DenyHosts
Agar DenyHosts berfungsi, Anda harus menginstal server SSH di engine Ubuntu Anda. Server SSH tersedia di repositori paket resmi Ubuntu.
Pertama-tama perbarui cache repositori paket menggunakan perintah berikut:
$ sudo apt-get updateUntuk menginstal server SSH, jalankan perintah berikut.
$ sudo apt-get install openssh-server -yInstall DenyHosts UbuntuInstall DenyHosts UbuntuInstall DenyHosts Ubuntu
DenyHosts juga tersedia di repositori paket resmi Ubuntu. Untuk menginstal DenyHosts, jalankan perintah berikut.
$ sudo apt-get install denyhostsTekan 'y' lalu tekan <Enter> untuk melanjutkan.
DenyHosts harus diinstal.
Mengonfigurasi DenyHosts
File konfigurasi DenyHosts di Ubuntu adalah /etc/denyhosts.conf
Untuk mengedit file konfigurasi DenyHosts, jalankan perintah berikut:
$ sudo nano /etc/denyhosts.confAtau
$ sudo vim /etc/denyhosts.confIni adalah bagaimana file konfigurasi DenyHosts terlihat.
Sekarang mari kita lihat beberapa properti di file konfigurasi DenyHosts dan cara kerjanya.
DENY_THRESHOLD_INVALID
Opsi ini bertanggung jawab untuk memblokir login SSH untuk akun user yang tidak ada di sistem. Nilai defaultnya adalah 5. Artinya, katakanlah seseorang mencoba masuk ke server SSH sebagai nama user yang berbeda. Jika upaya total lebih dari 5 kali, maka alamat IP komputer yang mencoba membuat koneksi akan ditambahkan ke file /etc/hosts.deny, sehingga komputer tidak akan dapat terhubung ke server SSH sampai dihapus dari file /etc/hosts.deny.
Anda dapat melihat dari tangkapan layar di bawah bahwa alamat IP dari server Denyhosts saya adalah 192.168.10.66
Alamat IP komputer lain yang akan saya coba sambungkan ke server Denyhosts adalah 192.168.10.92
Sekarang saya akan mencoba untuk terhubung ke server sebagai baduser. Perhatikan bahwa user baduser tidak ada di server-denyhosts.
$ ssh [email protected]Seperti yang Anda lihat, saya telah mencoba masuk 3 kali dan setiap upaya gagal.
Saya mencoba serveral lebih sering. Seperti yang Anda lihat, pada upaya ke-6 , saya mendapatkan pesan 'Koneksi ditutup oleh host jarak jauh'. Itu berarti alamat IP saya telah diblokir oleh DenyHosts.
Sekarang jika Anda membaca isi file /etc/hosts.deny dengan perintah berikut:
$ sudo cat /etc/hosts.denyAnda akan melihat alamat IP komputer yang Anda coba masuki sebagai user baduser yang tidak ada di sana. Jadi DenyHosts bekerja dengan sempurna.
DENY_THRESHOLD_VALID
Opsi ini sama dengan DENY_THRESHOLD_INVALID. Satu-satunya perbedaan adalah bahwa, DENY_THRESHOLD_VALID berlaku untuk user yang ada di engine server-denyhosts. Artinya, jika upaya login untuk user yang ada gagal 10 kali (nilai default), alamat IP engine yang mencoba membuat koneksi akan ditambahkan ke file /etc/hosts.deny. Jadi engine yang mencoba terhubung tidak akan diizinkan untuk terhubung ke server lagi.
DENY_THRESHOLD_ROOT
Sama seperti dua opsi lainnya. Tapi itu hanya berlaku untuk login root yang tidak valid. Nilai defaultnya adalah 1. Artinya, jika seseorang mencoba terhubung ke server Denyhosts sebagai root dan gagal sekali, alamat IP-nya akan ditambahkan ke file /etc/hosts.deny. Jadi dia tidak akan dapat terhubung ke server lagi.
HOSTNAME_LOOKUP
Secara default, di Ubuntu, DenyHosts tidak akan menyelesaikan nama host. Artinya, alamat IP tidak akan dikonversi ke nama host. Tetapi jika Anda perlu menyelesaikan nama host ke alamat IP dan seterusnya, setel HOSTNAME_LOOKUP ke YA dan simpan file.
AGE_RESET_VALID
AGE_RESET_VALID memberi tahu DenyHosts setelah berapa lama upaya login yang gagal untuk user yang ada akan disetel ulang ke 0. Nilai defaultnya adalah 5 hari. Artinya, jika seseorang mencoba login pada hari pertama, dan kemudian menunggu selama 5 hari dan mencoba login lagi, DenyHos
ts tidak akan menempatkan mereka di file /etc/hosts.deny.AGE_RESET_ROOT
Sama seperti AGE_RESET_VALID tetapi hanya berlaku untuk login root yang tidak valid. Nilai default adalah 25 hari.
AGE_RESET_INVALID
Sama seperti AGE_RESET_VALID, tetapi hanya berlaku untuk upaya masuk yang gagal dari user yang tidak ada dari engine server-denyhosts.
Ada lebih banyak pilihan. Tapi ini di luar cakupan artikel ini. Silakan lihat di situs resmi DenyHosts di http://denyhosts.sourceforge.net untuk informasi lebih lanjut.
Begitulah cara Anda menginstal dan Mengonfigurasi DenyHosts di Ubuntu. Terima kasih telah membaca artikel ini.