FreeBSD Update - Userlinux.net

Hace unos días estoy intentando retomar mis conocimientos de BSD, centrados concretamente -en esta ocasión- en FreeBSD y considero que hay un par de consejos que conviene dejar escritos para futuras revisiones :D. Cualquier sistema operativo tiene fallos de seguridad y FreeBSD no iba a ser una excepción. Quiero aclarar…

FreeBSD Update

28.Sep.2005 ~ 6 Comentarios ~ 3319 Lecturas
Hace unos días estoy intentando retomar mis conocimientos de BSD, centrados concretamente -en esta ocasión- en FreeBSD y considero que hay un par de consejos que conviene dejar escritos para futuras revisiones :D.

Cualquier sistema operativo tiene fallos de seguridad y FreeBSD no iba a ser una excepción. Quiero aclarar que cuando hablo del sistema operativo y centrándome de nuevo en este sabor de BSD me refiero al sistema base, como todos sabeis FreeBSD se compone de un sistema base y las aplicaciones (userland) instalables vía ports o packages.

Para corregir bugs de ports o packages debemos esperar a que salga una nueva versión y actualizar o aplicar el correspondiente parche recompilando de nuevo la aplicación.

Si los fallos corresponden con la base del sistema las cosas no cambian demasiado, podemos bajarnos las nuevas fuentes y recompilarlo todo -buen método para quien tenga paciencia y ganas de experimentar- o por el contrario actualizar los binarios directamente.

La actualización de binarios tiene otros riesgos evidentes porque te la pueden clavar si, por desgracia o mal externo, te 'equivocas' de binarios -nótese el entrecomillado-. Teniendo en cuenta ese factor y asumiendo dicho riesgo contamos con un programa específico para semejante tarea: freebsd-update:
[myhost]/usr/ports# make search name=freebsd-update
Port:   freebsd-update-1.6_1
Path:   /usr/ports/security/freebsd-update
Info:   Fetches and installs binary updates to FreeBSD
Maint:  cperciva@daemonology.net
B-deps:
R-deps: bsdiff-4.2
WWW:    http://www.daemonology.net/freebsd-update/
Una vez acabada la instalación del sistema vamos a intentar hacer nuestra primera actualización de binarios 'corruptos':
[myhost]/usr/ports# portinstall -prfv /usr/ports/security/freebsd-update
--->  Session started at: Wed, 28 Sep 2005 11:12:51 +0200
[Updating the pkgdb  in /var/db/pkg ... - 41 packages found (-0 +1) . done]
--->  Fresh installation of security/freebsd-update started at: Wed, 28 Sep 2005 11:12:55 +0200
--->  Installing 'freebsd-update-1.6_1' from a port (security/freebsd-update)
--->  Build of security/freebsd-update started at: Wed, 28 Sep 2005 11:12:56 +0200
--->  Building '/usr/ports/security/freebsd-update'
===>  Cleaning for bsdiff-4.2
===>  Cleaning for freebsd-update-1.6_1
...
[myhost]/usr/ports# cp /usr/local/etc/freebsd-update.conf.sample /usr/local/etc/freebsd-update.conf

[myhost]/usr/ports# grep URL /usr/local/etc/freebsd-update.conf
#  Specifies the base URL from which updates will be fetched
URL=http://update.daemonology.net/

[myhost]~# rehash
[myhost]~# freebsd-update fetch
Fetching public key...
Fetching updates signature...
Fetching updates...
Fetching hash list signature...
Fetching hash list...
Examining local system...
Fetching updates...
/boot/kernel/kernel...
/boot/loader...
/boot/pxeboot...
...
/lib/libz.so.2...
/usr/bin/bunzip2...
/usr/bin/bzcat...
/usr/bin/bzip2...
...
Updates fetched

To install these updates, run: '/usr/local/sbin/freebsd-update install'

Don't forget to rebuild any statically linked ports
to use the updated libraries after you install them.

[myhost]~#freebsd-update install
Backing up /boot/kernel/kernel...
Installing new /boot/kernel/kernel...
Backing up /boot/loader...
Installing new /boot/loader...
Backing up /boot/pxeboot...
Installing new /boot/pxeboot...
Backing up /lib/libz.so.2...
Installing new /lib/libz.so.2...
Backing up /usr/bin/bunzip2...
...
[myhost]~#
En pocas palabras primero instalamos freebsd-update, creamos el archivo propio de configuración, miramos que la URL de ese archivo sea correcta para evitar futuras sorpresas, bajamos los nuevos binarios e instalamos los mismos. Rápido, sencillo y eficaz.

