UFW diu que no troba cap perfil que coincideixi amb OpenSSH, i la cerca de la causa va directa al servidor SSH. Aquesta és la direcció equivocada: el missatge tracta d'una definició de tallafocs amb nom i no diu res sobre si sshd està instal·lat, en marxa o escoltant. Un perfil d'aplicació d'UFW és una llista de ports i protocols amb una etiqueta. Llegir la definició costa una ordre i normalment acaba la investigació.

Pas 1: llista els noms que UFW coneix de debò

Pregunta al tallafocs quins noms té abans de demanar-li que permeti un. La llista prové dels perfils instal·lats en aquesta màquina, així que un nom absent és un fet sobre aquest sistema i no sobre el programari que intentaves protegir. Si el nom hi és, l'error ve d'una errata o d'un àlies antic de l'historial de la teva shell.

ufw app list
ufw app info OpenSSH

La llista és curta en una instal·lació per defecte, i els noms no són noms de paquets. Un perfil anomenat OpenSSH pot faltar mentre el paquet openssh-server està instal·lat, i també és possible el contrari. Fes servir el nom exacte que imprimeix la llista; un nom de perfil VPN o un llançador d'escriptori amb una grafia semblant no és un perfil d'aplicació d'UFW. Si el nom que vols falta, aquesta és la troballa, i el pas següent és mirar què l'hauria de proporcionar.

Pas 2: llegeix la definició, no l'etiqueta

Un perfil és un fitxer d'estil INI a /etc/ufw/applications.d, amb un nom, un títol, una descripció i un camp de ports. El camp de ports pot llistar diversos ports i transports, així que l'etiqueta diu menys que la definició. El manual d'UFW documenta aquests camps i l'operació d'actualització d'aplicacions. Llegeix el fitxer en lloc de suposar que el nom significa un port conegut.

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

Una definició que conté 22/tcp descriu el port TCP 22 i res més. No demostra que el dimoni d'aquesta màquina hi escolti, i no cobreix un segon port que hagis afegit després. Si el dimoni s'executa en un altre lloc, el perfil és el permís equivocat encara que el seu nom coincideixi amb el producte. Compara el receptor amb la definició abans de permetre cap dels dos.

ss -ltnp 'sport = :22'

Atura't si la definició i el receptor no coincideixen. Permetre un perfil que anomena un port on ningú no escolta crea una regla que sembla un progrés i no protegeix res.

Pas 3: separa el perfil del servei en marxa

Permetre un perfil amb nom no instal·la, inicia ni configura el servei, i un servei en marxa no necessita un perfil empaquetat per ser accessible. Són decisions separades que pertanyen a eines diferents: el gestor de paquets, el gestor de serveis i el tallafocs. Tractar-les com una de sola és com la gent instal·la un servidor no desitjat perquè aparegui un nom simbòlic.

Per a un servidor VPN, la separació continua després de permetre el receptor exterior. El permís per al port del transport xifrat no habilita l'encaminament del nucli, no afegeix una regla NAT i no dona als usuaris del túnel accés a una LAN. Cadascun d'aquests és una política separada amb la seva pròpia revisió. Un perfil amb el nom del producte VPN només descriu els ports que llista, i la resta de la configuració del servidor encara és teva d'escriure.

Si el perfil falta i en necessites un, una regla de port explícita revisada o un perfil local a applications.d són tots dos legítims. Instal·lar un paquet que no volies no ho és.

Pas 4: guarda una via de tornada abans de recarregar el tallafocs

Abans de qualsevol canvi de regla, confirma que tens una segona via cap a la màquina: una consola, una adreça fora de banda o un retorn programat. Després llegeix el conjunt de regles i la política per defecte, perquè una denegació per defecte sense regla SSH és la manera clàssica de quedar-te fora mentre proves. Canvia una regla alhora i llegeix la confirmació que imprimeix UFW. Una regla desada, una regla activa i un servei accessible són tres observacions diferents.

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

Després del canvi, prova la connexió permesa i una via que encara s'hauria de denegar. La prova de denegació importa tant com la de permís, perquè una regla més ampla del previst passa la primera prova i falla la segona. Anota el nom del perfil, els ports que contenia i el receptor contra el qual has verificat.

La llista de comprovació acaba quan el nom existeix o s'ha substituït deliberadament, la definició coincideix amb el receptor real, el servei es gestiona per separat, i has provat tant una via permesa com una de denegada amb una ruta de recuperació a mà. Un nom a la llista no és cap d'aquestes coses.

Articles relacionats