Cara menggunakan port mengetuk untuk mengamankan layanan ssh di linux
- 2287
- 127
- Hector Kuhic
Port Knocking adalah teknik yang bagus untuk mengendalikan akses ke port dengan hanya memungkinkan pengguna yang sah akses ke layanan yang berjalan di server. Ini bekerja sedemikian rupa sehingga ketika urutan upaya koneksi yang tepat dilakukan, firewall dengan senang hati membuka port yang ditutup.
Logika di balik ketukan port adalah melindungi sistem Linux Anda dari pemindai port otomatis yang berkeliaran untuk port terbuka. Dalam panduan ini, kami memeriksa bagaimana Anda dapat menginstal port ketukan dan bagaimana Anda dapat mengonfigurasinya untuk mengamankan layanan ssh. Untuk tujuan demonstrasi, kami akan menggunakan Ubuntu 18.04.
Langkah 1: Instal dan Konfigurasikan Knockd
Untuk memulai, masuk ke sistem Linux Anda dan instal Knockd daemon seperti yang ditunjukkan.
$ sudo apt instal knockd
Setelah diinstal, 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.
File Konfigurasi KnockdDi bawah [OpenSsh]
Bagian, kita perlu mengubah urutan ketukan default - 7000.8000.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 10005, 10006, 10007. Ini adalah urutan yang akan digunakan untuk membuka port SSH dari sistem klien.
Di baris ketiga - dimulai dengan memerintah, mengubah -A
ke -SAYA
tepat setelah /sbin/ptables
perintah dan sebelumnya MEMASUKKAN
.
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.
Inilah konfigurasi lengkap kami.
Pengaturan Konfigurasi KnockdSetelah selesai, simpan perubahan dan keluar.
Konfigurasi lain yang perlu kita ubah adalah /etc/default/knockd. Sekali lagi, buka menggunakan editor teks Anda.
$ sudo vim/etc/default/knockdPengaturan Konfigurasi Knockd Default
Temukan garis Start_knockd = 0
. Membatalkan komentar dan mengatur nilainya 1
.
Selanjutnya, pergilah ke garis Knockd_opts = "-i eth1"
Unkomment dan ganti default Eth1
Nilai dengan antarmuka jaringan aktif dari sistem Anda. Untuk memeriksa antarmuka jaringan Anda cukup jalankan IP AddR atau perintah ifconfig.
Untuk sistem kami, ENP0S3 adalah kartu jaringan yang aktif.
Antarmuka jaringan aktifKonfigurasi lengkap seperti yang ditunjukkan.
Nilai Konfigurasi KnockdSimpan perubahan dan keluar.
Kemudian mulai dan aktifkan Knockd daemon seperti yang ditunjukkan.
$ sudo systemctl mulai knockd $ sudo systemctl mengaktifkan knockd
Untuk memeriksa status Knockd daemon, jalankan perintah:
$ sudo systemct status knockdPeriksa status knockd
Langkah 2: Tutup Port SSH 22 di Firewall
Karena tujuan dari Knockd Layanan adalah untuk memberikan atau menolak akses ke layanan SSH, kami akan menutup port SSH di firewall. Tapi pertama -tama, mari kita periksa status firewall UFW.
$ sudo status UFW bernomorPeriksa status UFW
Dari output, kita dapat dengan jelas melihatnya Ssh pelabuhan 22 terbuka pada keduanya IPv4 Dan IPv6 Protokol diberi nomor 5 Dan 9 masing -masing.
Kita perlu menghapus dua aturan ini seperti yang ditunjukkan, dimulai dengan nilai tertinggi - yaitu 9.
$ sudo ufw hapus 9 $ sudo ufw delete 5Hapus aturan UFW
Sekarang, jika Anda mencoba masuk dari jarak jauh ke server, Anda akan mendapatkan kesalahan batas waktu seperti yang ditunjukkan.
SSH Connection TimeoutLangkah 3: Mengkonfigurasi Klien Knock untuk terhubung ke SSH Server
Pada langkah terakhir, kami akan mengonfigurasi klien dan mencoba masuk dengan terlebih dahulu mengirimkan urutan ketukan yang kami konfigurasi di server.
Tapi pertama -tama, instal Knockd Daemon seperti yang Anda lakukan di server.
$ sudo apt instal knockd
Setelah instalasi selesai, kirim urutan ketukan menggunakan sintaks yang ditampilkan
$ knock -v server_ip knock_cesterence
Dalam kasus kami, ini diterjemahkan menjadi:
$ knock -v 192.168.2.105 10005 10006 10007
Anda harus mendapatkan output mirip dengan apa yang kami miliki, tergantung pada urutan Anda. Ini menunjukkan bahwa upaya ketukan berhasil.
Urutan KnockPada titik ini, Anda harus berada dalam posisi untuk berhasil masuk ke server menggunakan SSH.
Terhubung ke server menggunakan knockdSetelah Anda selesai melakukan pekerjaan Anda di server jarak jauh, tutup port SSH dengan mengirimkan urutan ketukan penutupan.
$ knock -v 192.168.2.105 10007 10006 10005
Setiap upaya untuk masuk ke server akan gagal seperti yang ditunjukkan.
Tutup port SSHMenutup pikiran
Ini membungkus panduan ini tentang cara memanfaatkan port mengetuk untuk mengamankan layanan SSH di server Anda. Pendekatan yang lebih baik dan lebih mudah adalah mengkonfigurasi otentikasi SSH kata sandi menggunakan pasangan kunci ssh. Ini memastikan bahwa hanya pengguna dengan kunci pribadi yang dapat mengotentikasi dengan server tempat kunci publik disimpan.
- « 9 klien IRC terbaik untuk Linux di tahun 2021
- LFCA Pelajari konsep dasar menggunakan wadah - Bagian 22 »