GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menggunakan Port Knocking Untuk Mengamankan Layanan SSH di Linux

Pengetuk Pelabuhan adalah teknik bagus untuk mengontrol akses ke port dengan hanya mengizinkan pengguna yang sah mengakses layanan yang berjalan di server. Ini bekerja sedemikian rupa sehingga ketika urutan upaya koneksi yang benar dilakukan, firewall dengan senang hati membuka port yang ditutup.

Logika di balik port knocking adalah untuk melindungi sistem Linux Anda dari pemindai port otomatis yang mencari port terbuka. Dalam panduan ini, kami memeriksa bagaimana Anda dapat menginstal port knocking dan bagaimana Anda dapat mengonfigurasinya untuk mengamankan layanan SSH. Untuk tujuan demonstrasi, kami akan menggunakan Ubuntu 18.04 .

Langkah 1:Instal dan Konfigurasi knockd

Untuk memulai, masuk ke sistem Linux Anda dan instal knockd daemon seperti yang ditunjukkan.

$ sudo apt install knockd

Setelah terinstal, buka knockd.conf konfigurasi dengan editor teks pilihan Anda. Di sini, kami menggunakan editor teks baris perintah vim.

$ sudo vim /etc/knockd.conf

File konfigurasi default muncul sebagai berikut.

Di bawah [openSSH] bagian, kita perlu mengubah urutan ketukan default – 7000.800.9000 - untuk sesuatu yang lain. Ini karena nilai-nilai ini sudah diketahui dan dapat membahayakan keamanan sistem Anda.

Untuk tujuan pengujian, kami telah menetapkan nilai ke 10005, 10006, 10007 . Ini adalah urutan yang akan digunakan untuk membuka port SSH dari sistem klien.

Di baris ketiga – dimulai dengan perintah , ubah -A ke -I tepat setelah /sbin/iptables perintah dan sebelum INPUT .

Dan terakhir, di bawah [closeSSH] bagian, sekali lagi, ubah urutan default ke pilihan pilihan Anda. Ini adalah urutan yang akan digunakan untuk menutup koneksi SSH setelah pengguna selesai dan keluar dari server.

Berikut konfigurasi lengkap kami.

Setelah selesai, simpan perubahan dan keluar.

Konfigurasi lain yang perlu kita modifikasi adalah /etc/default/knockd . Sekali lagi, buka menggunakan editor teks Anda.

$ sudo vim /etc/default/knockd

Cari baris START_KNOCKD=0 . Batalkan komentar dan atur nilainya menjadi 1 .

Selanjutnya, menuju ke baris KNOCKD_OPTS=”-i eth1” Batalkan komentar dan ganti eth1 default nilai dengan antarmuka jaringan aktif sistem Anda. Untuk memeriksa antarmuka jaringan Anda cukup jalankan ip addr atau perintah ifconfig.

Untuk sistem kami, enp0s3 adalah kartu jaringan yang aktif.

Konfigurasi lengkapnya seperti pada gambar.

Simpan perubahan dan keluar.

Kemudian mulai dan aktifkan knockd daemon seperti yang ditunjukkan.

$ sudo systemctl start knockd
$ sudo systemctl enable knockd

Untuk memeriksa status knockd daemon, jalankan perintah:

$ sudo systemctl status knockd

Langkah 2:Tutup Port SSH 22 Pada Firewall

Karena tujuan dari ketukan service adalah untuk memberikan atau menolak akses ke layanan ssh, kita akan menutup port ssh di firewall. Tapi pertama-tama, mari kita periksa status firewall UFW.

$ sudo ufw status numbered

Dari output, kita dapat melihat dengan jelas bahwa SSH pelabuhan 22 terbuka di kedua IPv4 dan IPv6 protokol bernomor 5 dan 9 masing-masing.

Kita perlu menghapus dua aturan ini seperti yang ditunjukkan, dimulai dengan nilai tertinggi – yaitu 9 .

$ sudo ufw delete 9
$ sudo ufw delete 5

Sekarang, jika Anda mencoba masuk dari jarak jauh ke server, Anda akan mendapatkan kesalahan waktu tunggu koneksi seperti yang ditunjukkan.

Langkah 3:Konfigurasi klien ketukan untuk Terhubung ke Server SSH

Pada langkah terakhir, kami akan mengonfigurasi klien dan mencoba masuk dengan terlebih dahulu mengirimkan urutan ketukan yang kami konfigurasikan di server.

Tapi pertama-tama, instal knockd daemon seperti yang Anda lakukan di server.

$ sudo apt install knockd

Setelah instalasi selesai, kirim urutan ketukan menggunakan sintaks yang ditunjukkan

$ knock -v server_ip knock_sequence

Dalam kasus kami, ini diterjemahkan menjadi:

$ knock -v 192.168.2.105 10005 10006 10007

Anda harus mendapatkan output yang mirip dengan yang kami miliki, tergantung pada urutan Anda. Ini menunjukkan bahwa upaya ketukan berhasil.

Pada titik ini, Anda harus berhasil masuk ke server menggunakan SSH.

Setelah Anda selesai melakukan pekerjaan Anda di server jauh, tutup port SSH dengan mengirimkan urutan ketukan penutup.

$ knock -v 192.168.2.105 10007 10006 10005

Setiap upaya untuk masuk ke server akan gagal seperti yang ditunjukkan.

Pemikiran Penutup

Ini merangkum panduan ini tentang cara memanfaatkan port knocking untuk mengamankan layanan SSH di server Anda. Pendekatan yang lebih baik dan lebih mudah adalah mengonfigurasi otentikasi kata sandi SSH menggunakan pasangan kunci SSH. Ini memastikan bahwa hanya pengguna dengan kunci pribadi yang dapat mengautentikasi dengan server tempat kunci publik disimpan.


Ubuntu
  1. Cara Menggunakan Fail2ban untuk Mengamankan SSH di CentOS 7

  2. Cara Mengubah Port SSH Di Linux

  3. Bagaimana cara mengubah port SSH di Lubuntu 20.04 Linux

  1. Bagaimana cara menginstal layanan SSH ( secure shell ) di Kali Linux

  2. Bagaimana Cara Menggunakan Chromecast?

  3. Cara Mengamankan Layanan SSH dengan Port Knocking

  1. Cara Menginstal dan Menggunakan Pemindai Jaringan Nmap di Linux

  2. Cara Menggunakan Penerusan Port SSH

  3. cara menggunakan netstat pada port tertentu di Linux