Profil aplikasi UFW tidak ada? Profil itu menjelaskan port, bukan layanan
Profil aplikasi UFW adalah daftar bernama port dan protokol, bukan layanan. Baca app info, cocokkan pendengar sebenarnya, dan simpan jalur kembali sebelum memuat ulang.
UFW mengatakan tidak dapat menemukan profil yang cocok dengan OpenSSH, dan pencarian penyebab langsung mengarah ke server SSH. Itu arah yang salah: pesan itu tentang definisi firewall bernama dan tidak mengatakan apa pun tentang apakah sshd terpasang, berjalan, atau mendengarkan. Profil aplikasi UFW adalah daftar port dan protokol dengan label. Membaca definisinya butuh satu perintah dan biasanya mengakhiri penyelidikan.
Langkah 1: daftar nama yang benar-benar dikenal UFW
Tanyakan kepada firewall nama apa saja yang dimilikinya sebelum Anda meminta salah satunya diizinkan. Daftar itu berasal dari profil yang terpasang di mesin ini, jadi nama yang hilang adalah fakta tentang sistem ini, bukan tentang perangkat lunak yang Anda coba lindungi. Jika namanya ada, kesalahan datang dari salah ketik atau alias usang di riwayat shell Anda.
ufw app list
ufw app info OpenSSH
Daftarnya pendek pada instalasi standar, dan namanya bukan nama paket. Profil bernama OpenSSH bisa tidak ada sementara paket openssh-server terpasang, dan sebaliknya juga mungkin. Gunakan nama persis yang dicetak daftar; nama profil VPN atau peluncur desktop dengan ejaan serupa bukan profil aplikasi UFW. Jika nama yang Anda inginkan tidak ada, itulah temuannya, dan langkah berikutnya adalah melihat apa yang seharusnya menyediakannya.
Langkah 2: baca definisinya, bukan labelnya
Profil adalah berkas bergaya INI di bawah /etc/ufw/applications.d, dengan nama, judul, deskripsi, dan bidang port. Bidang port dapat mencantumkan beberapa port dan transport, jadi label memberi tahu lebih sedikit daripada definisinya. Panduan UFW mendokumentasikan bidang ini dan operasi pembaruan aplikasi. Baca berkasnya alih-alih menganggap nama berarti satu port yang familier.
cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH
Definisi yang berisi 22/tcp menjelaskan port TCP 22 dan tidak lebih. Itu tidak membuktikan bahwa daemon di mesin ini mendengarkan di sana, dan tidak mencakup port kedua yang Anda tambahkan kemudian. Jika daemon berjalan di tempat lain, profil itu izin yang salah meskipun namanya cocok dengan produk. Bandingkan pendengar dengan definisinya sebelum Anda mengizinkan salah satunya.
ss -ltnp 'sport = :22'
Berhenti jika definisi dan pendengar tidak cocok. Mengizinkan profil yang menyebut port yang tidak didengarkan siapa pun membuat aturan yang tampak seperti kemajuan dan tidak melindungi apa pun.
Langkah 3: pisahkan profil dari layanan yang berjalan
Mengizinkan profil bernama tidak memasang, memulai, atau mengonfigurasi layanan, dan layanan yang berjalan tidak memerlukan profil terpaket untuk dapat dijangkau. Itu keputusan terpisah yang dimiliki alat berbeda: manajer paket, manajer layanan, dan firewall. Memperlakukannya sebagai satu adalah cara orang memasang server yang tidak diinginkan agar nama simbolis muncul.
Untuk server VPN pemisahan berlanjut setelah pendengar luar diizinkan. Izin untuk port transport terenkripsi tidak mengaktifkan penerusan kernel, tidak menambahkan aturan NAT, dan tidak memberi pengguna terowongan akses ke LAN. Masing-masing adalah kebijakan terpisah dengan tinjauannya sendiri. Profil yang dinamai menurut produk VPN hanya menjelaskan port yang dicantumkannya, dan sisa konfigurasi server tetap menjadi tugas Anda untuk menulis.
Jika profil tidak ada dan Anda memerlukannya, aturan port eksplisit yang ditinjau atau profil lokal di bawah applications.d keduanya sah. Memasang paket yang tidak Anda inginkan tidak sah.
Langkah 4: simpan jalur kembali sebelum memuat ulang firewall
Sebelum perubahan aturan apa pun, pastikan Anda memiliki jalur kedua ke mesin: konsol, alamat out-of-band, atau pengembalian terjadwal. Lalu baca kumpulan aturan dan kebijakan bawaan, karena penolakan bawaan tanpa aturan SSH adalah cara klasik mengunci diri sendiri saat menguji. Ubah satu aturan sekaligus dan baca konfirmasi yang dicetak UFW. Aturan tersimpan, aturan aktif, dan layanan yang dapat dijangkau adalah tiga pengamatan berbeda.
ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH
Setelah perubahan, uji koneksi yang diizinkan dan satu jalur yang seharusnya tetap ditolak. Uji penolakan sama pentingnya dengan uji izin, karena aturan yang lebih lebar dari yang dimaksud lolos uji pertama dan gagal di uji kedua. Catat nama profil, port yang dikandungnya, dan pendengar yang Anda verifikasi.
Daftar periksa berakhir ketika namanya ada atau sengaja diganti, definisinya cocok dengan pendengar sebenarnya, layanannya dikelola terpisah, dan Anda sudah menguji jalur yang diizinkan maupun yang ditolak dengan jalur pemulihan di tangan. Nama dalam daftar bukan salah satu dari itu.