Cara Menggunakan Pelabuhan Mengetuk untuk Mengamankan Perkhidmatan SSH di Linux
- 1857
- 106
- Wendell Shields
Pelabuhan mengetuk adalah teknik bagus untuk mengawal akses ke port dengan hanya membenarkan pengguna yang sah akses ke perkhidmatan yang berjalan pada pelayan. Ia berfungsi sedemikian rupa sehingga apabila urutan percubaan yang betul dibuat, firewall dengan senang hati membuka pelabuhan yang ditutup.
Logik di belakang pelabuhan mengetuk adalah untuk melindungi sistem linux anda dari pengimbas pelabuhan automatik yang berjalan lancar untuk pelabuhan terbuka. Dalam panduan ini, kami meneliti bagaimana anda boleh memasang port mengetuk dan bagaimana anda boleh mengkonfigurasinya untuk mendapatkan perkhidmatan SSH. Untuk tujuan demonstrasi, kami akan menggunakan Ubuntu 18.04.
Langkah 1: Pasang dan konfigurasikan Knockd
Untuk memulakan, log masuk ke sistem Linux anda dan pasang Knockd Daemon seperti yang ditunjukkan.
$ sudo apt memasang knockd
Setelah dipasang, buka Knockd.Conf konfigurasi dengan editor teks pilihan anda. Di sini, kami menggunakan editor teks baris arahan VIM.
$ sudo vim /etc /knockd.Conf
Fail konfigurasi lalai muncul seperti berikut.
Fail Konfigurasi KnockdDi bawah [OpenSsh]
seksyen, kita perlu menukar urutan ketukan lalai - 7000,8000,9000 - kepada yang lain. Ini kerana nilai -nilai ini sudah diketahui dan dapat menjejaskan keselamatan sistem anda.
Untuk tujuan ujian, kami telah menetapkan nilai kepada 10005, 10006, 10007. Ini adalah urutan yang akan digunakan untuk membuka port SSH dari sistem klien.
Dalam baris ketiga - bermula dengan perintah, ubah -A
ke -I
Hanya selepas /sbin/iptables
perintah dan sebelum ini Input
.
Dan akhirnya, di bawah [Closessh]
seksyen, sekali lagi, tukar urutan lalai ke pilihan pilihan anda. Ini adalah urutan yang akan digunakan untuk menutup sambungan SSH sebaik sahaja pengguna selesai dan log keluar dari pelayan.
Inilah konfigurasi lengkap kami.
Tetapan Konfigurasi KnockdSebaik sahaja anda selesai, simpan perubahan dan keluar.
Konfigurasi lain yang perlu kita ubah adalah /etc/lalai/knockd. Sekali lagi, buka menggunakan editor teks anda.
$ sudo vim/etc/lalai/knockdTetapan konfigurasi knockd lalai
Cari garis Start_knockd = 0
. Uncomment dan tetapkan nilai ke 1
.
Seterusnya, menuju ke garisan Knockd_opts = "-i eth1"
Uncomment dan ganti lalai eth1
nilai dengan antara muka rangkaian aktif sistem anda. Untuk memeriksa antara muka rangkaian anda, semak jalan addr IP atau perintah ifconfig.
Untuk sistem kami, ENP0S3 adalah kad rangkaian aktif.
Antara muka rangkaian aktifKonfigurasi lengkap seperti yang ditunjukkan.
Nilai Konfigurasi KnockdSimpan perubahan dan keluar.
Kemudian mulakan dan membolehkan Knockd Daemon seperti yang ditunjukkan.
$ sudo Systemctl Mula Knockd $ Sudo Systemctl Dayakan Knockd
Untuk memeriksa status Knockd Daemon, jalankan arahan:
$ sudo systemctl status knockdSemak status knockd
Langkah 2: Tutup Port SSH 22 di Firewall
Sejak objektif Knockd Perkhidmatan adalah sama ada memberi atau menafikan akses kepada perkhidmatan SSH, kami akan menutup port SSH di firewall. Tetapi pertama, mari kita periksa status firewall UFW.
status $ sudo ufw bernomborSemak status UFW
Dari output, kita dapat melihatnya dengan jelas SSH pelabuhan 22 dibuka pada kedua -duanya IPv4 dan IPv6 Protokol bernombor 5 dan 9 masing -masing.
Kita perlu memadamkan kedua -dua peraturan ini seperti yang ditunjukkan, bermula dengan nilai tertinggi - iaitu 9.
$ sudo ufw hapus 9 $ sudo ufw padam 5Padam peraturan UFW
Sekarang, jika anda cuba log masuk dari jauh ke pelayan, anda akan mendapat ralat masa tamat sambungan seperti yang ditunjukkan.
SSH Timeout ConnectionLangkah 3: Konfigurasikan klien ketukan untuk menyambung ke pelayan SSH
Dalam langkah terakhir, kami akan mengkonfigurasi pelanggan dan cuba log masuk dengan terlebih dahulu menghantar urutan ketukan yang kami konfigurasikan pada pelayan.
Tetapi pertama, pasang Knockd Daemon seperti yang anda lakukan di pelayan.
$ sudo apt memasang knockd
Setelah pemasangan selesai, hantar urutan ketukan menggunakan sintaks yang ditunjukkan
$ knock -v server_ip knock_sequence
Dalam kes kita, ini diterjemahkan ke:
$ knock -v 192.168.2.105 10005 10006 10007
Anda harus mendapatkan output yang serupa dengan apa yang kita ada, bergantung pada urutan anda. Ini menunjukkan bahawa percubaan mengetuk berjaya.
Urutan mengetukPada ketika ini, anda harus berada dalam kedudukan untuk berjaya log masuk ke pelayan menggunakan SSH.
Sambungkan ke pelayan menggunakan knockdSebaik sahaja anda selesai melakukan tugas anda di pelayan jauh, tutup port SSH dengan menghantar urutan ketukan penutupan.
$ knock -v 192.168.2.105 10007 10006 10005
Sebarang percubaan untuk log masuk ke pelayan akan gagal seperti yang ditunjukkan.
Tutup pelabuhan SSHPemikiran penutupan
Ini membungkus panduan ini mengenai cara memanfaatkan pelabuhan mengetuk untuk menjamin perkhidmatan SSH di pelayan anda. Pendekatan yang lebih baik dan lebih mudah adalah untuk mengkonfigurasi kata laluan SSH pengesahan menggunakan pasangan utama SSH. Ini memastikan bahawa hanya pengguna dengan kekunci peribadi yang dapat mengesahkan dengan pelayan di mana kunci awam disimpan.
- « 9 Pelanggan IRC Terbaik untuk Linux pada tahun 2021
- LFCA Ketahui konsep asas menggunakan bekas - Bahagian 22 »