Hvis man ønsker å holde en FreeBSD-maskin noenlunde fri for sikkerhetshull, er det tre ting man vil holde oppdatert:
- basesystemet
- programvare installert fra pakker/ports
- tredjeparts (inkl. selvkompilert) programvare
For å hjelpe til med punkt 2 er portaudit et kjekt verktøy.
Hva gjør portaudit
Portaudit laster ned en database over registrerte sikkerhetsproblemer og sjekker installerte versjoner av pakker mot denne databasen, og viser en liste over hvilke pakker som bør vurderes oppgradert.
Hvordan installere portaudit
Portaudit ligger i ports som security/portaudit. Man kan installere binærpakke med pkg_add -r portaudit, eller gjøre cd /usr/ports/security/portaudit && make install hvis man har et lokalt ports-tre.
Hvordan bruke portaudit
Først bør man hente ned en oppdatert problemdatabase:
pinball:~# portaudit -F auditfile.tbz 100% of 19 kB 33 kBps New database installed.
Deretter kan man be om en "vulnerability report" for alle installerte pakker på maskinen:
pinball:~# portaudit Affected package: perl-5.8.5 Type of problem: perl -- vulnerabilities in PERLIO_DEBUG handling. Reference: <http://www.FreeBSD.org/ports/portaudit/a5eb760a-753c-11d9-a36f-000a95bc6fae.html> (...) 7 problem(s) in your installed packages found. You are advised to update or deinstall the affected package(s) immediately.
...eller man kan be om en rapport for bare en spesifikk pakke. Man må da oppgi fullt pakkenavn inkl. versjonsinfo. Man kan f.eks. bruke -E-opsjonen til pkg_info for å finne dette:
pinball:~# pkg_info -E perl\* perl-5.8.5 pinball:~# pkg_info -E perl\* | xargs portaudit Affected package: perl-5.8.5 Type of problem: perl -- vulnerabilities in PERLIO_DEBUG handling. Reference: <http://www.FreeBSD.org/ports/portaudit/a5eb760a-753c-11d9-a36f-000a95bc6fae.html> Affected package: perl-5.8.5 Type of problem: perl -- File::Path insecure file/directory permissions. Reference: <http://www.FreeBSD.org/ports/portaudit/c418d472-6bd1-11d9-93ca-000a95bc6fae.html> 1 problem(s) found.