OpenBSD Versie 3.4:
Uitgebracht op 1 November 2003
Copyright 1997-2003, Theo de Raadt.
ISBN 0-9731791-2-0
3.4 Lied: "The Legend of Puffy Hood"
Wat is nieuw?
Hoe te installeren
Gebruik van de ports structuur
Een CD-set bestellen
U kunt deze versie krijgen door:
Opmerking: Informatie over copyrights kunnen gevonden
worden in de broncodes in src.tar.gz, sys.tar.gz, XF4.tar.gz of in
de bestanden die opgehaald zijn via ports.tar.gz. De distributiebestanden
die gebruikt zijn om packages via ports.tar.gz te maken staan niet op
de CD-ROM wegens ruimtegebrek.
Wat is Nieuw
Dit is een gedeeltelijke lijst van nieuwe mogelijkheden en systemen in
OpenBSD 3.4. Voor een uitgebreide lijst zie de
lijst van veranderingen tot aan 3.4.
- De i386-architectuur is overgegaan op het
ELF-formaat.
- Meer verbeteringen aan W^X, inclusief ondersteuning voor het
i386-architectuur.
Voor native i386 gecompileerde programma's zijn de executeerbare segmenten
opnieuw ingedeeld om code van data te isoleren en de CPU CS-limiet wordt
gebruikt om een zo goed mogelijk limiet op te leggen op de executie van
code.
- ld.so(1)
op ELF-platformen laadt nu bibliotheken in een willekeurige volgorde voor
een betere weerstand tegen aanvallen. Het i386-architectuur plaatst tevens
bibliotheken op enigzins willekeurige adressen. Samen met W^X en
ProPolice
verhogen deze wijzigingen de moeilijkheidsgraad om een applicatiefout
succesvol te exploiteren, zoals een buffer-overloop.
- Een static bounds checker is aan de compiler toegevoegd om
standaardcontroles uit te voeren op functies die buffers en lengtes
accepteren. De controles zoeken naar veelgemaakte fouten in het gebruik van
bibliotheekfuncties zoals
strlcpy(3)
of sscanf(3)
zonder false positieven te genereren. Tijdens het toepassen ervan op de
broncode en ports trees zijn meer dan honderd fouten aan het daglicht
gekomen, welke hersteld werden en waar mogelijk onder de aandacht gebracht
van de oorspronkelijke auteur.
- Privilege separation is geïmplementeerd voor de
syslogd(8)
daemon, waardoor het veel robuuster is geworden voor toekomstige fouten.
Het child-proces dat naar netwerkverkeer luistert draait nu als een normale
gebruiker en chroot zichzelf terwijl het parent-proces de toestand van
het child-proces volgt en hiervoor handelingen uitvoert welke speciale
privileges vereisen.
- Veel onveilige string functies zijn verwijderd uit de kernel en
gebruikersprogramma's. Dit was één van de meest grondige audits die OpenBSD
ooit gehouden heeft, waarbij duizenden voorvallen van
strcpy(3),
strcat(3),
sprintf(3),
en
vsprintf(4)
zijn vervangen voor veiligere, lengte-gebonden alternatieven zoals
strlcpy(3),
strlcat(3),
snprintf(3),
vsnprintf(3),
en
asprintf(3).
- Veel verbeteringen aan en fouten hersteld in de
ProPolice stack protector. Enkele andere fouten in de code generatie
voor RISC-architecturen zijn hersteld.
-
ProPolice stack protection is tevens in de kernel ingeschakeld.
- Privilege separation is geïmplementeerd in de X-server. Het
gepriviligeerde child-proces is verantwoordelijk voor de handelingen die
niet gedaan kunnen worden nadat het hoofdproces naar een ongepriviligeerde
gebruiker is overgegaan. Dit beperkt de potentiële schade die
een kwaadaardige X-client kan aanrichten in het geval van fouten in de
X-server.
- Ondersteuning voor emulatie van binaire compatibiliteit wordt nu
beheerd via
sysctl(8).
Emulatie is standaard uitgeschakeld om zo min mogelijk blootgesteld te zijn
aan kwaadaardige gecompileerde programma's en kan ingeschakeld worden in
sysctl.conf(5).
- Manpagina's zijn aanzienlijk opgeschoond en verbeterd.
- De ports tree ondersteunt nu het compileren van programma's onder
systrace(1), waarbij voorkomen wordt dat applicaties tijdens het
compileren schade zouden kunnen aanrichten aan het systeem via
configuratiescripts met trojans of anderzijds.
- Symbol caching in
ld.so(1)
verkleint de opstarttijd van grote applicaties.
- Meer verbeteringen aan de licenties, inclusief de verwijdering van de
advertentieclausule voor grote delen van de broncode tree.
- Vervanging van GNU
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),
en
znew(1)
met equivalente commando's met BSD-licenties.
- Toevoeging van read-only ondersteuning voor
NTFS
bestandssystemen.
- Verbeteringen aan de betrouwbaarheid van gelaagde bestandssystemen, waardoor
NULLFS
weer kan werken.
- Import van het
growfs(8)
programma, waarmee bestaande bestandssystemen kunnen worden vergroot.
- Verbeteringen aan de
linux-emulatie
waardoor meer applicaties kunnen worden gedraaid.
- Aanzienlijke verbeteringen in de
pthreads(3)
bibliotheek.
- Vervanging van veel voorkomens van static fd_set gebruik voor
poll(2)
of dynamische toewijzing.
- ANSIficatie en preciezere prototypes voor een groot deel van de broncode
tree.
- Ondersteuning voor het oude KerberosIV is verwijderd en de overgebleven
KerberosV code is heringedeeld om het beheerdbaarder te maken.
- Meer dan 2400 ports, 2200 voorgecompileerde packages.
- Veel verbeteringen van fouten, wijzigingen en optimalisaties in onze packet
filter
pf(4)
inclusief:
- packet tagging (b.v. filteren op tags gebaseerd op MAC-adres toegevoegd door een bridge)
- stateful TCP normalization (voorkom berekening van de uptime en NAT-detectie)
- passieve OS-detectie (filter of verwijs verbindingen gebaseerd op besturingssysteem)
- SYN proxy (bescherm servers tegen SYN-floodaanvallen)
- adaptive state timeouts (voorkom overlopen van de state-tabel tijdens aanvallen)
- Verbeterde hardware-ondersteuning, inclusief:
- Kauai ATA controllers (Apple ATA100 wdc)
kauaiata(4) waardoor Powerbook 12" en 17" modellen kunnen worden ondersteund.
- Ondersteuning voor het beheren van LongRun registers op Transmeta CPU's.
- Veel verbeteringen aan de
aac(4),
ahc(4),
osiop(4),
en siop(4)
SCSI-stuurprogramma's.
- Nieuwe stuurprogramma's voor
it(4),
lm(4), en
viaenv(4)
hardware monitors.
- Nieuw
safe(4)
stuurprogramma voor SafeNet cryptoversnellers.
- Nieuw
mtd(4)
stuurprogramma voor netwerkkaarten van Myson Technologies.
- Ondersteuning van meer ethernetkaarten door
sk(4),
wi(4),
fxp(4),
en dc(4).
- Grondige inspectie en synchronisatie met NetBSD van het hele systeem van
usb(4)
ondersteuning.
- Nieuwe en betere ondersteuning voor verschillende controllers in
pciide(4),
inclusief experimentele ondersteuning voor Serial ATA.
- Nieuwe stuurprogramma's om
mgx(4) en
pninek(4) SPARC-framebuffers te ondersteunen. Het
vigra(4) stuurprogramma ondersteunt tevens meer modellen.
- pcmcia(4)
ondersteuning voor Tadpole SPARCBooks en SPARCs met pcmcia-sbus bridges.
- Ondersteuning voor Watchdog voor
elansc(4)
en
geodesc(4)
welke op Soekris-borden worden gebruikt.
- Het systeem bevat de volgende belangrijke componenten van buiten het OpenBSD team:
- XFree86 4.3.0 (+ patches en i386 bevat ook de 3.3.X servers, zodat alle chipsets ondersteund worden)
- Gcc 2.95.3 (+ patches)
- Perl 5.8.0 (+ patches)
- Apache 1.3.28, mod_ssl 2.8.15, ondersteuning voor DSO (+ patches)
- OpenSSL 0.9.7b (+ patches)
- Groff 1.15
- Sendmail 8.12.9
- Bind 9.2.2 (+ patches)
- Lynx 2.8.4rel.1 met ondersteuning voor HTTPS en IPv6 (+ patches)
- Sudo 1.6.7p5
- Ncurses 5.2
- Nieuwste KAME IPv6
- Heimdal 0.6rc1 (+ patches)
- Arla-current
- OpenSSH 3.7.1 (nu met ondersteuning voor GSSAPI)
- Veel verbeteringen voor veiligheid en betrouwbaarheid (zoek naar
de rode regels in de complete lijst van
veranderingen).
- en veel meer.
Hoe te installeren
Hier volgen de instructies die u op papier zou hebben als
u een CD-ROM set had gekocht in plaats van een installatie op een
andere manier. De instructies voor het installeren via ftp (of een
ander installatiemedium) zijn vergelijkbaar, maar de CD-ROM instructies
zijn intakt gehouden zodat u kunt zien hoe eenvoudiger het
geweest zou zijn als u een CD-ROM had gekocht.
Lees de volgende bestanden op de drie CD-ROM's of ftp mirror voor uitgebreide
informatie over de installatie van OpenBSD 3.4 op uw machine:
- 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
Hier staan korte installatie-instructies voor mensen die bekend zijn
met OpenBSD en het gebruik van het "disklabel -E" commando. Als u
de installatie niet kunt volbrengen met deze instructies, lees de
bovengenoemde INSTALL.* bestanden!
OpenBSD/i386:
Verander uw BIOS-instellingen zodat u van een CD-ROM kan starten. OpenBSD/i386
staat op de eerste CD-ROM. Als uw BIOS deze optie niet ondersteunt, moet u een
startdiskette maken om te kunnen installeren. Om een startdiskette te maken
schrijft u CD1:3.4/i386/floppy33.fs naar een diskette. Start
daarna via de diskdrive.
Gebruik CD1:3.4/i386/floppyB33.fs voor betere ondersteuning van
scsi controllers, of CD1:3.4/i386/floppyC33.fs voor betere laptop
ondersteuning.
Als u van plan bent OpenBSD naast een ander besturingssysteem te installeren
moet u zeker het meegeleverde document INSTALL.i386 lezen.
Om een bootdiskette onder MS-DOS te maken, kunt u het programma
"rawrite" (CD:/3.4/tools/rawrite.exe) gebruiken. Een
startdiskette is onder een Unix OS te maken met behulp van
dd(1).
Hier volgt een voorbeeld van het gebruik van
dd(1),
waarin apparaat bijvoorbeeld "floppy", "rfd0c", of
"rfd0a" kan zijn.
# dd if=<bestand> of=/dev/<apparaat> bs=32k
Maak gebruik van goed geformatteerde diskettes ZONDER FOUTEN of uw installatie
zal waarschijnlijk mislukken. Lees voor meer informatie
over het maken van een startdiskette en de installatie van OpenBSD/i386
FAQ4.1.
OpenBSD/macppc:
Plaats CD2 in uw CD-ROM drive en schakel uw computer aan terwijl u de C
toets indrukt, totdat het beeld aanschakelt en OpenBSD/macppc boot toont.
Als alternatief kunt u op de Open Firmware prompt boot cd:,ofwboot
/3.4/macppc/bsd.rd invoeren.
OpenBSD/vax:
Start over het netwerk via mopbooting als beschreven in INSTALL.vax.
OpenBSD/sparc:
Versie 3.4 van OpenBSD/sparc staat op CD3. Om van deze CD te starten kunt
u één van de onderstaande commando's gebruiken, afhankelijk
van de versie van uw ROM
> boot cdrom 3.4/sparc/bsd.rd
of
> b sd(0,6,0)3.4/sparc/bsd.rd
Als uw sparc geen CD-drive heeft kunt u als alternatief van een diskette
starten. Om dit te doen moet u "CD3:3.4/sparc/floppy34.fs" naar
een diskette schrijven. Lees voor meer informatie
FAQ4.1. Gebruik één van de
volgende twee commando's, afhankelijk van de versie van uw ROM, om te starten
van diskette.
> boot floppy
or
> boot fd()
Maak gebruik van een goed geformatteerde diskette ZONDER FOUTEN of uw
installatie zal waarschijnlijk mislukken.
Als uw sparc geen diskdrive en geen CD-ROM drive heeft, kunt u een
startbare tape maken of via een netwerk installeren, als beschreven
in het INSTALL.sparc bestand.
OpenBSD/sparc64:
Plaats CD3 in uw CD-ROM drive en tik boot cdrom.
Als dit niet werkt of als u geen CD-ROM drive heeft kunt u
CD3:3.4/sparc64/floppy34.fs naar een diskette schrijven en het
starten met boot floppy.
Maak gebruik van een goed geformatteerde diskette ZONDER FOUTEN of uw
installatie zal waarschijnlijk mislukken.
U kunt ook CD3:3.4/sparc64/miniroot34.fs naar een swap partitie op de
harde schijf schrijven en starten met boot disk:b.
Als niets werkt kunt u via het netwerk starten zoals beschreven in INSTALL.sparc64
OpenBSD/alpha:
Schrijf FTP:3.4/alpha/floppy34.fs of
FTP:3.4/alpha/floppyB34.fs (afhankelijk van uw machine) naar een diskette
en tik boot dva0. Lees INSTALL.alpha voor meer informatie.
Maak gebruik van een goed geformatteerde diskette ZONDER FOUTEN of uw
installatie zal waarschijnlijk mislukken.
OpenBSD/hp300:
OpenBSD/hppa:
OpenBSD/mac68k:
Start MacOS op zoals altijd en en partitioneer uw disk met de toepasselijke
A/UX configuraties. Pak dan de Macside programma's van
FTP:3.4/mac68k/utils uit op uw harde schijf. Draai Mkfs om de
bestandssystemen te creëren op de A/UX partities die u net heeft
aangemaakt. Gebruik dan de "BSD/Mac68k Installer" om alle sets in
FTP:3.4/mac68k/ te kopiëren naar uw partities. Eindelijk bent u
klaar om de "BSD/Mac68k Booter" te configureren met de lokatie van uw kernel en
het systeem op te starten.
OpenBSD/mvme68k:
U kunt een opstartbare installatietape maken of via het netwerk starten.
Voor het opstarten via het netwerk is een MVME68K BUG versie vereist die de
debugger commando's NIOT en NBO ondersteunt. Volg de instructies
in INSTALL.mvme68k voor meer details.
Opmerkingen over de broncode:
src.tar.gz bevat een broncode archief dat begint in /usr/src. Dit bestand
bevat alles wat u nodig hebt behalve de kernel broncodes, welke in een apart
archief staan. Om uit te pakken:
# mkdir -p /usr/src
# cd /usr/src
# tar xvfz /tmp/src.tar.gz
sys.tar.gz bevat een broncode archief dat begint in /usr/src/sys.
Dit bestand bevat alle kernel broncodes die u nodig heeft om kernels te
compileren.
Om uit te pakken:
# mkdir -p /usr/src/sys
# cd /usr/src
# tar xvfz /tmp/sys.tar.gz
Beide directorystructuren zijn reguliere CVS checkouts. Met behulp van
deze archieven kunt u een voorsprong krijgen voor het gebruik van anoncvs
servers zoals hier beschreven wordt.
Deze bestanden resulteren in een veel snellere initiële CVS update dan
een compleet nieuwe checkout van de volledige OpenBSD broncode.
Ports Structuur
Er is ook een archief van de ports structuur. Om het uit te pakken:
# cd /usr
# tar xvfz /tmp/ports.tar.gz
# cd ports
De ports subdirectory is een checkout van de OpenBSD ports structuur.
Lees de ports pagina als u op dit
moment geen kennis van het ports systeem heeft. Deze tekst is geen handleiding
hoe de ports werken. Het is bedoelt om de gebruiker aan de gang te helpen
met het ports systeem.
De ports/ directory representeert een CVS (lees de handleiding van
cvs(1) als u niet bekend met CVS) checkout van onze ports. Net zoals
de complete broncode is onze ports structuur verkrijgbaar via anoncvs.
Om de ports structuur bij te houden moet u dus de ports structuur
zetten op een read-write medium en het updaten met een commando als:
# cd [portsdir]/; cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_3_4
[U moet natuurlijk de lokale directory en servernaam vervangen met
de locatie van uw ports directory en een dichtbijzijnde anoncvs server.]
De meeste ports zijn beschikbaar als pakketten via ftp. Recentere
pakketten voor versie 3.4 zullen beschikbaar gesteld worden als er
problemen ontstaan.
Als u graag een port toegevoegd wilt hebben, wilt helpen of gewoon meer
wilt weten, is het goed de mailinglist ports@openbsd.org te kennen.
www@openbsd.org
$OpenBSD: 34.html,v 1.12 2011/01/17 09:42:43 ajacoutot Exp $