Portaudit
Inhaltsverzeichnis |
Portaudit als Mittel der Sicherheit
Portaudit erlaubt es zu erkennen, welche Ports Sicherheitslöcher haben. Sobald das Programm installiert ist, checkt es automatisch die Installierten Ports und deren Sicherheitslöcher.
Installation
Wie üblich ist portaudit ein Port und lässt sich daher sehr einfach installieren:
-su-2.05b# cd /usr/ports/ports-mgmt/portaudit -su-2.05b# make install clean
Updaten der Sicherheitsdatenbank
Dies erfolgt per -F Option, -a zeigt auch gleich den Report an
-su-2.05b# /usr/local/sbin/portaudit -Fda auditfile.tbz 100% of 24 kB 40 kBps New database installed. Database created: Thu May 12 23:10:03 CEST 2005
Überprüfen des Systems
Abgleichen, welche Ports nicht sicher sind, lässt sich mit
-su-2.05b# portaudit -a Affected package: wget-1.8.2_6 Type of problem: wget -- multiple vulnerabilities. Reference: <http://www.FreeBSD.org/ports/portaudit/06f142ff-4df3-11d9-a9e7-0001020eed82.html> Affected package: FreeBSD-491100 Type of problem: multiple vulnerabilities in the cvs server code. Reference: <http://www.FreeBSD.org/ports/portaudit/d2102505-f03d-11d8-81b0-000347a4fa7d.html> Note: To disable this check add the uuid to `portaudit_fixed' in /usr/local/etc/portaudit.conf 2 problem(s) in your installed packages found. You are advised to update or deinstall the affected package(s) immediately.
Sollte man einen Port upgraden, dieser jedoch nicht sicher ist, so weigert sich portupgrade schlichtweg:
-su-2.05b# portupgrade wget-1.8.2_6 [Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... - 401 packages found (-0 +0) done] ---> Upgrading 'wget-1.8.2_6' to 'wget-1.8.2_7' (ftp/wget) ---> Building '/usr/ports/ftp/wget' ===> Cleaning for libiconv-1.9.2_1 ===> Cleaning for gettext-0.14.1 ===> Cleaning for gmake-3.80_2 ===> Cleaning for libtool-1.5.10_1 ===> Cleaning for expat-1.95.8_1 ===> Cleaning for wget-1.8.2_7 ===> wget-1.8.2_7 has known vulnerabilities: => wget -- multiple vulnerabilities. Reference: <http://www.FreeBSD.org/ports/portaudit/06f142ff-4df3-11d9-a9e7-0001020eed82.html> => Please update your ports tree and try again. *** Error code 1 Stop in /usr/ports/ftp/wget. ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade62459.0 make ** Fix the problem and try again. ** Listing the failed packages (*:skipped / !:failed) ! ftp/wget (wget-1.8.2_6) (unknown build error) ---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed
Praktischerweise erhält man noch eine URL mit den detaillierteren Informationen über die Art des Sicherheitslochs.
Portaudit umgehen
Wenn man einen Port trotzdem installieren möchte, so kann man das Flag DISABLE_VULNERABILITIES setzen.
-su-2.05b# portupgrade -m DISABLE_VULNERABILITIES=yes wget-1.8.2_6
Und schon umgeht er den Portaudit...
Den "Sicherheitsticker" kann man hier einsehen.