BSD: jiný "unix zadarmo"

Ing., BcA. Ivan Doležal
Centrum výpočetní techniky, VŠB – TU Ostrava

spolupráce:

Ing. Rudolf Čejka, Additional FreeBSD Contributor
Centrum výpočetní techniky, FIT VUT Brno



Ostravské linuxové semináře, březen 2003


motivace přednášejícího

  • Pro DEC System 5900 neexistoval v roce 2002 jiný operační systém vykazující známky života než NetBSD.
  • Pokusit se najít bezpečnější alternativu k Linuxu.
  • Ubíjející fádnost fungujících Linuxových serverů, touha po sebevzdělávání, dobrodružství.
  • Ultrix i Digital/Tru64 Unix jsou potomci BSD, nikoliv Linuxu


cíle prezentace

  • ukázat loga BSD a vysvětlit zkratku BSD
  • exkurz do historie počítačů
  • morální poučení: co si člověk neudělá sám...
  • promítnout několik reklamních sloganů (i kritických poznámek)
  • ukázat fotku Linuse Torvaldse zamlada
  • pochválit Microsoft za jeho přínos Unixu
  • seznámit s několika anglickými idiomy a s japonskou kuchyní

Varování: Tato přednáška neobsahuje žádné hodnotné technické informace.


*BSD ještě žije?

  • dodnes platforma pro vývoj Apache, XFree86, OpenSSL
  • weby: Apache, OpenSSL, Yahoo! , v minulosti několikrát Microsoft (hotmail.com, weknowthewayin.com), Volný, hyperlinx.cz, Poslanecká sněmovna PČR, Úřad pro civilní letectví, on-line broker FIO, TV Markíza, VUT Brno
  • firewally realizované pro klienty GTS, např. Živnostenská banka, směrovače síť na kolejích UK
  • mnoho platforem:
  • NetBSD: za celou historii více než 50 platforem
    OpenBSD: i386, Sparc, Sparc64, hp300, amiga, mac68k, macppc, mvme68k, alpha, vax
    FreeBSD: i386, alpha, ia64, Sparc64, PowerPC
  • oceňována implementace IPv6
amiga - Commodore Amiga, MacroSystem DraCo,
hp300 - Hewlett-Packard 9000/300 and 400 series,
sparc - Sun SPARC (32-bit),
sparc64 - Sun UltraSPARC (64-bit),
macppc – Apple Power Macintosh and clones,
mvme68k - Motorola MVME 68k SBCs,
vax - Digital VAX


podpora

Linux


Red Hat, SuSE, Caldera, Software In Public Interest Ltd. (Debian), Mandrake, ...; Transmeta, IBM, Hewlett-Packard, Sun, Oracle

BSD

FreeBSD Foundation, NetBSD Foundation, OpenBSD Foundation, Wasabi Systems (NetBSD), BSDi → Wind River (BSDi → BSD/OS), Apple (FreeBSD → Darwin → komerční MacOSX → OpenDarwin); Yahoo!, NAI Labs, Hewlett-Packard, IBM

wasabi - japonská bylina chuti křenu,
walnut - vlašský ořech,
creek - zátoka


loga BSD

FreeBSD/PicoBSD, NetBSD:

Daemon, The Beast, Chuck, Dexter

NetBSD


OpenBSD

blowfish Puffy
(blowfish - “puffer” - jedovatá ryba z rodu Tetraodontidae)


Darwin

ptakopysk Hexley




trocha historie


unixtime
[roky]
rok
Unix, BSD
Linux
zbytek světa
-123 1847 narozeni Alexander Graham Bell (a též Thomas Alva Edison)

-93 1877 založena Bell Telephone Company, později AT&T

-16 1954
narozen Richard Stallman
-15 1955

28. října narozen Bill H. Gates III., Československu je 37 let
-7 1963 8. dubna narozen Jordan Hubbard (Hawaii, USA)

-1 1969
28. prosince narozen Linus Torvalds (Švéd ve Finsku)
0 1970 unixtime = 0
1 1971 Thompson, Ritchie: Unix Programmer’s Manual, First Edition



3 1973

popsán Ethernet
7 1977 vzniklo BSD jako doplňky nad AT&T Unix Sixth Edition

8 1978

první verze TCP/IP
9 1979 University of California, Berkeley kupuje zdrojový kód Unixu

