Esettanulmány: Samba+LDAP+ddwrt

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
1. sor: 1. sor:
  +
Mottó : "Opening windows to a wider world"
   
 
== Alapok ==
 
== Alapok ==
6. sor: 7. sor:
   
 
== Jelszókezelés ==
 
== Jelszókezelés ==
  +
*Háromféle backend-et ismer, ezeket a ''passdb backend'' opcióval adhatjuk meg
 
*smbpasswd
 
*smbpasswd
 
**a titkositott jelszavakat tárolja LANMan és NTLM formátumban
 
**a titkositott jelszavakat tárolja LANMan és NTLM formátumban
25. sor: 27. sor:
 
*ldapsam
 
*ldapsam
 
**LDAP alapú hitelesitéshez
 
**LDAP alapú hitelesitéshez
  +
**opcionálisan LDAP URL-t is megadhatunk a helyéhez (alapból : ldapsam : ldap:\\localhost):
  +
<pre>
  +
passdb backend = ldapsam : ldap:\\ldap.ceg.hu
  +
</pre>
 
*a titkositott jelszavak fogadását ki is lehet kapcsolni, ekkor figyelmen kivül hagy minden jelszó-fájlt.
 
*a titkositott jelszavak fogadását ki is lehet kapcsolni, ekkor figyelmen kivül hagy minden jelszó-fájlt.
 
<pre>
 
<pre>
97. sor: 103. sor:
 
***viszont ettől még továbbra sem ő a DC
 
***viszont ettől még továbbra sem ő a DC
 
***''allow trusted domains'' : elfogad-e más tartományból érkező kéréseket is (alapból igen)
 
***''allow trusted domains'' : elfogad-e más tartományból érkező kéréseket is (alapból igen)
  +
  +
== Samba és LDAP ==
  +
Ahogy már említve is volt, a hitelesítést LDAP szerver is végezheti
  +
  +
*értelemszerűen SERVER/DOMAIN/ADS mód
  +
*password backend-nek ldapsam -ot kell beállítani
  +
*meg kell adni az admin DN-t - az ő nevében történik a kapcsolatfelvétel az LDAP-szerverrel
  +
*lehetőség van SSL használatára (''ldap ssl'')
  +
**start tls : az LDAPv3 Start_TLS műveletét használja
  +
**on
  +
**off
  +
*meg lehet adni utótagokat is, amiket a samba a hozzáadott tagok nevéhez fűz hozzá
  +
**''ldap user suffix
  +
**ldap group suffix
  +
**ldap machine suffix
  +
**ldap suffix'' : ezt az utótagot még pluszban hozzáfűzi minden hozzáadott objektumhoz
  +
*érdemes még ''timeout'' értéket is beállítani
  +
  +
Egy egyszerű LDAP-os konfiguráció :
  +
<pre>
  +
[global]
  +
security = server
  +
password server = 152.66.238.132
  +
passdb backend = ldapsam
  +
ldap ssl = start tls
  +
ldap timeout = 15
  +
ldap admin dn = cn=admin,dc=ceg,dc=hu
  +
ldap machine suffix = ou=Computers
  +
ldap user suffix = ou=People
  +
ldap group suffix = ou=Groups
  +
ldap suffix = ou=ceg, ou=hu
  +
</pre>
   
 
== Felhasználhatóság ==
 
== Felhasználhatóság ==

A lap 2008. december 25., 02:03-kori változata

Mottó : "Opening windows to a wider world"

Tartalomjegyzék

1 Alapok

  • A SaMBa egy SMB/CIFS szolgáltatásokat megvalósitó kliens/szerver szoftver.
  • konfigurációt az smb.conf fájl tárolja
  • jelszavakat alapból az smbpasswd tárolja

2 Jelszókezelés

  • Háromféle backend-et ismer, ezeket a passdb backend opcióval adhatjuk meg
  • smbpasswd
    • a titkositott jelszavakat tárolja LANMan és NTLM formátumban
    • tárolja még az UID-t, meg 4 féle flag-et:
      • U : "sima" felhasználó
      • D : disabled, nem jelentkezhet be
      • N : no password
      • W : workstation trust account, akkor lenne értelme,ha PDC-ként konfiguráljuk a Samba-t
      • X : a jelszó soha nem jár le
    • minden usert fel kell venni (vagy egy felvett userhez map-olni) akit a szerveren akarunk hitelesiteni
    • ezenkivül minden ide felvett usernek a \etv\passwd-ben is léteznie kell
      • van lehetőség a kettö szinkronizálására
unix password sync = yes    
  • tdbsam
    • az smbpasswd továbbfejlesztése
    • indexelést használ
  • ldapsam
    • LDAP alapú hitelesitéshez
    • opcionálisan LDAP URL-t is megadhatunk a helyéhez (alapból : ldapsam : ldap:\\localhost):