Es una buena forma de mantener presumiblemente limpio el sistema y actualizado de fallos.
Categorías: sistemas

Comentarios


gravatar
28.Sep.2005
El problema de estos temas es que nunca son fuentes oficiales, es decir, tienes que confiar en el que te proporciona los parches... que en este caso ¿es FreeBSD?

Recientemente ojee SPMS para OpenBSD, que te permite hacer lo mismo... instalar parches binarios, y con la misma pega: ¿me bajo los parches para mi sistema de casa de estos señores? No sé.

Quizás con granjas de servidores iguales, pues sí. Te haces los parches tu en una máquina y los instalas en el resto. Pero vamos, nada que no puedas conseguir con un:

# env DESTDIR=~/fake_root make install
# cd ~/fake_root && tar cvfz . bin-patch.tar.gz
...en otra máquina muy lejana - la misma versión del OS...
# cd / && tar xvfzp ~/patches/bin-patch.tar.gz


Hombre, cosas como SPMS te permiten saber qué parches has aplicado y tal... pero eso ya se puede arreglar siendo un poco organizado y llevando un registro más o menos a mano :D

Si es una máquina... pues no sé si merece la pena la confianza...

gravatar
28.Sep.2005
Hombre, no sé si es exactamente lo que buscas, pero portupgrade te da la opción de actualizar tus ports por medio de binarios o eso creo recordar.

Échale un ojo en el manual a:
-P
--use-packages

-PP
--use-packages-only

Mi experiencia personal es que no todos los ports tienen un binario, pero supongo que la mayoría o al menos los más comunes si lo tendrán, la verdad es que no lo he usado practicamente.

gravatar
28.Sep.2005
ports != sistema base

Los ports se actualizan por el sistema de ports, el sistema base no. En los sistemas BSD el sistema base no está integrado en el sistema de gestión de paquetes (aka ports).

gravatar
29.Sep.2005
Opino lo mismo que Juanjo, el unico medio en el que compensa utilizar binarios es en el caso de tener que upgradear muchas maquinas iguales, donde puedes crear los binarios en una, y luego actualizar las demas, pero...

Que pasa cuando tienes (sobre todo hablando de openbsd), firewalls con muy (repito, muy) poco espacio de almacenaje? (se me vienen a la cabeza firewalls tipo soekris con una flash card en lugar de un hd, o con hds de muy pocos gb). Ahi no tienes sitio para bajar src y compilar... Existe una opcion, que es montar /usr/src via nfs, de hecho hay buena documentacion al respecto... aunque quizas ahi si compense upgrade por binarios...

gravatar
29.Sep.2005
Uhmm, no sabía que freebsd-update era para actualizar el sistema, es más, desconocía su existencia, y al leer paquetes lo primero que se me vino a la cabeza fueron los ports y esa es la razón de mi comentario, fallo mío.

gravatar
30.Sep.2005
Bonito descubrimiento esto del freebsd-update, ahora cuando me corra prisa actualizar alguna maquina sin muchos recursos tirare de el ( espero acordarme :P ).

Saliendome un poco del tema... ¿ conoceis portaudit ? Me imagino que muchos de vosotros si, para los que no http://www.freebsd.org/cgi/url.cgi?ports/security/portaudit/pkg-descr


Comentarios


Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Buscar

Cargando...

Últimos comentarios

  • graffic
  • reidrac
  • reidrac
  • Wu
  • dilam
  • r0sk
  • reidrac
  • r0sk
  • chucu
  • r0sk
  • el_palomo_programador
  • r0sk
  • reidrac
  • Player 1
  • r0sk

Moneting

Valor de mi cuenta de Facebook según Moneting
Valor de mi cuenta de Twitter según Moneting

Tagcloud

bsd humor bake twitter vacaciones ps3 hack 2007 python blog django alemania_2006 mundial cake felicidades games conciertos rsidenotes juegos openbsd web iphone sidenotes rfilms ubuntu barça cakephp blogsfera mac bash meme macosx deportes canción ds personal films freebsd 2008 opinion nintendo sysadmin futbol mysql php frases userlinux debian ssh linux blogs champions apple lugo league programación twitt lucux seguridad cumpleaños

Archivo

Social

Enlaces de interés