Lipsește profilul de aplicație UFW? Acesta descrie porturi, nu servicii
Un profil de aplicație UFW este o listă numită de porturi și protocoale, nu un serviciu. Citește app info, compară ascultătorul real și păstrează o cale de întoarcere înainte de reîncărcare.
UFW spune că nu găsește un profil care să corespundă OpenSSH, iar căutarea cauzei merge direct la serverul SSH. Aceasta este direcția greșită: mesajul privește o definiție de firewall cu nume și nu spune nimic despre faptul că sshd este instalat, rulează sau ascultă. Un profil de aplicație UFW este o listă de porturi și protocoale cu o etichetă. Citirea definiției ia o comandă și de obicei încheie investigația.
Pasul 1: enumeră numele pe care UFW le cunoaște cu adevărat
Întreabă firewallul ce nume are înainte de a-i cere să permită unul. Lista provine din profilurile instalate pe această mașină, așa că un nume lipsă este un fapt despre acest sistem, nu despre software-ul pe care încercai să-l protejezi. Dacă numele există, eroarea a venit de la o greșeală de tastare sau de la un alias vechi din istoricul shell-ului tău.
ufw app list
ufw app info OpenSSH
Lista este scurtă la o instalare implicită, iar numele nu sunt nume de pachete. Un profil numit OpenSSH poate lipsi în timp ce pachetul openssh-server este instalat, iar inversul este și el posibil. Folosește numele exact pe care îl tipărește lista; un nume de profil VPN sau un lansator de desktop cu ortografie similară nu este un profil de aplicație UFW. Dacă numele dorit lipsește, acesta este constatarea, iar pasul următor este să vezi ce ar trebui să îl furnizeze.
Pasul 2: citește definiția, nu eticheta
Un profil este un fișier în stil INI în /etc/ufw/applications.d, cu un nume, un titlu, o descriere și un câmp de porturi. Câmpul de porturi poate lista mai multe porturi și transporturi, așa că eticheta îți spune mai puțin decât definiția. Manualul UFW documentează aceste câmpuri și operația de actualizare a aplicațiilor. Citește fișierul în loc să presupui că numele înseamnă un port cunoscut.
cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH
O definiție care conține 22/tcp descrie portul TCP 22 și nimic altceva. Nu dovedește că serviciul de pe această mașină ascultă acolo și nu acoperă un al doilea port adăugat mai târziu. Dacă serviciul rulează altundeva, profilul este permisiunea greșită chiar dacă numele se potrivește cu produsul. Compară ascultătorul cu definiția înainte de a permite oricare dintre ele.
ss -ltnp 'sport = :22'
Oprește-te dacă definiția și ascultătorul nu coincid. Permiterea unui profil care numește un port pe care nimeni nu ascultă creează o regulă care pare un progres și nu protejează nimic.
Pasul 3: separă profilul de serviciul care rulează
Permiterea unui profil numit nu instalează, nu pornește și nu configurează serviciul, iar un serviciu care rulează nu are nevoie de un profil împachetat pentru a fi accesibil. Acestea sunt decizii separate ale unor instrumente diferite: managerul de pachete, managerul de servicii și firewallul. Tratarea lor ca una singură este modul în care oamenii instalează un server nedorit pentru ca un nume simbolic să apară.
Pentru un server VPN separarea continuă după ce ascultătorul exterior este permis. Permisiunea pentru portul transportului criptat nu activează redirecționarea în nucleu, nu adaugă o regulă NAT și nu le dă utilizatorilor tunelului acces la un LAN. Fiecare dintre acestea este o politică separată cu propria revizuire. Un profil numit după produsul VPN descrie doar porturile pe care le listează, iar restul configurației serverului rămâne să îl scrii tu.
Dacă profilul lipsește și ai nevoie de unul, o regulă de port explicită revizuită sau un profil local în applications.d sunt ambele legitime. Instalarea unui pachet pe care nu îl voiai nu este.
Pasul 4: păstrează o cale de întoarcere înainte de a reîncărca firewallul
Înainte de orice modificare de regulă, confirmă că ai o a doua cale în mașină: o consolă, o adresă în afara benzii sau o revenire programată. Apoi citește setul de reguli și politica implicită, pentru că o respingere implicită fără regulă SSH este modul clasic de a te bloca afară în timpul testării. Schimbă o regulă pe rând și citește confirmarea pe care o tipărește UFW. O regulă salvată, o regulă activă și un serviciu accesibil sunt trei observații diferite.
ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH
După modificare, testează conexiunea permisă și o cale care ar trebui să rămână respinsă. Testul de respingere contează la fel de mult ca testul de permisiune, pentru că o regulă mai largă decât s-a intenționat trece primul test și eșuează la al doilea. Notează numele profilului, porturile pe care le conținea și ascultătorul față de care ai verificat.
Lista de verificare se termină când numele există sau a fost înlocuit intenționat, definiția corespunde ascultătorului real, serviciul este administrat separat și ai testat atât o cale permisă, cât și una respinsă, cu o rută de recuperare la îndemână. Un nume în listă nu este niciuna dintre acestea.