UFW menyatakan ia tidak menemui profil yang sepadan dengan OpenSSH, dan pencarian punca terus menuju ke pelayan SSH. Itu arah yang salah: mesej itu tentang definisi firewall bernama dan tidak menyatakan apa-apa tentang sama ada sshd dipasang, berjalan atau mendengar. Profil aplikasi UFW ialah senarai port dan protokol dengan label. Membaca definisi mengambil satu arahan dan biasanya menamatkan penyiasatan.

Langkah 1: senaraikan nama yang UFW benar-benar kenal

Tanya firewall nama apa yang ada padanya sebelum anda meminta salah satu dibenarkan. Senarai itu datang daripada profil yang dipasang pada mesin ini, jadi nama yang hilang ialah fakta tentang sistem ini, bukan tentang perisian yang anda cuba lindungi. Jika nama itu ada, ralat datang daripada salah taip atau alias lama dalam sejarah shell anda.

ufw app list
ufw app info OpenSSH

Senarai itu pendek pada pemasangan lalai, dan nama-nama itu bukan nama pakej. Profil bernama OpenSSH boleh tiada manakala pakej openssh-server dipasang, dan sebaliknya juga mungkin. Gunakan nama tepat yang dicetak oleh senarai; nama profil VPN atau pelancar desktop dengan ejaan serupa bukan profil aplikasi UFW. Jika nama yang anda mahu tiada, itulah dapatan, dan langkah seterusnya ialah melihat apa yang sepatutnya menyediakannya.

Langkah 2: baca definisi, bukan label

Profil ialah fail gaya INI di bawah /etc/ufw/applications.d, dengan nama, tajuk, penerangan dan medan port. Medan port boleh menyenaraikan beberapa port dan pengangkutan, jadi label memberitahu anda kurang daripada definisi. Manual UFW mendokumenkan medan ini dan operasi kemas kini aplikasi. Baca fail itu daripada menganggap nama itu bermaksud satu port biasa.

cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH

Definisi yang mengandungi 22/tcp menerangkan port TCP 22 dan tiada yang lain. Ia tidak membuktikan bahawa daemon pada mesin ini mendengar di situ, dan ia tidak meliputi port kedua yang anda tambah kemudian. Jika daemon berjalan di tempat lain, profil itu ialah kebenaran yang salah walaupun namanya sepadan dengan produk. Bandingkan pendengar dengan definisi sebelum anda membenarkan mana-mana satu daripadanya.

ss -ltnp 'sport = :22'

Berhenti jika definisi dan pendengar tidak sepadan. Membenarkan profil yang menamakan port yang tiada siapa mendengar mencipta peraturan yang kelihatan seperti kemajuan dan tidak melindungi apa-apa.

Langkah 3: pisahkan profil daripada perkhidmatan yang berjalan

Membenarkan profil bernama tidak memasang, memulakan atau mengkonfigurasi perkhidmatan, dan perkhidmatan yang berjalan tidak memerlukan profil berbungkus untuk boleh dicapai. Itu keputusan berasingan yang dimiliki oleh alat berbeza: pengurus pakej, pengurus perkhidmatan dan firewall. Melayaninya sebagai satu ialah cara orang memasang pelayan yang tidak diingini supaya nama simbolik muncul.

Untuk pelayan VPN pemisahan itu berterusan selepas pendengar luar dibenarkan. Kebenaran untuk port pengangkutan tersulit tidak mengaktifkan penghantaran kernel, tidak menambah peraturan NAT dan tidak memberi pengguna terowong akses ke LAN. Setiap satu daripadanya ialah dasar berasingan dengan semakannya sendiri. Profil yang dinamakan sempena produk VPN hanya menerangkan port yang disenaraikannya, dan selebihnya konfigurasi pelayan masih perlu anda tulis.

Jika profil tiada dan anda memerlukannya, peraturan port eksplisit yang disemak atau profil tempatan di bawah applications.d kedua-duanya sah. Memasang pakej yang anda tidak mahu bukanlah sah.

Langkah 4: simpan jalan pulang sebelum memuat semula firewall

Sebelum sebarang perubahan peraturan, pastikan anda mempunyai jalan kedua masuk ke mesin: konsol, alamat luar jalur atau pengunduran yang dijadualkan. Kemudian baca set peraturan dan dasar lalai, kerana penafian lalai tanpa peraturan SSH ialah cara klasik untuk mengunci diri di luar semasa menguji. Tukar satu peraturan pada satu masa dan baca pengesahan yang dicetak UFW. Peraturan tersimpan, peraturan aktif dan perkhidmatan yang boleh dicapai ialah tiga pemerhatian berbeza.

ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH

Selepas perubahan, uji sambungan yang dibenarkan dan satu laluan yang sepatutnya masih dinafikan. Ujian penafian sama pentingnya dengan ujian kebenaran, kerana peraturan yang lebih luas daripada yang dimaksudkan lulus ujian pertama dan gagal pada yang kedua. Catat nama profil, port yang terkandung di dalamnya dan pendengar yang anda sahkan.

Senarai semak berakhir apabila nama itu wujud atau sengaja diganti, definisi sepadan dengan pendengar sebenar, perkhidmatan diuruskan secara berasingan, dan anda telah menguji laluan yang dibenarkan dan yang dinafikan dengan laluan pemulihan di tangan. Nama dalam senarai bukan salah satu daripada itu.

Artikel berkaitan