passdb backend = ldapsam : ldap:\\ldap.ceg.hu
  • a titkositott jelszavak fogadását ki is lehet kapcsolni, ekkor figyelmen kivül hagy minden jelszó-fájlt.
[global]
    encrypt passwords = no


3 Hozzáférések kezelése

  • hosts allow , hosts deny
  • Security level : a legalapvetőbb beállitás, megadja a megosztásokhoz való hozzáférés menetét. 2.2 óta 5-féle létezik :
    • Share-level
      • nem használ user-neveket
      • minden megosztásnak van egy jelszava ('null' is lehet), aminek ismeretében bárki hozzáférhet
      • sőt,ha guest ok paraméter igaz, mindenki alapból megkapja a guest account-al definiált user jogait
      • a jelszavakat a hozzájuk tartozó user-nevekkel adjuk meg, a példában rdan és bela felhasználók jelszavával lehet hozzáférni a megosztáshoz
[global]
    security = share
[share1]
    username = rdan,bela
      • ez a fajta megosztás semmiképp nem ajánlott, kivéve ha egyszerüen csak meg akarunk valamit osztani mindenféle szabályozás nélkül
    • User-level
      • a felhasználónak be kell jelentkeznie
      • léteznie kell az smbpasswd fájlban
      • vagy meg kell feleltetni egy ilyen user-nek (user mapping)
        • ezeket a megfeleltetéseket külön fájlban kell tárolni, unix-user:nem unix-user formában
[global]
username map = /etc/samba/mappings
//a map-file tartalma
root: administrator
user1 : rdan
      • valid users
      • invalid users
      • admin users
      • write list
      • read list
      • map to guest  : megadhatjuk, hogy bizonyos esetekben automatikusan guest account-hoz map-olja a felhasználót
          • never
          • bad username
          • bad password
          • bad uid
      • 3.0 óta ez az alapbeállitás
    • Server-level
      • ugyanaz, mint az előző, csak itt másik SMB szerverre bizzuk a hitelesitést
      • ezeket a password server opcióval lehet megadni (ez lehet NetBIOS-név vagy IP-cim is)
[global]
    security = server
    password server = 152.66.238.132 wiki
      • a szerver nem hitelesiti magát - érzékeny a megszemélyesitésre.
      • ha nem jár sikerrel akkor visszavált USER módba
    • Domain-level
      • a szerver NT-tartománytagként viselkedik, és a hitelesitést a PDC (vagy a BDC) végzi.
      • csak NT domain-ekhez való, AD-hez ott az ADS mód (lejjebb) - ergo ma már nem sok értelme van
    • ADS-level
      • Active Directory tagként müködik
      • a szerveren konfigurálni kell a Kerberost, és be kell léptetni a tartományba
      • viszont ettől még továbbra sem ő a DC
      • allow trusted domains : elfogad-e más tartományból érkező kéréseket is (alapból igen)

4 Samba és LDAP

Ahogy már említve is volt, a hitelesítést LDAP szerver is végezheti

  • értelemszerűen SERVER/DOMAIN/ADS mód
  • password backend-nek ldapsam -ot kell beállítani
  • meg kell adni az admin DN-t - az ő nevében történik a kapcsolatfelvétel az LDAP-szerverrel
  • lehetőség van SSL használatára (ldap ssl)
    • start tls : az LDAPv3 Start_TLS műveletét használja
    • on
    • off
  • meg lehet adni utótagokat is, amiket a samba a hozzáadott tagok nevéhez fűz hozzá
    • ldap user suffix
    • ldap group suffix
    • ldap machine suffix
    • ldap suffix : ezt az utótagot még pluszban hozzáfűzi minden hozzáadott objektumhoz
  • érdemes még timeout értéket is beállítani

Egy egyszerű LDAP-os konfiguráció :

[global]
    security = server
    password server = 152.66.238.132
    passdb backend = ldapsam
    ldap ssl = start tls
    ldap timeout = 15
    ldap admin dn = cn=admin,dc=ceg,dc=hu
    ldap machine suffix = ou=Computers
    ldap user suffix = ou=People
    ldap group suffix = ou=Groups
    ldap suffix = ou=ceg, ou=hu 

5 Felhasználhatóság

  • két egyszerü példa
    • router ddwrt-vel és külső vinyóval - ideális fájlszerver lehet egy kisvállalkozásnak
    • pár összefürtözött szervergép, LDAP hitelesités - akár több ezer felhasználót kiszolgálhat


6 Dokumentációk

  • rendkivül jól és érthetően dokumentált (ritkaság)
  • Official Samba 3.2.x HOWTO [1]
  • SWAT beépitett leirásai is jól használhatóak konfigurálás közben
Személyes eszközök