OpenBSD 3.5 - Az első lépések a telepítés után (kezdőknek)

Címkék

A múlt alkalommal sikeresen telepítettük az OpenBSD 3.5 rendszerünket, és odáig jutottunk, hogy az első boot után login-oltunk ``root'' felhasználóként. Akkor azt ígértem, hogy a következő részben nekiállunk saját kernelt fordítani, de meggondoltam magam. Ennek az oka az, hogy aki most ismerkedik az OpenBSD-vel, annak számos dolog furcsa lehet, bizonyos fileok nem ott vannak és nem olyan néven ahol mondjuk megszokta Linux alatt, stb. A mai nap inkább nézzük azokat az alapvető lépéseket, amelyeket erősen javasolt a telepítés után azonnal elvégezni.

A telepítés utáni legfontosabb lépések (a teljesség igénye nélkül):

1.1.) errata
Mielőtt bármit tennénk, látogassunk el az OpenBSD errata oldalára, ahol arról tájékozódhatunk, hogy milyen biztonsági figyelmeztetések láttak napvilágot az OpenBSD rendszerünkhöz a kiadás óta. Lehetőleg AZONNAL, még a rendszer hálózatba kapcsolása előtt alkalmazzuk a legfrissebb patcheket a rendszerünkön (a patchelés módjáról később)! (Az, hogy mennyire fontos lépés ez, nem bizonyítja más jobban, mint hogy a kiadás óta eltelt pár nap alatt is látott már errata napvilágot az OpenBSD 3.5-höz).1.2.) man
A rendszerrel való ismerkedést a ``man'' oldalak tanulmányozásával kezdjük. Az első dolgunk a ``man afterboot(8)'' átolvasása legyen (ezt nem lehet elég sokszor hangsúlyozni)! A ``man a barátod'' elv itt is érvényes, hihetelen gyorsan meg tud ismerkedni minden Linux/Unix rendszert ismerő adminisztrátor az OpenBSD kezelésével. Ne higgy az ``OpenBSD pilótavizsgás'', ``Csak guruknak való'' kijelentéseknek! Nem igazak!

1.3.) login
A login után a rendszer figyelmeztet bennünket, hogy ne ``root'' felhasználóként végezzük a mindennapi feladatainkat, tehát az első lépésünk az legyen, hogy eltüntetjük a ``Don't login as root, use su'' üzenetet.
Ehhez hozzunk létre egy olyan felhasználót, amellyel a rendszert adminisztrálni fogjuk. Ez legyen a ``foobar'' felhasználó.

A ``foobar'' loginnel rendelkező felhasználói fiók létrehozásához használjuk az ``adduser'' (bátrabbak az useradd-ot is használhatják, amely nem interaktív, viszont kellő tapasztalattal gyorsan, hatékonyan használható (man useradd(8)) parancsot. Mivel első alkalommal használjuk az ``adduser'' parancsot, az szeretné megtudni tőlünk, hogy milyen alapértelmezett értékekkel dolgozzon legközelebb. Válaszoljunk a kérdésekre (alapértelmezett shell, home könyvtárak helye, ``skel'' file adatai, stb.) igényeink szerint.

Ha ezzel megvagyunk, adjuk meg a ``foobar'' login-nel rendelkező felhasználó adatait. Figyeljünk arra, hogy hívjuk meg a ``foobar''-t a ``wheel'' csoportba, mert ellenkező esetben nem fog tudni ``su''-zni!

Mostmár bejelentkezhetünk ``foobar'' néven. Teljesen más lesz a konzol képe, és eltűnik a zavaró ``root''-ra vonatkozó kiírás is.

FIGYELEM! A /etc/passwd file szerkesztése NEM az egyéb rendszerek alatt megszokott módon (editor) történik. Az OpenBSD-ben (és más BSD rendszerekben is) a /etc/passwd file szerkesztése a vipw(8) program segítségével lehetséges ( man vipw(8) )!

1.4.) sshd
Nem szép dolog ``root''-ként SSH-zni sem (kivéve speciális eseteket), ezért tiltsuk le azt is! A /etc/ssh/sshd_config fileban a ``PermitRootLogin no'' opciót állítsuk be. Az sshd ``újraindításához'' küldjünk a processznek egy HUP jelzést:

# kill -HUP sshd_pidje

# May 2 23:57:48 puffy sshd[803]: Received SIGHUP; restarting.
May 2 23:57:49 puffy sshd[20334]: Server listening on :: port 22.
May 2 23:57:49 puffy sshd[20334]: Server listening on 0.0.0.0 port 22.

Innentől kezdve nem lehet root-ként SSH-zni a gépre.

1.5.) root jelszó
A root jelszó megváltoztatásához lehetőleg megfelelően bonyolult jelszót használjunk! Ez nem csak OpenBSD alatt alapszabály, hanem minden olyan helyen, ahol jelszót adunk meg. A jó jelszó tartalmaz betűt (kisbetű, nagybetű keverve), számot és speciális karaktert is. Ne használj értelmes szavakat, mert azok könnyen feltörhetőek ``szótár'' módszerrel vagy ``brute force''-ot (nyers erő) alkalmazó jelszótörő programokkal (pl. John the Ripper). A jelszó váltáshoz és root shell kéréshez mindig a programok teljes elérési útját add meg. Például: /usr/bin/passwd és /usr/bin/su
Ezzel megakadályozod, hogy olyan programokat hajts végre, amit egy esetleges támadó a elérési utadba (PATH) tett. Még egy lényeges dolog: a superuser (root) PATH-ja SOHA NE tartalmazza az aktuális könyvtárat (``.'')

1.6.) dátum, idő, időzóna
Ellenőrizzük a rendszerünk dátumát! Számos szolgáltatás csak akkor működik helyesen, ha a rendszerünk a megfelelő időt adja vissza. Ha szükséges állítsuk be a pontos dátumot/időt, és ellenőrizzük a /etc/localtime symlinket, hogy az helyes időzónára mutat-e a /usr/share/zoneinfo könyvtárban.

1.6.1.) időzóna
# cd /etc
# ls -la local*
lrwxr-xr-x 1 root wheel 35 May 2 14:45 localtime -> /usr/share/zoneinfo/Canada/Atlantic

(A telepítésnél persze beállítottuk Europe/Budapest-re, de a példa kedvéért elállítottam)

Állítsuk be az időzónát Europe/Budapest-re!

# ln -fs /usr/share/zoneinfo/Europe/Budapest /etc/localtime

1.6.2.) dátum, idő
# date
Mon May 3 01:00:50 CEST 2004

Állítsuk be az alábbiak szerint:

Legyen a dátum 2004. május 2. 19 óra 20 perc

# date 200405021920
Sun May 2 19:20:00 CEST 2004

1.7.) rendszer daemonok konfigurálása
Az OpenBSD-ben a rendszer daemonok konfigurálása (mi induljon el a boot-kor, mi ne, stb.) a /etc/rc.conf fileon keresztül történik. Az adminisztrátorok meg tudják változtatni az alapértelemzett beállításokat azzal, hogy létrehoznak egy különálló file-t, amely a /etc/rc.conf.local névre hallgat. Az /etc/rc.conf.local file tartalma felülbírálja a /etc/rc.conf file tartalmát.

1.8.) hostnév ellenőrzése
A hostnév ellenőrzéséhez használjuk a hostname(1) parancsot. Ha változtatni kell, akkor azt megteheted a /etc/myname fileban.

1.9.) hálózati csatoló beállítása
A hálózati csatolók beállítását az ``ifconfig -a'' paranccsal tudjuk lekérdezni, hasonlóan más Unix(-szerű) operációs rendszerekhez. Ha szeretnénk átállítani az értékeket, akkor a /etc/hostname.interface filet kell szerkeszteni, ahol az .interface tag a csatoló nevéből képződik.
Pl.: az ``le0'' csatoló esetén a szerkesztendő file neve /etc/hostname.le0 lesz. Bővebb infó a hostname.if(5) man oldalból nyerhető ki.

1.10.) route tábla megtekintése
A route táblát (és egyéb hálózattal kapcsolatos adatokat) a ``netstat -nr'' paranccsal lehet előcsalogatni. Az alapértelmezett átjárót (default gateway) a /etc/mygate fileban lehet beállítani. Ha ezt a filet szerkeszted, akkor a legjobb ha a következő parancsokat is kiadod utána:

# route flush
# sh -x /etc/netstart

1.10.) névszerver
A névszerver(ek) beállítása nem meglepően a /etc/resolv.conf fileban történik. Ha caching névszervert akarunk üzemeltetni a gépünkön, akkor a resolv.conf file első névszervere a 127.0.0.1 legyen (nameserver 127.0.0.1). Ebben az esetben gondoskodni kell arról, hogy a ``named_flags" be legyen állítva a /etc/rc.conf.local fileban!

1.11.) mountolt diszkek ellenőrzése
Hasonlítsuk össze a felmountolt lemezeket a /etc/fstab fileban található bejegyzésekkel. Ehhez használjuk a mount(8) és a df(1) parancsokat.

# cat /etc/fstab
/dev/wd0a / ffs rw 1 1
# mount
/dev/wd0a on / type ffs (local)
# df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/wd0a 6848412 283772 6222220 4% /

Ellenőrizzük a swap terültetet is!

# pstat -s
Device 512-blocks Used Avail Capacity Priority
swap_device 1252944 0 1252944 0% 0

Egyéb hasznos infók nyerhetők ki a ``top(1)'' parancsból is!

1.11.) a /etc filejainak szerkesztése
A man afterboot(8) erősen javasolja, hogy a telepítés után ellenőrizzük, és szabjuk testre az /etc könyvtárban található fileokat (különös tekintettel a /etc/login.conf, /etc/rc.local.conf, /etc/rc.securelevel, stb. fileokra).

1.11.1.) a billenytűzet beállítása
Néhány architektúra lehetővé teszi a billenyűzet típus vezérlését. Erre a kbd(8) parancs használható (pl. kbd hu - a magyar kiosztás használatához). Permanensen a /etc/kbdtype fileban tudjuk a billentyűzetet beállítani.

1.11.2.) Fogjuk szorosabbra a biztonságot
Szerkesszük a /etc/fbtab és a /etc/inetd.conf fileokat. Az utóbbiból kommentezzünk ki minden olyan bejegyzést, amely nem szükséges számunkra (alapszabály: ne fusson semmilyen olyan szerviz, amire nincs feltétlenül szükségünk)!

1.14 A /etc különleges filejai
SOHA ne szerkesszük a /etc könyvtárban levő olyan különleges filokat, mint például a .db fileok (pwd.db, spwd.db, stb.), de ugyanez igaz a localtime, és az rmt fileokra is.

A mai anyag a man afterboot(8) egy részét dolgozta fel. A csomagkezelés, kernelfordítás egy következő írás része lesz. Addig is jó ismerkedést a rendszerrel!

Hozzászólások

1) a leiras (ismet) rulzik

2) elindultam keresni 1 gepet, amire telepithetek OBSD-t

3) You don't have permission to access /old/images/hup/OpenBSD/OpenBSD35conf/3.jpg on this server.

Ekezeteket hogy lehet bealitani? Az o" es au u" kivetelevel mennek, de azok is csak csh alatt.

Otlet?

Addig izélsz itt ezekkel a BSD leírásokkal, hogy a végén telepítek egyet!

:-{)E

Tényleg egy egyszerű halandó számára mi a különbség a három BSD között? (OpenBSD, NetBSD, FreeBSD)

Eddig a FreeBSD-vel kacérkodtam csak azt nem tudtam eldönteni, hogy a 4-es vagy az 5-ös ág utolsó verzióját tegyem efel, de ha már az OpenBSD-t nyomod, akkor legyen az!

FreeBSD = egyszeru hasznalat, megbizhatosag, NetCraft szerint legjobb webszerver platform, sok-sok port, nagy fejlesztoi bazis, viszonylag keves platform tamogatasa, akar desktopra is, talan a legjobb IPv4 stack

OpenBSD = (szerintuk) a legbiztonsagosabb BSD (ezert jott letre), szerintem semmivel nem nehezebb kezelni mint a FreeBSD, nincs SMP, ellenben szamos olyan jo dolog van, ami innen szivarog at masik BSD-kbe (tuzfalnak kivalo, sokak szerint mindenre jo)

NetBSD = 50+ platform tamogatasa, ok erre gyurnak ra. jo ipv6 tamogatas, sokak szerint fapad, de szerintem ez sem igaz :-), kezdetleges SMP tamogatas, jo IPv4 stack

diohelyban ennyi.

Nyilvan egy SMP kernelben levo TCP stack (halozat) jobban skalazodik, mint mondjuk egy UP kernelben levo, tehat az egyik resztvevo mar itt elverzik :-) Ahhoz meg ketseg sem ferhet, hogy a FreeBSD SMP-je jobb, mint a NetBSD SMP-je. Magyarul ugy ertettem, hogy egy SMP rendszerbol nagyobb halozati teljesitmenyt lehet kipreselni.

Egy tipp Emacsosoknak: az OpenBSD alaprendszer resze egy nagyon jo kis public domain editor, ami 'mg' nevre hallgat. Pici, gyors es alapfunkcioiban/billentyuzetleosztasaban az Emacs-ot koveti.

A legtobb utility figyelembe veszi az EDITOR kornyezeti valtozot, igy a .profile-ba rakott "export EDITOR=mg" hatasara az mg lesz az alapertelmezett a cvs, visudo, vipw, stb szamara.

netchan