10 1980 Microsoft uvádí operační systém MS Xenix založený na AT&T Unix Version 7. Později licencován SCO.
13 1983
27. září oznámen GNU Project MS-DOS 2.0
14 1984 AT&T demonopolizována

21 1991
25. srpna Linus Torvalds (21) oznámil jádro Linuxu


22 1992 Bill a Lynne Jolitzovi uvedli 386BSD 0.1, spor s AT&T
Československo připojeno k Internetu, MS Windows 3.1
23 1993 Uvolněno FreeBSD 1.0 (Jordan Hubbard (30) na základech 386BSD), NetBSD 0.8


uvolněno XFree86


24 1994 Novell nakoupil kód Unixu a urovnal soudní spor; BSD4.4-Lite; FreeBSD 2.0

25 1995 Theo de Raadt pro neshody opustil NetBSD tým, začal vyvíjet OpenBSD


OS/2 v.3
26 1996
Satrapa, Randus: Linux – Internet server, 1. vydání Windows NT 4.0
27 1997 Darwin Torvalds přijat do Transmety(2)
29 1999
Red Hat uveden na americkou burzu
30 2000
založeny OLS
32 2002 FreeBSD 4.7, NetBSD 1.6, OpenBSD 3.2, OpenDarwin Red Hat Linux 8.0, Debian 3.0 Windows XP

BSD
- Berkeley Software Distribution, GNU - "GNU's Not Unix"

"look and feel"


Linux
BSD
filosofie
Linux je kernel pro The GNU Project
BSD je “celá distribuce”
distribuce
Red Hat, Debian, ... jádro “vanilla” může obsahovat různé patche
FreeBSD, NetBSD, OpenBSD mají zcela odlišná jádra vytvářená jinými týmy lidí
spotřeba BIOS partitions
každý mountpoint, swap vyžaduje jednu BIOS partition
uvnitř jedné BIOS partition (tzv. “slice”) je několik BSD partitions
značení IDE disků
/dev/hda1, typ = 0x82 (Linux swap partition)
Net,OpenBSD: /dev/wd0b, typ = 0xa6
FreeBSD: /dev/ad0a1b, typ = 0xa5
COM1 je...
/dev/ttyS0
FreeBSD: /dev/tty00
Ethernetová karta
eth#
podle ovladače, např. xl#, ep# pro 3Com
instalace software
rpm -i (packages)
pkg_add -r
cd /usr/ports/.../ ; make install
FreeBSD: úprava zdrojáku: ports, připravené binárky: packages NetBSD: platforma OS: port, příprava programů: binary/source packages
rolování konzole
Shift + Page Up
FreeBSD: Scroll Lock, Page Up; NetBSD nepodporuje; OpenBSD Shift + Page Up
souborový systém
ext2, ext3, ...
ufs, “ffs” (Soft Updates), ufs2, ...
paketové filtry
iptables, ipchains
FreeBSD:ipfw2, NetBSD: ipfilter, OpenBSD: pf


životní cyklus *BSD

  • CURRENT: vývojová větev pro nové věci, z níž se jednou za čas (1 – 2 roky) odpojuje STABLE větev

  • STABLE: Stabilní větev, z níž jsou vytvářeny nové verze – RELEASE. V průběhu její existence jsou do STABLE zařazovány opravy a některé
    menší nové věci z CURRENT.

  • RELEASE: oficiální stabilní verze systému.


ze života...

  • *BSD používají centrální konfiguraci spouštění démonů pomocí /etc/rc.conf nově v kombinaci se  startovacími skripty ze Systému V.
  •  Nástroje pro rutinní administrátorské úkony (manipulace s uživateli, instalace balíčků, nastavení sítě): FreeBSD: “sysinstall”, NetBSD: “sushi”, OpenBSD nemá. Ovládání přes menu v textovém režimu. Příliš sofistikované úkony s nimi nezastanete.
  •  Konfigurace překladu jádra vždy editováním textového souboru.
  •  Nemáte-li nic než Linuxovou binárku, máte dobrou šanci ji spustit v emulátoru linuxu! ...ukázka


no-frills OS / OS without bells and whistles – operační systém bez kudrlinek


bezpečnost

  • Opravy *BSD jsou vždy distribuovány jako patche zdrojového kódu. Je potřeba stáhnout zdrojový text, aplikovat patch a znovu zkompilovat a nainstalovat příslušnou část OS* (make). Ke stahování se využívá zpravidla CVS (obdobné mechanismy sup, cvsup – “CVS optimalizované na rychlost”).
