patchlevel

gripmaster

Well-Known Member
Da heute morgen wieder drei Advisories in meinem Briefkasten waren, muss ich noch mal eine Frage stellen:

(Ich benutze FreeBSD 5.4 RELEASE)

Ich habe ja grundsätzlich entweder die Möglichkeit auf RELENG_5_4 upzudaten, oder aber das System zu patchen. Ich hab mich jetzt mal für die 2. Möglichkeit entschieden.

Habe den Patch mit wget gezogen und wie nach Anleitung auch eingespielt. Danach haben ich einen neuen Kernel gebaut (GENERIC) und das System neu gestartet.

ein "uname -a" zeigt mir jetzt aber immer noch " 5.4-RELEASE-p1" an.
Also Patchlevel 1 ?!

Meine eigentlichen Fragen:

1) Welcher Weg ist grundsätzlich besser um ein System zu sichern? patch oder update?

2) Warum ist mein Patchlevel gleich geblieben?
Hab' ich vielleicht was falsch gemacht?

Gruß,
gripmaster
 
Eine Verständnisfrage:
Habe den Patch mit wget gezogen und wie nach Anleitung auch eingespielt. Danach haben ich einen neuen Kernel gebaut (GENERIC) und das System neu gestartet.

Nach welcher Anleitung hast Du den Patch eingespielt? Und warum hast Du den Kernel neu gebacken?

Ich habe heute morgen einfach "freebsd-update fetch" und danach "freebsd-update install" eingegeben, das war alles. Nun steht bei mir nach "uname -a" :

Code:
FreeBSD  5.4-SECURITY FreeBSD 5.4-SECURITY #0: Thu Jun 30 02:25:52 UTC 2005

Bin halt neugierig ;-)


Amorphus
 
Also im Advisorie steht

2) To patch your present system:

The following patches have been verified to apply to FreeBSD 5.4
systems.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:13/ipfw.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:13/ipfw.patch.asc

b) Apply the patch.

# cd /usr/src
# patch < /path/to/patch

c) Recompile your kernel as described in
<URL:http://www.freebsd.org/handbook/kernelconfig.html> and reboot the
system.


und von "freebsd-update" hab ich noch nie was gehört!!!
Versteh ich da was grundlegend falsch ??
 
Es ist nichts falsch an deinem Weg.

Amorphus benutzt Binärupdates, mit seinen eigenen Vor- und Nachteilen,
schnelleres und einfacheres Patchen, aber nur der GENERIC-Kernel kann benutzt werden
und dem Lieferanten der Binärpatches muss man vertrauen.

Ob du nur die fehlerhaften Teile deiner Source oder die ganze Source aktualisierst und rekompilierst,
ist dir und deiner Update- und Patch-Politik überlassen.
Ob du deine Source zentral verwaltest oder nicht, ob Kernel und World aktualisiert werden sollen,
oder nur der fehlerhafte Bestandteil im Kernel oder World,
ob du rebooten darfst oder nicht.

Zu den Patchleveln kann ich nichts sagen, da ich STABLE benutze und meine
cvsup-Läufe die Aktualität und damit den Patchlevel definieren.
 
danke für deine Antwort, lars !

Also ich würde gerne dabei bleiben die Patches per Hand einzuspielen. Geht halt schneller als ein cvsup + make buildworld. Allerdings versteh ich das mit den patchleveln immer noch nicht.

Kann mir das jemand erklären?

Gruß,
gripmaster
 
Mich hat die Frage mit den Patchleveln auch interessiert, ich habe daher die Mail-Liste
freebsd-stable@freebsd.org
angeschrieben (ist eigentlich nicht die richtige Liste, STABLE hat in dem Sinne keine Patchlevel).
Hier die Antworten:
>I can't seem to find out how the patchlevel is set.

It's set by newvers.sh in src/sys/conf


>Is it incremented with each SA's patch, kernel or world,
>or only kernel or only world?

It's incremented when something is committed to the release branch for a
particular release. That particular commit may or may not contain more
than one "fix".

