SaMBa nagy hálózatokban
Szent István Egyetem, Gödöllői Területi Iroda
Informatikai és Kommunikációtechnikai Központ
Bevezetés
A SaMBa: SMB protokolt megvalósító programegyüttes, használatával egyszerű
a Windows-os és UNIX-os világ összekötése. Free software, GNU-GPL.
Előadás tematikája: kapcsolodó hálózati protokollok, működési alapok,
browsing több alhálózat esetén, biztonsági kérdések, Samba szerver
beállítások.
Alap protokollok
- NetBT:
- NetBIOS over TCP/IP: Name, Datagram és Session szolgáltatás.
- SMB:
- NetBT fölötti főleg fájl- és nyomtató megosztás, de named pipes, mailslots, egyebek is.
- CIFS:
- ugyanaz mint az SMB, de közvetlenül TCP/IP fölött.
- SMB kapcsolat létrehozásának lépései:
- cél gépet megfelő néven kell szólítani,
- felek a dialektusban megegyeznek,
- erőforrás - például fájl megosztás - kérése (tree connect),
- ha újabb erőforrás kell, akkor a meglévő kapocsolaton belül új tree
connect,
- message, echo, server info autentikáció nélkül elérhető.
SMB autentikáció
- megosztás (share) szintű autentikáció:
- az SMB kapcsolatfelvételnél nincs autentikáció,
- egy erőforrás eléréshez (tree connect) csak jelszó kell, nincs
UID,
- feltételezi, hogy egy felhasználó ugyanazt a jelszót használja több
helyen,
- felhasználó (user) szintű autentikáció:
- az SMB kapcsolat elején dialektus tisztázása után azonnal,
- felhasználói név és jelszó kell,
- dialektustól függően a jelszó lehet cleartext vagy challenge-response,
- fallback guest gyakori.
NetBT Name Service és WINS
- NetBIOS nevek és IP címek nyilvántartása,
- 16 karakter hosszú nevek, de az utolsó karakter mindig funkciókód,
- DNS packeteket használ, de mangled nevek a karakterkészlet miatt,
- NetBT NS és WINS variánsai ugyanannak a szolgáltatásnak, azonos
célok, de eltérő módszerek:
- NetBT NS broadcast alapú, WINS unicast, ezért a NetBT NS nem, de a WINS
működik alhálózatok között is,
- A két szolgáltatás független, nem cserélnek adatot még akkor sem, ha
azonos gépen futnak,
- Ezért pl. ha a WINS szerver nincs beállítva WINS kliensnek, nem
szerepelteti saját magát a listájában, és független NetBT NS-t is futtat.
SMB Névfeloldás
Node type:
érték |
elnevezés |
működési mód |
1 |
broadcast |
broadcast és direkt UDP-n és TCP-n |
2 |
point to point |
csak direkt UDP és TCP, ha a megszólított nem belépni a rendszerbe |
4 |
mixed |
broadcast, majd ha ez sikertelen, akkor direk kapcsolat |
8 |
hibrid |
direkt megszólítás, ha ez sikertelen, akkor broadcast. |
SaMBa: name resolve order,
lehetséges értékei: lmhosts, hosts,wins, bcast
Computer Browser
- csak humán interface szerepe van,
- számítógép lista, megosztások már a cél gépről,
- nem része a WINS-nek,
- tipikus, hogy egy gép látszik a listán, de nem elérhető, ez nem
browser hiba,
- gyakori, hogy egy gép nem látszik a listán, de elérhető, ez browser
hiba,
- NetBT NS-hez hasonlóan broadcast alapú, de routerek miatt ...
- idővel több alhálózatos, nagy hálózatokban is stabilizálódik,
- általában egy nagy hálózat a stabilizálódás előtt átkonfigurálódik,
- workgroup (munkacsoport) nyitott: az lehet a tagja, aki ezt állítja magáról,
- domain (tartomány) zárt: belépéshez gép autentikációja a
tartományvezérlőnél,
- master browser-t munkacsoportonként és alhálózatonként (UDP broadcast
domain) választanak a gépek,
- minden alhálózatban külön munkacsoport, hiába azonos a neve
- megoldás összevonásra:
- közös WINS kijelölés,
- tartománnyá alakítás,
- SaMBa remote announce opció másik alhálózat broadcast címére.
Master browser
- a master browsert választják a gépek,
- ha nem látszik a master browser, a gépek új választást kezdeményeznek,
- gyakran előfordul, hogy több master browser van, de
nem mindegyik rendelkezik teljes géplistával,
- szavazáson az nyer, akinek magasabb a verziószáma (win9x, NT
ws + service pack verzió, NT srv + service pack verzió,
win2k), uptime...,
- SaMBa opciók:
- os level = 33,
- preferred master,
- domain master,
- local master
- Computer Browser frissítések: UDP 138-as port, broadcast.
- host announcement: bootoláskor 3 broadcast,
- local master announcement: 12 percenként,
- workgroup announcement: 15 percenként,
- host announcement: 12 percenként,
- master browser announcement: 15 percenként.
- Computer Browser Listacserék: TCP 139-es port, unicast.
- tartomány master browser a WINS-nek: géplista 12 percenként,
- local master browser a tartomány master browsernek: 12 percenként,
- backup browser a tartomány master browsernek: 12 percenként,
- WINS - WINS kommunákáció:TCP 42-es port, unicast
Master browser problémák csökkentése
- WINS, azonos NetBT és DNS host nevek, csak IP protokoll,
- többlábú gépen samba master browser, de többlábú NT nem lehet,
- megosztás nélküli gépek elrejtése a browser listából:
- NT-ken:
- HKLM\System\CurrentControlSet\Services
\LanManServer\Parameters\Hidden=dword:1
- win9x-eken:
- ez elérhető a nyomtató- és fájlmegosztás szolgáltatás eltávolításával.
- hatás: browser lista, választások, a host announcement.
- választások szabályozása
HKLM\System\CurrentControlSet\Services
\Browser\Parameters\IsDomainMaster:dword
paraméterrel.
Lehetséges értékei: 0 - soha, 1 - mindig, 2 - automatikus, ez
az alapértelmezett a munkaállomásokon.
Biztonsági kérdések
- Az SMB/CIFS nem biztonságos protokoll: túl sok mindent csinál, nehezen követhető,
- proxy-val a biztonság nehezen javítható,
- csomagszűrővel nem lehet finoman szabályozni a hozzáférést,
- SMB NAT mögött használható: NetBT tartalmaz beépített IP címeket, de
általában nem használja ezt,
- WINS és NetBT névfeloldás nem NAT-olható egyszerűen,
- WINS sokkal sérülékenyebb, mint a DNS,
- WINS és browser lista érzékeny információt tartalmaz,
- nem elég a WINS szervereket védeni, megszólításra bármelyik kliens kiadja a
WINS és browser adatokat!
Csomagszűrési szabályok - NetBT, SMB
Proto |
forrás
port |
cél
port |
ACK |
megnevezés |
UDP |
>1023 |
138 |
- |
NetBT kérés |
UDP |
138 |
>1023 |
- |
NetBT válasz |
TCP |
>1023 |
139 |
N,Y |
NetBT session kérés
|
TCP |
139 |
>1023 |
Y |
NetBT session válasz
|
UDP |
>1023 |
139,445 |
- |
SMB kérés kliens
szerverhez |
UDP |
139,445 |
>1023 |
- |
SMB válasz szerver
klienshez |
TCP |
>1023 |
139,445 |
N,Y |
SMB kérés kliens
szerverhez |
TCP |
139,445 |
>1023 |
Y |
SMB válasz szerver
klienshez |
Csomagszűrési szabályok - NetBT NS, WINS
Proto |
forrás
port |
cél
port
|
ACK |
megnevezés |
UDP |
137, >1023 |
137 |
- |
broadcast: NetBT
név kérés |
UDP |
137, >1023 |
137 |
- |
WINS név kérés
|
TCP |
137, >1023 |
137 |
N,Y |
WINS kérés kliens
szerverhez |
TCP |
137 |
137, >1023 |
Y |
WINS válasz szerver
kliensnek |
TCP |
>1023 |
42 |
N,Y |
WINS replica kérés
|
TCP |
42 |
>1023 |
Y |
WINS replica válasz
|
SaMBa verziók
- 2.0.7:
- stabil, mindenkinek javasolt változat, de Windows NT-vel és Windows 2000-el korlátozásokkal használható.
- 2.2.0:
- béta fázis vége, sok fejlesztés, teljes NT és win2k támogatás, ACL és később LDAP funkciók.
- HEAD:
- ez lesz a 3.0.0, tartományvezérlési (PDC, inter-domain trust) fejlesztések,
- TNG:
- "The Next Generation": alternatív fejlesztői ág, samba team-től
külön, de együttműködve. Teljesen más programstruktúra, főleg MS RPC és named pipe fejlesztés.
Munkacsoport szerver
Célok:
- munkacsoport tagjainak felhasználónként saját terület (home dir),
- munkacsoport tagjai által írható közös terület,
- másik munkacsoport tagjainak írható részterület,
- munkacsoport tagjainak írható, többieknek csak olvasható terület,
- netlogon, roaming profiles, WINS.
Az smb.conf fájl
[global]
server string = Munkacsoport file server
workgroup = MUNKACSOPORT
interfaces = 10.10.244.90/24
hosts allow = 127. 10.10.244.0/24 10.10.205.192/28
security = user
encrypt passwords = yes
guest account = smbguest
username map = /usr/local/samba/lib/user.map
unix password sync = no
domain logons = yes
logon script = %G.bat
logon path = //%L/Profiles/%U
# Browser Control Options:
os level = 33
local master = yes
domain master = yes
preferred master = yes
# remote broadcast address
remote announce = 10.10.205.207
wins support = yes
wins proxy = yes
dns proxy = yes
name resolve order = host wins bcast
# printing:
printing = LPRNG
load printers = yes
printcap name = /etc/printcap
# other options:
preserve case = yes
short preserve case = yes
case sensitive = no
log file = /usr/local/samba/var/%m.log
max log size = 50
#------------------------
# share definitions
# netlogon directory for Domain Logons
[netlogon]
comment = Network Logon Service
path = /home/csop/netlogon
locking = no
public = no
writable = no
share modes = no
browseable = yes
# roaming profile share
[Profiles]
path = /home/csop/profiles
browseable = yes
guest ok = no
writeable = yes
create mode = 744
directory mode = 755
[printers]
comment = All Printers
path = /var/tmp
browseable = no
printable = yes
public = no
writable = no
create mode = 0700
valid users = @csop, @alcsop
[homes]
comment = Home Directories
browseable = no
writable = yes
hide dot files = yes
create mode = 0700
root preexec = /usr/bin/sessreg -a -l smb -h %M %U
root postexec = /usr/bin/sessreg -d -l smb -h %M %U
[admin]
comment = kozos dolgok
path = /home/admin
valid users = @csop
public = no
writable = yes
printable = no
force user = admin
force group = csop
create mode = 770
root preexec = /usr/local/sbin/checkmgk
[alcsop]
comment = alcsop-nak irható
path = /home/admin/tdk
valid users = @alcsop
public = no
writable = yes
printable = no
force user = admin
force group = csop
create mode = 770
[anonftp]
comment = CSOPort publikus terulete
path = /home/ftp/pub
public = yes
writable = no
printable = no
write list = @csop
force group = ftpadm
create mode = 775
[www]
comment = www.csop.ceg.hu fejlesztoi valtozat
path=/var/www
browseable = yes
public = no
writable = yes
printable = no
force user = webmaster
force group = webmaster
create mode = 775
[alkalmazasok]
comment = DOS es Windows alkalmazasok
path = /home/csop/dosbin
writable = no
printable = no
write list = @ntadmin
valid users = @csop,@alcsop
force user = csop
force group = csop
[dosbin]
copy = alkalmazasok
# !!! share = CD label
[MSOP97]
path = /home/csop/dosbin/win32app/
comment = MS Office Install
volume = "OFFS97_H01"
read only = yes
available = yes
share modes = no
locking = no
browseable = yes
public = yes
Összefoglalás
- A SaMBa forráskód ad legbővebb információt SMB/CIFS-hez,
- SaMBa config viszonylag egyszerű,
- kritikus pontok: browsing és fálj jogosultságok,
- browsing javítására megoldási javaslatok,
- csomagszűrő listához adatok,
- előadás anyaga http://www.szie.hu/ikkp/-ról megtalálható.
Lajber Zoltán
2001-04-17