OpenBSD 3.4:
Fecha de lanzamiento: 1 de noviembre de 2003
Copyright 1997-2003, Theo de Raadt.
ISBN 0-9731791-2-0
Novedades
Breviario de instalación
Utilización del árbol de portes
Cómo obtener los CD
Para obtener los archivos de instalación de esta versión:
- Realice un pedido de los CD a través de nuestro
sistema de pedidos.
- Lea la información contenida en la
página de FTP, que incluye un listado de los sitios que
mantienen réplicas del servidor de FTP de OpenBSD.
- Vaya al directorio pub/OpenBSD/3.4/ en
cualquiera de las réplicas de FTP.
- Dé un breve repaso al resto de esta página.
- Dé un vistazo a la página de
erratas para 3.4 con el fin de obtener una lista de errores y
soluciones.
- Mire este informe detallado sobre cambios
entre las versiones 3.3 y 3.4.
Nota: Todos los derechos de autor y créditos se
pueden ver en los ficheros que se encuentran en los respectivos archivos
de fuentes src.tar.gz, sys.tar.gz, XF4.tar.gz, o en los ficheros
individuales obtenidos mediante el archivo ports.tar.gz. Los ficheros
de la distribución utilizados para crear los paquetes del archivo
ports.tar.gz no están incluidos en el CDROM debido a la falta de
espacio.
Novedades
Ésta es una lista parcial de las nuevas funcionalidades y
sistemas incluidas en OpenBSD 3.4. Puede ver una lista más
detallada en el tablón de cambios entre
3.3 y 3.4.
- La arquitectura i386 ha cambiado al formato ejecutable
ELF.
- Más mejoras en W^X, incluido el soporte para la arquitectura
i386. Se han reordenado los segmentos ejecutables de los binarios
nativos de i386 para que se pueda aislar el código de los datos,
y el límite CS de la cpu se usa para imponer un límite de
esfuerzo mejor en la ejecución del código.
- Ahora,
ld.so(1) en las plataformas ELF carga las bibliotecas en un orden
aleatorio para una mayor resistencia a los ataques. La arquitectura
i386 también asigna bibliotecas con direcciones algo aleatorias.
Junto con W^X y ProPolice, estos cambios aumentan la dificultad de que
se pueda explotar un error de una aplicación, como un
desbordamiento de memoria.
- Se ha añadido un comprobador de enlaces al compilador para
que lleve a cabo comprobaciones en las funciones que acepten memorias
intermedias y tamaños. El objetivo del comprobador es el de
encontrar fallos comunes en el uso de funciones de bibliotecas, como
strlcpy(3) o
sscanf(3), sin emitir ningún positivo falso. Al ejecutarlo
sobre el árbol de código fuente y de los portes
reveló más de cien errores reales, que se repararon y se
enviaron a los autores originales con los que se pudo contactar.
- Se ha implementado la separación de privilegios en el
dæmon de syslogd(8),
haciéndolo de este modo mucho más robusto contra posibles
errores en el futuro. El proceso hijo que está a la escucha del
tráfico de red, ahora se ejecuta como un usuario normal y
chroot, mientras que el proceso padre lleva un seguimiento del
estado del proceso hijo y lleva a cabo las operaciones para las que se
necesitan privilegios en su nombre.
- Se han eliminado muchas funciones de cadena del núcleo del
sistema y de utilidades del modo usuario. Esta auditoría es una
de las más completas que jamás se hayan realizado en
OpenBSD, con miles de casos en los que
strcpy(3), strcat(3), sprintf(3), y vsprintf(3)
han sido sustituidos por alternativas más seguras como
strlcpy(3), strlcat(3), snprintf(3), vsnprintf(3), y asprintf(3).
- Muchas mejoras y errores reparados en el protector de pila
ProPolice. También varios errores de generación de
código reparados en las arquitecturas RISC.
- La protrección de la pila
ProPolice se ha activado también en el núcleo del
sistema.
- Se ha implementado la separación de privilegios en el
servidor de X. El proceso hijo con privilegios es el responsable de
todas las operaciones que no se pueden realizar después de que el
proceso principal cambie a usuario sin privilegios. Esto reduce en gran
medida el daño en potencia que podrían causar clientes de
X maliciosos, en el caso que existieran errores en el servidor de X.
- El soporte para la emulación de la compatibilidad de binarios
se controla ahora a través de
sysctl(8).
Ahora, la emulación se encuentra activada de forma
predeterminada para limitar la exposición a binarios malignos, y
se puede activar en
sysctl.conf(5).
- Se han mejorado mucho las páginas del manual.
- El árbol de portes ahora tiene soporte para la
compilación de programas bajo
systrace(1), previniendo así la posibilidad de que las
aplicaciones puedan dañar el sistema durante la
compilación a través de scripts de
configuración troyanos u otros.
- El almacenamiento en caché de síbolos en
ld.so(1)
reduce el tiempo de inicio de las aplicaciones grandes.
- Más correcciones de licencias, incluida la eliminación
de la cláusula sobre publicidad en grandes partes del
árbol de fuentes.
- Sustitución de las órdenes
diff(1),
diff3(1),
grep(1),
egrep(1),
fgrep(1),
zgrep(1),
zegrep(1),
zfgrep(1),
gzip(1),
zcat(1),
gunzip(1),
gzcat(1),
zcmp(1),
zmore(1),
zdiff(1),
zforce(1),
gzexe(1),
y
znew(1)
de GNU por equivalentes bajo licencia BSD.
- Añadido soporte de sólo lectura para los sistemas de
archivos
NTFS.
- Mejoras de fiabilidad para sistemas de archivos de capas,
permitiendo así que
NULLFS
funcione de nuevo.
- Se ha importado la utilidad
growfs(8), que permite la expansión de sistemas de archivos
ya existentes.
- Mejoras en el
emulador de linux para que puedan funcionar más aplicaciones
bajo emulación.
- Mejoras significativas en la biblioteca
pthreads(3).
- Se han sustituido muchos usos estáticos fd_set por
poll(2)
o ubicación dinámica.
- «ANSIficación» y prototipos más estrictos
para una gran parte del árbol de fuentes.
- Se ha eliminado el soporte de legado de KerberosIV, y reestructurado
el código base restante de KerberosV para facilitar la
gestión.
- Más de 2400 portes y 2200 paquetes precompilados.
- Un gran número de reparaciones de errores, cambios, y
optimizaciones en nuestro filtro de paquetes
pf(4),
incluidos:
- etiquetado de paquetes (v.g. filtrado en etiquetas añadidas
por bridge basado en la dirección MAC)
- Normalización de TCP con estado (evita el cálculo del
tiempo en activo (uptime) y la detección de NAT)
- Detección pasiva de sistema operativo (filtra o redirecciona
las conexiones basándose en el origen del sistema operativo)
- SYN proxy (protege a los servidores contra ataques SYN de
desbordamiento)
- adaptive state timeouts (previene los desbordamientos de la
tabla de estado bajo un ataque)
- Mejoras en el soporte de hardware, incluido:
- Controladoras Kauai ATA (Apple ATA100 wdc),
kauaiata(4),
activando con esto el soporte para los modelos Powerbook 12" y
17".
- Soporte para registros de control LongRun en CPUs Transmeta.
- Muchas reparaciones en los controladores SCSI
aac(4),
ahc(4),
osiop(4),
y siop(4).
- Nuevos controladores de monitoración de hardware
it(4),
lm(4), y
viaenv(4).
- Nuevo controlador
safe(4)
para aceleradoras criptográficas SafeNet.
- Nuevo controlador
mtd(4)
para tarjetas de red Myson Technologies.
- Soporte para más tarjetas de red en
sk(4),
wi(4),
fxp(4) y
dc(4).
- Repaso general y sincronización con NetBSD de todo el sistema
de soporte de
usb(4).
- Un nuevo y mejor soporte para varias controladoras en
pciide(4),
incluido el soporte experimental para ATA serie.
- Nuevos controladores
mgx(4) y
pninek(4) para el soporte de marcos de memoria (framebuffers)
de SPARC. El controlador
vigra(4) también soporta ahora más modelos.
- Soporte en el controlador
pcmcia(4) para los SPARCBook y SPARC de Tadpole con puentes
pcmcia-sbus.
- Soporte para Watchdog en
elansc(4) y
geodesc(4), que se usa en las placas de Soekris.
- El sistema incluye los siguientes componentes principales
provenientes de terceras partes:
- XFree86 4.3.0 (+ parches, y i386 contiene también servidores
para 3.3.X, dando así soporte a todos los chipsets)
- Gcc 2.95.3 (+ parches)
- Perl 5.8.0 (+ parches)
- Apache 1.3.28, mod_ssl 2.8.15, soporte DSO (+ parches)
- OpenSSL 0.9.7b (+ parches)
- Groff 1.15
- Sendmail 8.12.9 (+ parche de seguridad parse8.359.2.8)
- Bind 9.2.2 (+ parches)
- Lynx 2.8.4rel.1 con soporte añadido para HTTPS e IPv6 (+
parches)
- Sudo 1.6.7p5
- Ncurses 5.2
- Latest KAME IPv6
- Heimdal 0.6rc1 (+ parches)
- Arla-current
- OpenSSH 3.7.1 (ahora con soporte para GSSAPI)
- Muchas mejoras de seguridad y fiabilidad del sistema (véase
la letra en rojo del tablón de cambios
completo).
- ... y mucho más.
Breviario de instalación
Lo que viene a continuación son las instrucciones de
instalación que se encuentran en la carátula del CDROM.
Las instrucciones para una instalación mediante FTP (o cualquier
otra alternativa de instalación) son muy parecidas; las
instrucciones del CDROM se dejan intactas con el fin de mostrar lo
fácil que es instalar con los CD en lugar de otro modo.
Por favor, lea los siguiente ficheros que encontrará repartidos
entre los tres CD, y que contienen un detallada explicación sobre
cómo instalar OpenBSD 3.3 en su máquina:
- CD1:3.4/i386/INSTALL.i386
- CD2:3.4/macppc/INSTALL.macppc
- CD2:3.4/vax/INSTALL.vax
- CD3:3.4/sparc/INSTALL.sparc
- CD3:3.4/sparc64/INSTALL.sparc64
- FTP:.../OpenBSD/3.4/alpha/INSTALL.alpha
- FTP:.../OpenBSD/3.4/hp300/INSTALL.hp300
- FTP:.../OpenBSD/3.4/hppa/INSTALL.hppa
- FTP:.../OpenBSD/3.4/mac68k/INSTALL.mac68k
- FTP:.../OpenBSD/3.4/mvme68k/INSTALL.mvme68k
La siguiente información servirá para una rápida
instalación a aquellos usuarios que estén familiarizados
con OpenBSD y con el uso de la orden disklabel -E. Si le
resulta confusa la instalación de OpenBSD, lea el fichero
INSTALL.* correspondiente a su plataforma.
OpenBSD/i386:
Juegue con las opciones de su BIOS para activar el arranque desde el
CD1. La versión final de OpenBSD/i386 se encuentra en el primer
CD. Si su BIOS no dispone de soporte para el arranque desde el CD,
tendrá que crear un disquete de arranque para iniciar el proceso
de instalación. Para crear un disquete de arranque, vuelque la
imagen que encontrará en CD1:3.4/i386/floppy34.fs, en el
primer CD, a un disquete y arranque el sistema desde la disquetera.
O use la imagen 3.4/i386/floppyB34.fs del primer CD si necesita
mayor soporte de controladores scsi; o la imagen
3.4/i386/floppyC34.fs del primer CD si necesita más
soporte para portátiles.
Si va a usar un sistema de arranque dual de OpenBSD con otro sistema
operativo, tendrá que leer el documento INSTALL.i386 incluido en
el CD.
Para crear un disquete de arranque desde MS-DOS, use el programa
rawrite que encontrará en el directorio
3.4/tools/rawrite.exe del primer CD. Para crear el disquete de
arranque desde un sistema operativo Unix, use la utilidad
dd(1). El siguiente ejemplo ilustra el uso de
dd(1), en donde dispositivo podría ser
"floppy", "rfd0c", o "rfd0a", y
fichero la imagen de arranque que vaya a volcar al disquete.
# dd if=<file> of=/dev/<device> bs=32k
Asegúrese de usar disquetes correctamente formateados,
SIN BLOQUES ERRÓNEOS, o la instalación
fallará con casi toda probabilidad. Puede obtener
más información sobre cómo crear un
disquete de arranque e instalar OpenBSD/i386 desde éste
en la sección 4.1 de
las preguntas frecuentes.
OpenBSD/macppc:
Introduzca el segundo CD en el dispositivo del CDROM e inicie el equipo
mientras mantiene presionada la tecla C hasta que se encienda la
pantalla y muestre la línea OpenBSD/macppc boot.
De forma alternativa, desde el punto de Open Firmware, introduzca la
orden boot cd:,ofwboot /3.4/macppc/bsd.rd
OpenBSD/vax:
Arranque desde una red local mediante mopbooting tal y como se
describe en INSTALL.vax.
OpenBSD/sparc:
La versión 3.4 de OpenBSD/sparc se encuentra en el tercer CD.
Para arrancar desde este CD puede usar una de las dos órdenes que
aparecen a continuación, dependiendo de la versión de su
ROM.
> boot cdrom 3.4/sparc/bsd.rd
ó
> boot sd(0,6,0)3.4/sparc/bsd.rd
Si su sparc no dispone de un dispositivo de CD puede, de forma
alternativa, arrancar desde un disquete. Para ello tendrá que
volcar la imagen 3.4/sparc/floppy34.fs del tercer CD a un
disquete. Para más información lea la
sección 4.1 de las
preguntas frecuentes. Para arrancar desde el disquete use una de las
dos órdenes que aparecen a continuación, dependiendo de la
versión de su ROM.
> boot floppy
ó
> boot fd()
Asegúrese de usar un disquete correctamente formateado SIN
BLOQUES ERRÓNEOS, o la instalación fallará con casi
total seguridad.
Si su sparc no dispone de dispositivo de disquete ni de CD, puede puede
configurar una cinta de arranque o instalarlo por red, como se explica
en el fichero INSTALL.sparc.
OpenBSD/sparc64:
Introduzca el tercer CD en el dispositivo de CDROM y ejecute la orden
boot cdrom.
Si esto no funciona, o si no dispone de un dispositivo de CDROM, vuelque
la imagen 3.4/sparc64/floppy34.fs del tercer CD a un disquete y
arranque desde éste mediante la orden boot floppy.
Asegúrese de usar un disquete correctamente formateado SIN BLOQUE
ERRÓNEOS o la instalación fallará con casi toda
seguridad.
También puede volcar la imagen 3.4/sparc64/miniroot34.fs
del tercer CD a la partición de memoria de intercambio en el
disco, y arrancar con la orden boot disk:b.
Si ninguno de los métodos anteriores funciona, puede arrancar por
red como se describe en INSTALL.sparc64.
OpenBSD/alpha:
Vuelque FTP:3.4/alpha/floppy34.fs o
FTP:3.4/alpha/floppyB34.fs (dependiendo de la máquina) a
un disquete, y ejecute la orden boot dva0. Para más
detalles lea el fichero INSTALL.alpha.
Asegúrese de usar un disquete correctamente formateado, SIN
BLOQUES ERRÓNEOS, o la instalación fallará con casi
toda seguridad.
OpenBSD/hp300:
OpenBSD/hppa:
OpenBSD/mac68k:
Arranque MacOS normalmente y particione el disco con las configuraciones
A/UX apropiadas. Luego extraiga las utilidades Macside del directorio
de FTP 3.4/mac68k/utils al disco duro. Ejecute Mkfs para crear
los sistemas de archivos en las particiones A/UX que acaba de crear. A
continuación use el "Installer de BSD/Mac68k" para
copiar todos los archivos de instalación desde el directorio de
FTP 3.4/mac68k a sus particiones. Finalmente, estará
listo para configurar el "Booter de BSD/Mac68k" con la
ubicación de su núcleo y arrancar el sistema.
OpenBSD/mvme68k:
Puede crear una cinta de instalación de arranque o arrancar a
través de la red.
El arranque por red requiere una versión de MVME68K BUG con
soporte para las órdenes de depuración NIOT y
NBO. Puede ver más detalles en el fichero
INSTALL.mvme68k.
Notas sobre el código
fuente:
src.tar.gz contiene un archivo con el código fuente
necesario para empezar con /usr/src. Este archivo contiene todo
lo necesario a excepción del código fuente del
núcleo del sistema, que se encuentra en otro archivo. Para
extraerlo:
# mkdir -p /usr/src
# cd /usr/src
# tar xvfz /tmp/src.tar.gz
sys.tar.gz contiene un archivo con el código fuente para
empezar con /usr/src/sys. Este archivo contiene todo el
código fuente del núcleo del sistema necesario para
recompilar núcleos. Para extraerlo:
# mkdir -p /usr/src/sys
# cd /usr/src
# tar xvfz /tmp/sys.tar.gz
Estos dos árboles están sacados del repositorio de CVS.
Mediante el uso de estos árboles es posible obtener una base
desde la que empezar a usar los servidores de cvs anónimo, tal y
como se describe en esta página. El
uso de estos archivos permite un inicio más rápido para la
actualización del árbol de CVS de lo que supondría
bajarse todo el árbol de fuentes de OpenBSD completo.
El árbol de portes
También se incluye un árbol de portes. Para extraerlo:
# cd /usr
# tar xvfz /tmp/ports.tar.gz
# cd ports
El subdirectorio ports/ ha sido extraído directamente
desde el árbol de portes de OpenBSD. Si todavía no sabe
qué son los portes, lea la página de
los portes. Esta sección no es un manual de uso de los
portes, sino más bien una serie de apuntes con el
propósito de ayudar al usuario a comenzar a usar el sistema de
portes de OpenBSD.
El directorio ports/ es una réplica de nuestro
árbol de portes del CVS (lea la página del manual de
cvs(1) si no sabe qué es CVS). Del mismo como que con
nuestro árbol completo de fuentes del sistema, nuestro
árbol de portes está disponible mediante cvs
anónimo. Así pues, para mantener su sistema de portes
actualizado con el de CVS, debe tener un árbol de portes,
ports/, disponible en un medio accesible con permisos para
lectura y escritura, y actualizarlo con una orden como:
# cd [portsdir]/; cvs -d anoncvsserver.openbsd.org:/cvs update -Pd -rOPENBSD_3_4
(y, por supuesto, debe sustituir los nombres del directorio local y del
servidor remoto del ejemplo con los de la ubicación de su
colección de portes en el sistema y con un servidor de cvs
anónimo cercano)
Nótese que la mayoría de los portes se encuentran
disponibles mediante ftp como paquetes precompilados. Si surgiera
algún problema, se actualizarían los paquetes de la
versión 3.4.
Si tiene interés en que se añada algún porte, o si
quiere ayudar, o si simplemente necesita más información,
la lista ports@openbsd.org es un buen sitio.
www@openbsd.org
Originally [OpenBSD: 34.html,v 1.40 ]
$Translation: 34.html,v 1.11 2004/08/24 14:59:39 santana Exp $
$OpenBSD: 34.html,v 1.11 2004/08/24 16:46:58 jufi Exp $