GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengamankan Layanan SSH dengan Port Knocking

Jika Anda ingin mengizinkan pengguna mengakses layanan tertentu di server Anda tanpa membuka firewall, Anda dapat menggunakan port knocking. Port knocking adalah metode yang memungkinkan Anda untuk mengamankan layanan Anda dari pengguna yang tidak berwenang. Port knocking memungkinkan koneksi masuk ketika urutan upaya koneksi yang benar diterima.

Pada postingan kali ini, kita akan mengamankan open SSH port 22 dengan port knocking. Port ini hanya akan dibuka ketika seseorang meminta port 7000, 8000, 9000 secara berurutan.

Prasyarat

  • Server Ubuntu 20.04 di Atlantic.Net Cloud Platform
  • Kata sandi root yang dikonfigurasi di server Anda

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 20.04 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Ubuntu 20.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

apt-get update -y

Langkah 2 – Instal dan Konfigurasi Knockd

apt-get install knockd -y

Setelah paket diinstal, edit file konfigurasi default port knocking:

nano /etc/knockd.conf

Temukan urutan default yang ditunjukkan di bawah ini:

        sequence    = 7000,8000,9000
        sequence    = 9000,8000,7000

Dan ganti dengan urutan berikut:

        sequence    = 7777,8888,9999
        sequence    = 9999,8888,7777

Juga, temukan baris berikut:

        command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Dan ganti dengan baris berikut:

        command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Simpan dan tutup file setelah Anda selesai.

Dalam file konfigurasi di atas, urutan 7777, 8888, 9999 digunakan untuk membuka port 22 untuk sistem klien, dan urutan 9999, 8888, 7777 digunakan untuk menutup port 22 untuk sistem klien.

Selanjutnya, edit /etc/default/knockd file konfigurasi:

nano /etc/default/knockd

Ubah baris berikut:

# Start the Knockd service
START_KNOCKD=1

# Name of your network interface
KNOCKD_OPTS="-i eth0"

Simpan dan tutup file setelah Anda selesai, kemudian restart layanan Knockd dan aktifkan untuk memulai pada sistem reboot:

systemctl restart knockd
systemctl enable knockd

Selanjutnya, verifikasi status layanan Knockd dengan perintah berikut:

systemctl status knockd

Contoh keluaran:

● knockd.service - Port-Knock Daemon
     Loaded: loaded (/lib/systemd/system/knockd.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-08-15 13:26:31 UTC; 5s ago
       Docs: man:knockd(1)
   Main PID: 6555 (knockd)
      Tasks: 1 (limit: 2353)
     Memory: 296.0K
     CGroup: /system.slice/knockd.service
             └─6555 /usr/sbin/knockd -i eth0

Aug 15 13:26:31 ubuntu2004 systemd[1]: Started Port-Knock Daemon.
Aug 15 13:26:31 ubuntu2004 knockd[6555]: starting up, listening on eth0

Langkah 3 – Instal dan Konfigurasi Iptables

Knockd menggunakan aturan Iptables untuk membuka dan menutup port SSH, jadi Anda perlu menginstal paket Iptables di server Anda.

Jalankan perintah berikut untuk menginstal paket Iptables:

apt-get install iptables iptables-persistent -y

Setelah paket diinstal, buat aturan Iptables untuk memblokir port SSH 22 untuk semua pengguna:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j REJECT

Selanjutnya, simpan aturan Iptables dan muat ulang dengan perintah berikut:

netfilter-persistent save
netfilter-persistent reload

Pada titik ini, port knocking dikonfigurasi untuk OpenSSH di server Anda.

Langkah 4 – Periksa Koneksi OpenSSH dari Sistem Klien

Selanjutnya, masuk ke sistem klien dan periksa apakah port OpenSSH 22 diblokir atau tidak.

Anda dapat memeriksanya menggunakan perintah NMAP:

nmap your-server-ip

Anda akan melihat bahwa port 22 difilter di server.

Nmap scan report for your-server-ip
Host is up (0.38s latency).
Not shown: 998 closed ports
PORT   STATE    SERVICE
21/tcp open     ftp
22/tcp filtered ssh
Nmap done: 1 IP address (1 host up) scanned in 277.58 seconds

Sekarang, coba sambungkan ke server Anda menggunakan SSH dari mesin klien:

ssh [email protected]

Anda akan melihat pesan koneksi ditolak:

ssh: connect to host your-server-ip port 22: Connection refused

Langkah 5 – Konfigurasi Knockd pada Klien untuk Menghubungkan Server SSH

Sekarang Anda perlu menginstal klien Knock pada sistem klien untuk terhubung ke server SSH.

Pertama, jalankan perintah berikut untuk menginstal paket klien Knockd:

apt-get install knockd -y

Sekarang gunakan urutan ketukan berikut untuk membuka port SSH 22 di server.

knock -v your-server-ip 7777 8888 9999

Ketika server Anda menerima urutan yang benar yang telah Anda tetapkan dalam file konfigurasi Knockd, itu akan membuka port SSH 22 untuk mesin klien Anda, dan Anda akan dapat terhubung ke server SSH.

ssh [email protected]

Setelah menyelesaikan tugas Anda di server SSH jarak jauh, Anda dapat menggunakan urutan berikut dari mesin klien untuk menutup kembali port SSH.

knock -v your-server-ip 9999 8888 7777

Kesimpulan

Dalam panduan di atas, Anda mempelajari cara mengamankan server SSH dengan port knocking. Anda dapat menggunakan metode yang sama untuk mengamankan port lain di server Linux. Cobalah di hosting VPS dari Atlantic.Net!


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

  2. SSH ke Port Selain 22:Bagaimana Melakukannya (dengan Contoh)

  3. Cara Mengaktifkan Layanan SSH di Ubuntu 22.04 LTS

  1. Cara Mengubah Port SSH Di Linux

  2. Cara Mengatur Tunneling SSH

  3. Cara Mengamankan server Ubuntu Anda dengan CSF Firewall

  1. Cara membuat server file pribadi dengan SSH di Linux

  2. Cara Mengubah Port SSH di VPS

  3. Bagaimana Cara Ssh Ke Server Menggunakan Server Lain??