This is new nifty and long term demanded feature in FreeBSD. A port called portaudit provides a system to check if installed ports are listed in a database of published security vulnerabilities. After installation it will update this security database automatically and include its reports in the output of the daily security run. If you get message like as follows
Vulnerability check disabled, database not found
You need install small port called portaudit. From the man page:
portaudit checks installed packages for known vulnerabilities and generates reports including references to security advisories. Its intended audience is system administrators and individual users. portaudit checks installed packages for known vulnerabilities and generates reports including references to security advisories. Its intended audience is system administrators and individual users.
1) Install port auditing (login as root)
# cd /usr/ports/ports-mgmt/portaudit
Please note that old portaudit port was located at /usr/ports/security/portaudit/.
2) Install portaudit:
# make install clean
===> WARNING: Vulnerability database out of date, checking anyway ===> Extracting for portaudit-0.5.12 ===> Patching for portaudit-0.5.12 ===> Configuring for portaudit-0.5.12 ===> Building for portaudit-0.5.12 ===> Installing for portaudit-0.5.12 ===> Generating temporary packing list ===> Checking if ports-mgmt/portaudit already installed ===> Compressing manual pages for portaudit-0.5.12 ===> Registering installation for portaudit-0.5.12 ===> Cleaning for portaudit-0.5.12
3) Fetch the database so that port auditing get activated immediately. By default it install a shell script 'portaudit' in /usr/local/etc/periodic/security/:
# /usr/local/sbin/portaudit -Fda
auditfile.tbz 100% of 47 kB 405 kBps New database installed. Database created: Wed Feb 27 06:10:01 CST 2008 0 problem(s) in your installed packages found.
- -F: Fetch the current database from the FreeBSD servers.
- -d: Print the creation date of the database.
- -a: Print a vulnerability report for all installed packages
4) portaudit script automatically get called via FreeBSD's periodic (cron job) facility. So your database get updated automatically everyday.
Let us assume you would like to install a port called sudo. If it has known vulnerabilities it will not install sudo:
# cd /usr/ports/security/sudo
# make install clean
===> sudo-126.96.36.199 has known vulnerabilities: => sudo -- local race condition vulnerability. Reference: &tt;http://www.FreeBSD.org/ports/portaudit/3bf157fa- e1c6-11d9-b875-0001020eed82.html> => Please update your ports tree and try again. *** Error code 1 Stop in /usr/ports/security/sudo.
For more information refer portaudit man page:
$ man portaudit
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012
- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop