UFW-appprofil mangler? Den beskriver porte, ikke tjenester
En UFW-appprofil er en navngivet liste over porte og protokoller, ikke en tjeneste. Læs app info, sammenlign den rigtige lytter, og behold en vej tilbage før du genindlæser.
UFW siger, at den ikke kan finde en profil, der matcher OpenSSH, og jagten på en årsag fører direkte til SSH-serveren. Det er den forkerte retning: beskeden handler om en navngivet firewall-definition og siger intet om, hvorvidt sshd er installeret, kører eller lytter. En UFW-appprofil er en liste over porte og protokoller med en etiket på. At læse definitionen tager én kommando og afslutter normalt undersøgelsen.
Trin 1: list de navne, UFW faktisk kender
Spørg firewallen, hvilke navne den har, før du beder den tillade et. Listen kommer fra de profiler, der er installeret på denne maskine, så et manglende navn er et faktum om dette system og ikke om den software, du forsøgte at beskytte. Hvis navnet er der, kom fejlen fra en tastefejl eller et forældet alias i din shell-historik.
ufw app list
ufw app info OpenSSH
Listen er kort ved en standardinstallation, og navnene er ikke pakkenavne. En profil ved navn OpenSSH kan mangle, mens pakken openssh-server er installeret, og det omvendte er også muligt. Brug det præcise navn, listen udskriver; et VPN-profilnavn eller en skrivebordsstarter med lignende stavemåde er ikke en UFW-appprofil. Hvis det ønskede navn mangler, er det fundet, og næste skridt er at se på, hvad der burde levere det.
Trin 2: læs definitionen, ikke etiketten
En profil er en fil i INI-stil under /etc/ufw/applications.d med et navn, en titel, en beskrivelse og et portfelt. Portfeltet kan liste flere porte og transporter, så etiketten fortæller mindre end definitionen. UFW-manualen dokumenterer disse felter og handlingen til at opdatere applikationer. Læs filen i stedet for at antage, at navnet betyder én kendt port.
cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH
En definition, der indeholder 22/tcp, beskriver TCP-port 22 og intet andet. Den beviser ikke, at dæmonen på denne maskine lytter der, og den dækker ikke en anden port, du tilføjede senere. Hvis dæmonen kører et andet sted, er profilen den forkerte tilladelse, selv om dens navn matcher produktet. Sammenlign lytteren med definitionen, før du tillader nogen af dem.
ss -ltnp 'sport = :22'
Stop, hvis definitionen og lytteren er uenige. At tillade en profil, der navngiver en port, ingen lytter på, skaber en regel, der ligner fremskridt og beskytter intet.
Trin 3: adskil profilen fra den kørende tjeneste
At tillade en navngivet profil installerer, starter eller konfigurerer ikke tjenesten, og en kørende tjeneste har ikke brug for en pakket profil for at være tilgængelig. Det er separate beslutninger, som forskellige værktøjer ejer: pakkehåndteringen, servicehåndteringen og firewallen. At behandle dem som én er, hvordan folk installerer en uønsket server for at få et symbolsk navn til at dukke op.
For en VPN-server fortsætter adskillelsen, efter at den ydre lytter er tillad. Tilladelse til porten for den krypterede transport aktiverer ikke videresendelse i kernen, tilføjer ikke en NAT-regel og giver ikke tunnelbrugere adgang til et LAN. Hver af dem er en separat politik med sin egen gennemgang. En profil opkaldt efter VPN-produktet beskriver kun de porte, den lister, og resten af serverkonfigurationen er stadig din at skrive.
Hvis profilen mangler, og du har brug for en, er en gennemgået eksplicit portregel eller en lokal profil under applications.d begge legitime. At installere en pakke, du ikke ønskede, er ikke.
Trin 4: behold en vej tilbage, før du genindlæser firewallen
Før enhver regelændring skal du bekræfte, at du har en anden vej ind i maskinen: en konsol, en adresse uden for båndet eller en planlagt tilbagerulning. Læs derefter regelsættet og standardpolitikken, fordi en standardafvisning uden SSH-regel er den klassiske måde at låse sig selv ude på under test. Skift én regel ad gangen, og læs den bekræftelse, UFW udskriver. En gemt regel, en aktiv regel og en tilgængelig tjeneste er tre forskellige observationer.
ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH
Efter ændringen skal du teste den tilladte forbindelse og en vej, der stadig bør afvises. Afvisningstesten betyder lige så meget som tilladelsestesten, fordi en regel, der er bredere end tilsigtet, består den første test og fejler den anden. Notér profilnavnet, de porte, den indeholdt, og den lytter, du verificerede imod.
Tjeklisten slutter, når navnet findes eller bevidst er erstattet, definitionen matcher den rigtige lytter, tjenesten styres separat, og du har testet både en tilladt og en afvist vej med en gendannelsesrute ved hånden. Et navn på listen er ingen af disse ting.