|
ot Aerion(4-10-2004)
reiting (30)
[ dobre ]
[ zle ]
Variant za otpechatvane
Vmesto vuvedenie
Predi okolo 7 mesetsa, na prednata mi mestorabota
zapochnah, kato vseki razumen chovek da se stremia kum
tsentralizatsiia na upravlenieto vuv firmata. Tova koeto beshe
edno ot nai – dosadnite zadulzheniia be da se zadavat prava na
potrebitelite za dostup do internet. Mrezhata beshe Microsoft
bazirana - Aktivna Direktoriia. Estestvenoto reshenie na
zadachata beshe da se izbere Microsoft ISA Server, no za moe
nai - goliamo shtastie, nikoi ot horata ot koito zaviseshe
zakupuvaneto na takova reshenie ne mu se doveriavaha - IT
Managera - ponezhe go poznavashe do niakude, generalniia
direktor - ponezhe hich ne mu haresa telefonniia nomer koito
vsushtnost beshe tsenata, koiato triabvashe da se zaplati. Togava
imah vuzmozhnostta da se porovia malko s LDAP (openldap) i sus
squid. Taka popadnah na opisanoto po - dolu reshenie.
Neobhodim softuer:
- openldap
- SQUID - kompiliran s poddruzhka na ldap
(tova oznachava, che imate slednite programi:
squid_ldap_auth i
squid_ldap_group)
Zapoznavane sus strukturata na Aktivnata
Direktoriia:
Za da pridobiete predstava, kak izglezhda strukturata na
Aktivnata Direktoriia (AD) mozhete da ia razgledate ot vashata
sistema s komandata:
example# ldapsearch -L -D
"yourdomainyourdomainusername"
"(&(objectCategory=person)(objectClass=user)(sAMAccountName=
someusername))" -W
Vie shte budete popitan za parolata na potrebitelia na domeina
( yourdomainusername). Otgovora na tazi komanda e dosta
goliam, zatova po -dobre e da go prenasochite kum fail. Za
predpochitane e da razgledate faila i da se opitate da
vniknete v sudurzhanieto mu. V sledvashtata versiia na tozi
dokument, shte ima kratko predstaviane na faila.
Zapoznavane s programite squid_ldap_auth i
squid_ldap_group:
Za da imate predstava kak tochno rabotiat tezi dve komandi,
nai – dobre e da gi testvate ot konzola, predi da gi
“dadete” na SQUID da raboti s tiah. Da predpolozhim, che imate
konfiguriran Microsoft Active Direcotry Server s ime na
domeina: example.com, potrebitel testuser,
koito prinadlezhi v grupata proxygroup, parola na
potrebitelia testuserpass i internet adres
1.2.3.4. Za da mozhe da raboti SQUID s AD, toi
triabva da mozhe da se identifitsira v neia. Za tselta mozhete da
izpolzvate veche sushtestvuvasht potrebitel ili da suzdadete nov.
V nashiia sluchai, shte izpolzvame potrebitel proxyauth
s parola proxyauthpassword.
Slednata komanda proveria za vernostta na kombinatsiiata
potrebitel/parola za Aktivnata Direktoriia:
#example /usr/lib/squid/squid_ldap_auth -b
cn=users,dc=example,dc=com -u cn -h 1.2.3.4 -D
cn=proxyauth,cn=users,dc=example,dc=com -w
“proxyauthpassword” -f sAMAccountName=%s
Ako poznavate openldap i ako ste razgledali vnimatelno
faila sus sudurzhanieto na aktivnata direktoriia, v obshti linii
shte ste naiasno kakvo tochno iska tozi fail. I vse pak –
nakratko:
-b cn=users,dc=example,dc=com - s tozi red
ukazvate, tochno v koia chast na durvoto na AD shte tursim
informatsiia;
-u cn - pokazvate obektniia klas s koito shte
tursim nuzhnata informatsiia;
-h 1.2.3.4 – tova e adresa na AD;
-D cn=proxyauth,cn=users,dc=example,dc=com –
ukazva potrebitelia, koito iska informatsiiata. Tova triabva da
e validen za AD potrebitel;
-w "proxyauthpassword" – parola za
identifikatsiia v AD na potrebitelia, koito tursi
informatsiiata;
-f sAMAccountName=%s – tova e informatsiiata
koiato tursim (proveriavame) – suotvetstvie na potrebitel i
parola.
Kogato startirate programata, niama da poluchite nikakuv
otgovor, zapitvane ili prompt. Programata ochakva da vuvedete
osnovnata informatsiia (potrebitel/parola) v sledniia format:
username password
Ako kombinatsiiata e viarna, shte poluchite otgovor “OK”, ako li
ne - “ERR”.
Eto edin primer:
example# /usr/lib/squid/squid_ldap_auth -b
cn=users,dc=example,dc=com -u cn -h 1.2.3.4 -D
cn=proxyauth,cn=users,dc=brs,dc=bg -w "proxyauthpassword" -f
sAMAccountName=%s
testuser testuserpass
OK
testuser someotherpass
ERR
Slednata komanda proveriava dali posocheniia potrebitel
prinadlezhi v posochenata grupa v AD:
example# /usr/lib/squid/squid_ldap_group -b
"dc=example,dc=com" -h 1.2.3.4 -D
"cn=proxyauth,cn=users,dc=example,dc=com" -w
proxyauthpassword -f "(&(cn=%a)(member=%v))" -F
"(sAMAccountName=%s)"
Tuk neiasnite argumenti veche triabva da sa sa po – malko:
member=%v – dali potrebitelia prinadlezhi na
posochenata grupa.
I pri tazi komanda, sled izpulnenieto i, niama da poluchite
nikakva reaktsiia – komandata ochakva da vuvedete potrebitelsko
ime i grupa v slednata posledovatelnost:
username group
Otnovo vuzmozhnite otgovri sa “OK”, i “ERR”.
Eto edin primer:
example# /usr/lib/squid/squid_ldap_group -b
"dc=example,dc=com" -h 1.2.3.4 -D
"cn=proxyauth,cn=users,dc=example,dc=com" -w
“proxyauthpassword” -f "(&(cn=%a)(member=%v))" -F
"(sAMAccountName=%s)"
testuser proxygroup
OK
testuser othergroup-testuser-dont-belong
ERR
Faila squid.conf i implementirane na programite
squid_ldap_auth i squid_ldap_group v nego.
Sled kato se zapoznahme s nachina na rabota na tezi
programi, ostava samo da gi vklyuchim v konfiguratsionniia fail
na squid, da opishem pravata za dostup (acl) i sme gotovi da
pusnem nashiia survur.
Tui, kato nai – dobrata dokumentatsiia za SQUID si ostava
konfiguratsionniia mu fail, shte opisha samo mestata na koito
triabva da budat vuvedeni programite i kak v obshti linii
izglezhdat pravata za dostup.
- Za programata squid_ldap_auth
--- squid.conf ---
...
auth_param basic program /usr/lib/squid/squid_ldap_auth -b
cn=users,dc=example,dc=com -u cn -h 1.2.3.4 -D
cn=proxyauth,cn=users,dc=brs,dc=bg -w "proxyauthpassword" -f
sAMAccountName=%s
...
--- squid.conf ----
- Za programata squid_ldap_group
--- squid.conf ---
...
external_acl_type ldap_group %LOGIN
/usr/lib/squid/squid_ldap_group -b "dc=brs,dc=bg" -h
brs-dc1.brs.bg -D "cn=proxyauth,cn=users,dc=brs,dc=bg" -w
Aa123456 -f "(&(cn=%a)(member=%v))" -F
"(sAMAccountName=%s)"
...
--- squid.conf ---
--- squid.conf ---
...
acl password proxy_auth REQUIRED
acl proxygroup external ldap_group proxygroup
...
--- squid.conf ---
Tezi dva reda ukazvat, che za da izpolzvate proksito, triabva
zadulzhitelno da se predstavite na softuera s potrebitelsko
ime i parola (ot AD v sluchaia) i da ste chlen na grupata
proxygroup.
P.P. Variantite za proverka na potrebitelia i
potrebitelskata grupa sa dva. Tuk e posochen samo ediniia. Pri
ne tolkova zadulbochen pregled na faila s eksporta na AD, shte
vidite i drugata vuzmozhnost.
<< video4linux i kak da si napravim webcam server | Napulno avtonomno delegirane na in-addr.arpa >>
|
|