* sestavení celého operačního systému: stáhnutí zdrojových textů a make installworld.
  • Rychlost vydávání oprav nižší oproti Linuxu kvůli počtu vývojářů a pečlivému testování o několik dnů (NetBSD více než týden – množství platforem).

  • podle znalostí přednášejícího nepředchází vanilla jádro Linux proaktivně bezpečnostním problémům (ovšem patche NSA’s SELinux, distribuce Immunix, ...)

  •  *BSD poskytují nástroje pro omezení přístupu aplikace ke zdrojům (TrustedBSD/MAC, ACL, jail(), kryptování diskových oddílů, securelevels kernelu)

  • poslední verze *BSD řeší/budou řešit na úrovni jádra a libc knihovny útoky buffer overflow různými kontrolami integrity dat v paměti, pečlivým rozlišováním kódu a dat (Linux řeší toto i ACL pomocí OpenWall patch pro jádra 2.2, grsecurity.net 2.4, ne-BSD-specifická knihovna libsafe).

“If you're deploying an Internet server and you need the safest platform, without all the bells and whistles – and with zero licensing costs – look no further than OpenBSD.”
závěr testů zaměřených na zabezpečené linuxové distribuce, Network Computing, červen 2002


BSD licence

Copyright (c) YEAR, OWNER All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the ORGANIZATION nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


závěry

  • Dobrá bezpečnost.

  • Hardwarová nenáročnost. I na 386 může být OS s posledními bezpečnostními opravami.

  • Konzervativnost za cenu stability.

  • Standardizace. Vývojář se může spolehnout na to, co bude v *BSD. (snahy ISOlinux, United Linux)

  • Kvalitní dokumentace. Více man, méně Google.

  • Přenositelnost aplikací.

  • Horší podpora “exotického” hardware.

  • Rozhodně ne klikací konfigurace a správa.

    ROZHODNĚ ANO pro konzervativní provoz zaběhaných serverů i zvídavé čtenáře zdrojových textů.

    ROZHODNĚ NE pro ty, kteří i v Linuxu potřebují vlastnosti získávané záplatami do 2.5 kernelu.CURRENT: vývojová větev pro nové věci, z níž se jednou za čas (1 – 2 roky) odpojuje STABLE větev

FreeBSD – nejvíce “respektováno”, vyladěno pro 32bit Intel (SMP), dobrá podpora periferií, mnoho aplikací

OpenBSD – méně aplikací, více energie věnováno vyvíjení bezpečnosti jádra, základních serverů a vlastností (OpenSSH, vsftp)

NetBSD – chcete-li provozovat jako server (ale i desktop) na nečekaném hardware, máte mnoho platforem a na nich chcete jeden OS


Filosofie BSD je jiná než filosofie Linuxu. Nelze říci, kdo je jednoznačně “horší” - záleží na účelu i na stylu správce. Oba se vzájemně potřebují překvapivě více, než jsem dříve tušil


literatura

http://www.freebsd.cz/cs/CZ/doc/index.html

www.freebsd.cz, www.netbsd.org, www.openbsd.cz, www.opendarwin.org, www.redhat.com, www.microsoft.com, http://www.fit.vutbr.cz/~cejkar , www.daemonnews.org, www.bsdtoday.com, www.cert.org, www.nipc.gov,  www.nsa.gov, www.securityfocus.com, www.opensource.org,  www.robotwisdom.com, http://www.geocities.com/townoak/scientists/linustorvalds/, Satrapa: IPv6, http://www.sourcemagazine.com/articles/viewer.asp?a=695 , http://www.informationweek.com/author/internet36.htm , http://www.microsoft.com/rus/10/archive/microsoft_os_history/default.htm, http://www.microsoft.com/billgates/speeches/industry&tech/uexpo.asp, http://www.root.cz/clanek/ články 261, 288, 744, 745, 768, 1167, http://marc.theaimsgroup.com/?l=openbsd-tech&m=104391783312978&q=raw , http://www.networkcomputing.com/1312/1312f32.html a 1312f33.html , http://www.lids.org , http://www.openwall.com/linux , http://www.benzedrine.cx/pf.html, http://www.trl.ibm.com/projects/security/ssp/ , http://www.grsecurity.net/