Zweite Antwort:
The patch level is set in src/sys/conf/newvers.sh. I believe this means
that it is only updated after rebuilding the kernel (see 'sysctl
kern.version').

I have often applied patches from Security Advisories and rebuilt only
what was necessary instead of world/kernel. With a userland
vulnerability, this is often the most expedient and unintrusive method.
However, the new patch level is not set this way so you have to
document the update for yourself. On client machines I sometimes do the
full world/kernel rebuild and schedule a reboot just to avoid questions
about whether the machine is up-to-date.

Ich hoffe das hilft schon mal.
 
Amorphus schrieb:
Also ich bin nach diesem hier vorgegangen:
http://wiki.bsdforen.de/index.php/FreeBSD_-_Make_World#Betriebssystem-Sicherheitsl.C3.BCcken

Bei der Ausführung der Befehle hat er dann alle angesprochene Patches gefetcht und installiert.

Hierzu hab ich eine Verständnisfrage. Bei den aktuellen Patches werden Probleme des Basissystemes und des Kernels behoben. Mit dem Tool freebsd-update wird doch nur mein Basissystem gepatcht und nicht mein selbsterstellter Kernel, wenn überhaupt dann doch wohl nur der Generic Kernel.

Somit wäre wohl mein eigener Kernel immer noch ungepatcht und man müsste korrekterweise aus dem neuen (gepatchten) Generic sich einen neuen Kernel backen mit den Kernelanpassungen des bisherigen eigenen Kernels.

Alternative man baut sich gleich eine neue Welt, was das Tool freebsd-update wieder ad absurdum führt.

Sehe ich das richtig oder ist da ein Denkfehler?
 
Du hast es erfasst. Das ist wie Lars schon sagte ein Binärupdate, das nur bei den Releases richtig funktioniert. Wenn du das Release verändert (an deine Bedürfnisse angepasst oder aktualisiert) hast, dann funktionieren die Binärupdates logischerweise nicht mehr richtig.

Gruß
 
Sicherheitspatch automatisiert

Was ich gerade dazu gefunden habe freigegebener Hack #69 von Dru Lavigne's Buch "BSD Hacks", sieht mir interessanter aus. Vielleicht mal was um es ins Wiki zu stellen.
 
Vielen Dank für eure Antworten,

dann werd ich mal fröhlich weiter patchen und die Änderungen selber dokumentieren falls ich die Welt nicht neu baue.


gruß,
gripmaster
 
.mp schrieb:
Du hast es erfasst. Das ist wie Lars schon sagte ein Binärupdate, das nur bei den Releases richtig funktioniert. Wenn du das Release verändert (an deine Bedürfnisse angepasst oder aktualisiert) hast, dann funktionieren die Binärupdates logischerweise nicht mehr richtig.

Gruß

Das heißt, wenn ich einmal die Welt neu gebaut habe funktionieren die Binarys nicht mehr richtig ?
 
So lange du keine Änderungen am Verhalten von buildworld in der make.conf vorgenommen und GENERIC verwendest, darfst du diese so oft bauen wie du willst.
 
Also ich habe eben mal freebsd-update zum Einsatz gebracht, das tool hat auch brav den letzten Patch nachgezogen, trotzdem blieb ich auf dem Patchlvl 3. Auch das Script was Perdurabo gefunden hat änderte daran nix. Erst als ich alles neugebaut hab war fbsd auf dem Patchlevel 4. Ich benutze den Standardkernel, also sollte das ja eigentlich funzen.

Wie kommt das ?
 
Also ich habe eben mal freebsd-update zum Einsatz gebracht, das tool hat auch brav den letzten Patch nachgezogen, trotzdem blieb ich auf dem Patchlvl 3.
Hast du mit freebsd-update überhaupt Patchlevel?
Das letzte FreeBSD-SA-05:16.zlib beinhaltet keinen Kernel-Patch.
Wenn du also binär zlib updatest, wird das Script
newvers.sh
nicht angestossen.
Siehe dazu auch meinen obigen Post, wie der Patchlevel inkrementiert wird.

Noch was:
Kommt innerhalb der Ausgabe von
$ uname -a
nicht so was wie "FreeBSD 5.n.n-SECURITY #0",
und nur
#0
gibt an, die wievielte Kompilation der Kernel hinter sich hat?
Auch das Script was Perdurabo gefunden hat änderte daran nix.
Ist das Script gleich konfiguriert, wie deine cvsup-files bei einem manuellem Neubau?

Soweit ich sehe, patcht und rekompiliert das Script bei einem Patch zu einem
Teil der Source auch nur diesen Teil, was zur Folge hat, dass der Patchlevel
nicht inkrementiert wird.
Siehe dazu auch oben mein Post zu newvers.sh.

In der Zwischenzeit kanns du dich auch hier schlau machen:
http://www.taosecurity.com/keeping_freebsd_up-to-date.html
 
Zuletzt bearbeitet:
das folgende bringt uname -a nun:
bsd.home.zone 5.4-RELEASE-p4 FreeBSD 5.4-RELEASE-p4 #2: Fri Jul 8 17:39:30 CEST 2005 root@bsd.home.zone:/usr/obj/usr/src/sys/GENERIC i386

Als ich mit freebsd-udpate das update gezogen habe, war ich noch im Patchlevel 3 und das tool hast nur die zlib-Geschichte nachgezogen. Mich wunderte das ich immernoch beim Patchlevel 3 war, deshalb hab ich mal alles neugebaut..

Oh im script hab ich wohl was vergessen anzupassen. Die supfiles waren falsch eingetragen.

Dann muss bei freebsd-update irgendwo noch der wurm drin sein, sonst hätte das tool ja auch auf P4 updaten müssen.

EDIT:
so ich hab mir mal ne vm geschnappt und die mit freebsd-update auf den neuesten Stand gebracht, folgende kam dabei raus:
FreeBSD update.home.zone 5.4-SECURITY FreeBSD 5.4-SECURITY #0: Thu Jun 30 02:25:52 UTC 2005 root@builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
 
Zuletzt bearbeitet:
Dann muss bei freebsd-update irgendwo noch der wurm drin sein, sonst hätte das tool ja auch auf P4 updaten müssen.
Wenn das freebsd-update nur Userland updatet, dann wird
/usr/src/sys/conf/newvers.sh
nicht ausgeführt.
Und weil dein Kernel auch nicht ersetzt wurde, hat dein neuer Kernel auch keinen inkrementierten Patchlevel.

Wenn du aber Wert auf eindeutige Angaben zum Patchlevel legst, so wirst du wohl
alles manuell machen müssen, inkl. Neubau des Kernels und der Welt.

Oder du passt das quickpatch.pl Script an, so dass es immer die Welt neu baut.
 
Weiß übrigens schon Irgendwer ob's eine Möglichkeit gibt freebsd-upate auch auf einem AMD64 System zu benutzen?

Hab nämlich folgendes Problem:

Code:
# freebsd-update fetch
Fetching public key...
fetch: [url]http://update.daemonology.net/amd64/5.3/pub.key:[/url] Not Found
Error fetching updates

# uname -v
FreeBSD 5.3-RELEASE #0: Fri Nov  5 03:50:01 UTC 2004     [email]root@fanboy.samsco.home[/email]:/usr/obj/usr/src/sys/GENERIC
Siehe http://www.bsdforen.de/showthread.php?t=9803
 
Zuletzt bearbeitet:
Zurück
Oben