UFW-appprofiel ontbreekt? Het beschrijft poorten, niet diensten
Een UFW-appprofiel is een benoemde lijst van poorten en protocollen, geen dienst. Lees app info, vergelijk de echte luisteraar en houd een weg terug voordat je herlaadt.
UFW zegt dat het geen profiel vindt dat bij OpenSSH past, en de zoektocht naar een oorzaak leidt rechtstreeks naar de SSH-server. Dat is de verkeerde richting: het bericht gaat over een benoemde firewalldefinitie en zegt niets over of sshd is geïnstalleerd, draait of luistert. Een UFW-appprofiel is een lijst van poorten en protocollen met een label erop. De definitie lezen kost één opdracht en beëindigt meestal het onderzoek.
Stap 1: noem de namen die UFW werkelijk kent
Vraag de firewall welke namen hij heeft voordat je vraagt er een toe te staan. De lijst komt uit de profielen die op deze machine zijn geïnstalleerd, dus een ontbrekende naam is een feit over dit systeem, niet over de software die je probeerde te beschermen. Als de naam er is, kwam de fout van een typefout of een verouderd alias in je shellgeschiedenis.
ufw app list
ufw app info OpenSSH
De lijst is kort bij een standaardinstallatie, en de namen zijn geen pakketnamen. Een profiel met de naam OpenSSH kan ontbreken terwijl het pakket openssh-server is geïnstalleerd, en het omgekeerde is ook mogelijk. Gebruik de exacte naam die de lijst afdrukt; een VPN-profielnaam of een bureaubladstarter met vergelijkbare spelling is geen UFW-appprofiel. Als de naam die je wilt ontbreekt, is dat de bevinding, en de volgende stap is kijken wat hem zou moeten leveren.
Stap 2: lees de definitie, niet het label
Een profiel is een bestand in INI-stijl onder /etc/ufw/applications.d, met een naam, een titel, een beschrijving en een poortenveld. Het poortenveld kan meerdere poorten en transporten opsommen, dus het label vertelt je minder dan de definitie. De UFW-handleiding documenteert deze velden en de bewerking om applicaties bij te werken. Lees het bestand in plaats van aan te nemen dat de naam één bekende poort betekent.
cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH
Een definitie met 22/tcp beschrijft TCP-poort 22 en niets anders. Hij bewijst niet dat de daemon op deze machine daar luistert, en hij dekt geen tweede poort die je later hebt toegevoegd. Als de daemon elders draait, is het profiel de verkeerde toestemming ook al past de naam bij het product. Vergelijk de luisteraar met de definitie voordat je een van beide toestaat.
ss -ltnp 'sport = :22'
Stop als de definitie en de luisteraar niet overeenkomen. Een profiel toestaan dat een poort noemt waar niemand naar luistert, maakt een regel die op vooruitgang lijkt en niets beschermt.
Stap 3: scheid het profiel van de draaiende dienst
Een benoemd profiel toestaan installeert, start of configureert de dienst niet, en een draaiende dienst heeft geen verpakt profiel nodig om bereikbaar te zijn. Dat zijn afzonderlijke beslissingen van verschillende gereedschappen: de pakketbeheerder, de dienstbeheerder en de firewall. Ze als één behandelen is hoe mensen een ongewenste server installeren om een symbolische naam te laten verschijnen.
Voor een VPN-server gaat de scheiding door nadat de buitenste luisteraar is toegestaan. Toestemming voor de poort van het versleutelde transport schakelt geen kernel-doorschakeling in, voegt geen NAT-regel toe en geeft tunnelgebruikers geen toegang tot een LAN. Elk daarvan is een afzonderlijk beleid met zijn eigen beoordeling. Een profiel dat naar het VPN-product is vernoemd, beschrijft alleen de poorten die het opsomt, en de rest van de serverconfiguratie moet je nog steeds zelf schrijven.
Als het profiel ontbreekt en je er een nodig hebt, zijn een beoordeelde expliciete poortregel of een lokaal profiel onder applications.d beide legitiem. Een pakket installeren dat je niet wilde, is dat niet.
Stap 4: houd een weg terug voordat je de firewall herlaadt
Bevestig vóór elke regelwijziging dat je een tweede weg naar de machine hebt: een console, een adres buiten de band of een geplande terugdraaiing. Lees dan de regelset en het standaardbeleid, want een standaardweigering zonder SSH-regel is de klassieke manier om jezelf tijdens het testen buiten te sluiten. Wijzig één regel tegelijk en lees de bevestiging die UFW afdrukt. Een opgeslagen regel, een actieve regel en een bereikbare dienst zijn drie verschillende waarnemingen.
ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH
Test na de wijziging de toegestane verbinding en een weg die nog steeds geweigerd zou moeten worden. De weigeringstest is net zo belangrijk als de toestemmingstest, want een regel die breder is dan bedoeld slaagt voor de eerste test en faalt voor de tweede. Noteer de profielnaam, de poorten die hij bevatte en de luisteraar waartegen je hebt geverifieerd.
De checklist eindigt wanneer de naam bestaat of bewust is vervangen, de definitie bij de echte luisteraar past, de dienst apart wordt beheerd, en je zowel een toegestane als een geweigerde weg hebt getest met een herstelroute bij de hand. Een naam in de lijst is geen van die dingen.