Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм. Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж болохоор болсон.
Kerberos нь хэн бэ гэдгийг шалгах прокси систем юм. Энэ нь бас итгэгдсэн гуравдагч нэвтрэлт таних систем гэж тайлбарлагдаж болно. Kerberos нь зөвхөн нэг функцыг хангадаг — сүлжээн дээр хэрэглэгчдэд өөрсдийгөө аюулгүйгээр таниулах боломжийг хангаж өгдөг. Энэ нь шалгаж таних функцууд (хэрэглэгчдийн хийхийг зөвшөөрдөг) эсвэл аудит функцуудын (тэдгээр хэрэглэгчид юу хийснийг) үүргийг гүйцэтгэдэггүй. Клиент болон сервер өөрийгөө таниулж батлахаар Kerberos-г ашигласны дараа тэд бизнесээ бодож өөрсдийн бүх холболтуудаа шифрлэж нууцлал болон бүрэн бүтэн байдлаа хадгалан баталгаажуулж болно.
Иймээс Kerberos-ийг нэвтрэлт танилт болон аудит үйлчилгээнүүдийг хангадаг бусад аюулгүй байдлын аргуудтай цуг ашиглахыг маш ихээр зөвлөдөг.
Дараах заавруудыг FreeBSD-д зориулан түгээгдсэн Kerberos-ийг хэрхэн тохируулах гарын авлага болгон ашиглаж болно. Гэхдээ та тохирох гарын авлагын хуудаснуудаас бүрэн тайлбарын талаар лавлах хэрэгтэй.
Kerberos-ийн суулгацыг үзүүлэх зорилгоор төрөл бүрийн нэрийн талбарууд дараах байдлаар зохицуулагдана:
DNS домэйн («бүс») нь example.org байна.
Kerberos хүрээ нь EXAMPLE.ORG байна.
Хэрэв та дотооддоо ажиллуулах бодолтой байсан ч гэсэн Kerberos-ийг суулгаж тохируулахдаа жинхэнэ домэйны нэрүүдийг ашиглана уу. Энэ нь DNS-ийн асуудлуудыг тойрон гарч бусад Kerberos хүрээнүүдтэй хийх хоорондын үйлдлийг баталгаажуулдаг.
Kerberos-ийг MIT анх сүлжээний аюулгүй байдлын асуудлуудын шийдэл болгож хийсэн. Kerberos протокол нь хүчирхэг криптографыг ашигладаг бөгөөд клиент нь аюултай сүлжээний холболтоор өөрийгөө хэн бэ гэдгийг серверт (болон эсрэгээр) баталж чадах боломжийг олгодог.
Kerberos нь сүлжээний танин шалгах протоколын нэрээс гадна програмыг (жишээ нь Kerberos телнет) шийдвэрлэж байгаа програмуудыг тайлбарласан тайлбар бас болдог. Протоколын одоогийн хувилбар нь 5 бөгөөд RFC 1510-д тайлбарласан байдаг.
Өргөн хүрээний үйлдлийн системүүдийг хамарсан энэ протоколын хэд хэдэн чөлөөтэй шийдлүүд байдаг. Kerberos анх хөгжүүлэгдсэн Массачусетсийн Технологийн Институт (MIT) нь өөрийн Kerberos багцыг хөгжүүлсээр байна. Энэ багц нь US-д криптограф бүтээгдэхүүн болж нийтлэг хэрэглэгддэг бөгөөд энэ нь түүхээс авч үзэхэд US-ын экспортын дүрэм журмуудаас болсон юм. MIT Kerberos нь порт (security/krb5) хэлбэрээр байдаг. Heimdal Kerberos нь өөр шийдлийн 5-р хувилбар бөгөөд экспортын дүрэм журмуудыг тойрон гарах зорилгоор US-ээс гадна хамааралгүйгээр хөгжүүлэгдсэн ( бөгөөд ихэвчлэн арилжааны бус UNIX® төрлүүдэд орсон байдаг) юм. Heimdal Kerberos түгээлт нь порт (security/heimdal) хэлбэрээр байдаг бөгөөд үүний хамгийн бага суулгац үндсэн FreeBSD суулгацад орсон байдаг.
Аль болох олон үзэгчдийг хамрахын тулд эдгээр зааврууд нь FreeBSD-д орсон Heimdal түгээлтийг ашиглаж байна гэж тооцдог.
Түлхүүр Түгээх Төв (KDC) нь Kerberos-ийн хангадаг төвлөрсөн нэвтрэлт таних үйлчилгээ юм — энэ нь Kerberos тасалбарууд өгдөг компьютер юм. KDC нь Kerberos хүрээний бусад бүх компьютеруудад «итгэгдсэн» гэж тооцогддог бөгөөд аюулгүй байдлын санаа зовнилыг дээшлүүлдэг.
Kerberos серверийг ажиллуулж байхад маш цөөн тооцооллын эх үүсвэрийг шаарддаг боловч аюулгүй байдлын шалтгаанаас болоод зөвхөн KDC болон ажиллах тусдаа зориулагдсан машинтай байхыг зөвлөдгийг санаарай.
KDC-г тохируулж эхлэхдээ таны
/etc/rc.conf
файлд KDC
болж ажиллах зөв тохиргоо хийгдсэн эсэхийг шалгаарай (өөрийн системийн хувьд
та замуудыг өөрчлөх хэрэгтэй байж болох юм):
kerberos5_server_enable="YES" kadmind5_server_enable="YES"
Дараа нь бид таны Kerberos тохиргооны
файл /etc/krb5.conf
-г тохируулна:
[libdefaults] default_realm = EXAMPLE.ORG [realms] EXAMPLE.ORG = { kdc = kerberos.example.org admin_server = kerberos.example.org } [domain_realm] .example.org = EXAMPLE.ORG
Энэ /etc/krb5.conf
файл нь
таны KDC нь бүрэн баталгаажсан хостын нэр
kerberos.example.org
-тэй байна
гэж үзэж байгааг санаарай. Хэрэв таны KDC өөр
хостын нэртэй бол та өөрийн бүсийн файлдаа CNAME (alias)-ийг нэмэх
хэрэгтэй.
Зөв тохируулсан BIND DNS сервер бүхий том сүлжээнүүдэд өмнөх жишээ нь:
[libdefaults] default_realm = EXAMPLE.ORG
болж дараах мөрүүдийг example.org
бүсийн файлд нэмж цэгцэлж болно:
_kerberos._udp IN SRV 01 00 88 kerberos.example.org. _kerberos._tcp IN SRV 01 00 88 kerberos.example.org. _kpasswd._udp IN SRV 01 00 464 kerberos.example.org. _kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org. _kerberos IN TXT EXAMPLE.ORG
Kerberos үйлчилгээнүүдийг хэрэглэгчдэд
хүртээмжтэй болгохын тулд та эсвэл бүрэн тохируулсан /etc/krb5.conf
файлтай эсвэл хамгийн багаар тохируулсан /etc/krb5.conf
файл болон зөв тохируулсан DNS сервертэй байх
ёстой.
Дараа нь бид Kerberos мэдээллийн бааз
үүсгэнэ. Энэ мэдээллийн бааз нь мастер нууц үгээр шифрлэсэн бүх удирдагчдын
түлхүүрүүдийг агуулдаг. Та энэ нууц үгийг тогтоох шаардлагагүй, энэ нь
файлд (/var/heimdal/m-key
) хадгалагдах болно.
Мастер түлхүүр үүсгэхийн тулд kstash
тушаалыг
ажиллуулж нууц үгээ оруулаарай.
Мастер түлхүүр үүсгэгдсэний дараа та мэдээллийн баазыг
kadmin
програмыг -l
тохируулгатай («локал» гэсэн утгатай) ашиглан эхлүүлж болно.
Энэ тохируулга нь kadmin
-д мэдээллийн баазын
файлыг kadmind
сүлжээний үйлчилгээгээр
дамжилгүйгээр шууд өөрчлөхийг заадаг. Энэ нь мэдээллийн бааз үүсэхээс
өмнө түүн уруу хандахыг оролдох асуудлыг (яг л өндөг, тахианы аль нь түрүүлж гарсан
гэж маргадаг тэр асуудлын адил) зохицуулдаг. kadmin
хүлээх мөртэй болсныхоо дараа та өөрийн хүрээнүүдийн эхний мэдээллийн санг
init
тушаал ашиглан үүсгээрэй.
Эцэст нь kadmin
-ы горимд байхдаа өөрийн
эхний удирдагчийг add
тушаал ашиглан үүсгээрэй.
Одоохондоо удирдагчийн хувьд анхдагч тохируулгуудыг сонгоорой, та
тэдгээрийг сүүлд нь modify
тушаал ашиглан
өөрчилж чадна. Та аль ч тушаал хүлээх мөрөнд ?
тушаал ашиглаж байгаа боломжит тохируулгуудыг харж болохыг
санаарай.
Мэдээллийн сан үүсгэлтийн жишээ сесс доор байна:
#
kstash
Master key:xxxxxxxx
Verifying password - Master key:xxxxxxxx
#
kadmin -l
kadmin>init EXAMPLE.ORG
Realm max ticket life [unlimited]: kadmin>add tillman
Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: Password:xxxxxxxx
Verifying password - Password:xxxxxxxx
Одоо KDC үйлчилгээнүүдийг эхлүүлэх цаг болжээ.
Үйлчилгээнүүдийг эхлүүлэхдээ service kerberos start
болон
service kadmind start
тушаалуудыг
ажиллуулна. Энэ үед танд ямар ч kerberos хийгдсэн дэмон байхгүйг санаарай,
гэхдээ та KDC-ийн өөрийнх нь тушаалын мөрөөс үүсгэсэн удирдагчид
(хэрэглэгч) зориулсан тасалбарыг авч жагсаан KDC-г ажиллаж байгаа
гэдгийг та баталж чадаж байх ёстой:
%
kinit tillman
tillman@EXAMPLE.ORG's Password:%
klist
Credentials cache: FILE:/tmp/krb5cc_500
Principal: tillman@EXAMPLE.ORG Issued Expires Principal Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG
Та дууссаныхаа дараа тасалбарыг буцааж болно:
%
kdestroy
Эхлээд бидэнд Kerberos-ийн тохиргооны
файл /etc/krb5.conf
-ийн хуулбар хэрэг болно.
Ингэхийн тулд KDC-ээс түүнийг аюулгүй аргаар
(scp(1) зэрэг сүлжээний хэрэгслүүд эсвэл физикээр уян диск ашиглан)
клиент компьютер уруу ердөө л хуулах хэрэгтэй.
Дараа нь танд /etc/krb5.keytab
файл
хэрэгтэй. Энэ нь Kerberos хийгдсэн
дэмонууд бүхий сервер болон ажлын станц хоёрын гол ялгаа юм —
сервер нь keytab
файлтай байх шаардлагатай.
Энэ файл нь өөрийг нь зөвшөөрдөг серверийн хост түлхүүр болон өөрсдийнхөө
нэрийг (identity) шалгах KDC-г агуулдаг.
Хэрэв түлхүүр нь нийтэд мэдэгдвэл серверийн аюулгүй байдал эвдэрч болох учир
энэ нь сервер уруу аюулгүйн үүднээс дамжуулагдах ёстой. Энэ нь шууд утгаараа
FTP зэрэг цэвэр текст сувгаар дамжуулах нь маш буруу
гэсэн үг юм.
Ихэвчлэн сервер уруу keytab
файлыг
kadmin
тушаал ашиглан дамжуулдаг.
Энэ нь тохиромжтой байдаг бөгөөд учир нь та бас хостын удирдагчийг
(krb5.keytab
файлын KDC
төгсгөл) kadmin
тушаал ашиглан үүсгэх хэрэгтэй
болдог.
Та тасалбарыг аль хэдийн авсан байх ёстой бөгөөд энэ тасалбар нь
kadmind.acl
файлын kadmin
интерфэйсийг ашиглаж болохоор зөвшөөрөгдсөн байх ёстойг санаарай.
Heimdal-ийн мэдээллийн хуудаснуудын (info heimdal
)
«Алсын удирдлага» гэсэн гарчигтай хэсгээс хандалт хянах жагсаалтуудыг
дизайн хийх талаар дэлгэрэнгүйг үзнэ үү. Хэрэв та алсын kadmin
хандалтыг идэвхжүүлэхийг хүсэхгүй байгаа бол та KDC уруу
ердөө л аюулгүйгээр холбогдож (локал консолоор, ssh(1) эсвэл
Kerberos telnet(1)) удирдлагыг локалаар
өөр дээрээсээ kadmin -l
тушаал ашиглан хийж болно.
/etc/krb5.conf
файлыг суулгасны дараа та
Kerberos серверээс kadmin
тушаалыг ашиглаж болно. add --random-key
тушаал нь
серверийн хост удирдагчийг нэмэх боломжийг танд олгох бөгөөд ext
тушаал нь серверийн хост удирдагчийг өөрийн keytab уруу задлах боломжийг танд олгоно.
Жишээ нь:
#
kadmin
kadmin>add --random-key host/myserver.example.org
Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: kadmin>ext host/myserver.example.org
kadmin>exit
ext
тушаал нь («extract» гэдгийг
богиноор илэрхийлнэ) задалсан түлхүүрийг анхдагчаар /etc/krb5.keytab
файлд хадгалдаг.
Хэрэв таны хувьд KDC дээр kadmind
ажиллахгүй байгаа бөгөөд (магадгүй аюулгүй байдлын шалтгаануудаас болоод)
тэгээд kadmin
уруу алсаас хандах боломжгүй бол та
хост удирдагчийг (host/myserver.EXAMPLE.ORG
)
шууд KDC дээр нэмж дараа нь доор дурдсантай адилаар түүнийг түр
зуурын файл уруу (KDC дээрх
/etc/krb5.keytab
файлыг дарж бичихээс сэргийлж)
задалж болно:
#
kadmin
kadmin>ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin>exit
Та дараа нь keytab-ийг аюулгүйгээр (жишээ нь scp
эсвэл
уян диск ашиглан) сервер компьютер уруу хуулж болно. KDC
дээрх keytab-ийг дарж бичихээс сэргийлж keytab нэрийг анхдагч бишээр зааж өгсөн
эсэхээ шалгаарай.
Энэ мөчид хүрэх үед таны сервер KDC-тэй
(krb5.conf
файлтай учраас) холбогдож чадах бөгөөд
(krb5.keytab
файлтай учраас) өөрийгөө таниулан баталж
чадна. Одоо та зарим нэг Kerberos үйлчилгээнүүдийг
идэвхжүүлэхэд бэлэн болжээ. Энэ жишээн дээр бид telnet
үйлчилгээг /etc/inetd.conf
файлд доор дурдсантай төстэй
мөрийг оруулан идэвхжүүлж дараа нь inetd(8) үйлчилгээг
service inetd restart
тушаалын тусламжтай
дахин ачаалах болно:
telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user
Хамгийн чухал нь -a
төрөл (нэвтрэлт танихад)
хэрэглэгчид тохируулагдсан. Илүү дэлгэрэнгүйг telnetd(8) гарын
авлагын хуудаснаас лавлана уу.
Клиент компьютерийг тохируулах нь маш амархан.
Kerberos тохиргоо хийгдсэний дараа танд зөвхөн
/etc/krb5.conf
-д байрлах
Kerberos тохиргооны файл хэрэгтэй.
Үүнийг ердөө л аюулгүйгээр клиент компьютер уруу KDC-ээс
хуулна.
Клиентээсээ kinit
, klist
, болон
kdestroy
тушаалуудыг үүсгэсэн удирдагчийнхаа хувьд
тасалбар олж авах, үзүүлэх, болон дараа нь устгахад ашиглахыг оролдон клиент
компьютераа тест хийгээрэй. Та Kerberos
програмуудыг ашиглан Kerberos хийгдсэн
серверүүд уруу холбогдож чадах ёстой бөгөөд хэрэв ингэж ажиллаж болохгүй байгаа
бөгөөд тасалбар олж авах нь асуудалтай байгаа бол энэ нь клиент эсвэл
KDC-тэй холбоотой биш сервертэй холбоотой
асуудал юм.
telnet
зэрэг програмыг тест хийж байх үед
таны нууц үг цэвэр текстээр бишээр илгээгдэж байгааг шалгахын тулд пакет
шиншлэгч (tcpdump(1) зэрэг) ашиглаад үзээрэй.
telnet
-ийг бүх өгөгдлийн урсгалыг шифрлэдэг
(ssh
-тэй адил) -x
тохируулгатай
ашиглахыг оролдоорой.
Төрөл бүрийн гол биш Kerberos клиент
програмууд нь бас анхдагчаар суудаг. Энэ нь үндсэн Heimdal суулгацын
«хамгийн бага» мөн чанар юм: telnet
нь цорын ганц Kerberos хийгдсэн үйлчилгээ
юм.
Heimdal порт нь зарим нэг дутуу програмуудыг нэмдэг:
ftp
, rsh
,
rcp
, rlogin
болон
бусад цөөн хэдэн нийтлэг биш програмуудын Kerberos
хийгдсэн хувилбаруудыг нэмдэг. MIT порт нь бас
Kerberos клиент програмуудын бүрэн цуглуулгыг
агуулдаг.
Хүрээн дэх хэрэглэгчийн хувьд ихэнхдээ өөрсдийнх нь Kerberos
удирдагчийг (tillman@EXAMPLE.ORG
зэрэг)
локал хэрэглэгчийн бүртгэлд (tillman
зэрэг локал бүртгэл)
харгалзуулж өгсөн байдаг. telnet
зэрэг клиент
програмууд ихэвчлэн хэрэглэгчийн нэр эсвэл удирдагчийг шаарддаггүй.
Гэхдээ хааяа нэг та харгалзах Kerberos
удирдагчгүй хэн нэгэнд зориулж локал хэрэглэгчийн бүртгэлд хандах хандалтыг
өгөхийг хүсэж болох юм. Жишээ нь tillman@EXAMPLE.ORG
магадгүй локал хэрэглэгчийн бүртгэл webdevelopers
-д
хандах хандалт хэрэгтэй байж болох юм. Бусад удирдагчид бас энэ локал бүртгэлд хандах
хэрэгтэй байж болох юм.
.k5login
болон .k5users
файлууд нь хэрэглэгчдийн гэрийн сангуудад байрладаг бөгөөд
.hosts
болон .rhosts
файлуудын хүчирхэг хослолын нэгэн адилаар энэ асуудлыг шийдэн ашиглагдаж болох юм.
Жишээ нь хэрэв .k5login
нь дараах агуулгатайгаар:
tillman@example.org jdoe@example.org
локал хэрэглэгч webdevelopers
-ийн гэр санд
байрлаж байвал энд жагсаагдсан хоёр удирдагч хоёулаа хуваалцсан нууц үгийн шаардлагагүйгээр
тэр бүртгэл уруу хандах хандалттай болох юм.
Эдгээр тушаалуудын гарын авлагын хуудаснуудыг уншихыг зөвлөж байна.
ksu
гарын авлагын хуудас .k5users
файлын тухай тайлбарладгийг тэмдэглэх нь зүйтэй юм.
Heimdal эсвэл MIT
Kerberos портууд ашиглах үед
таны PATH
орчны хувьсагч
клиентийн програмуудын Kerberos
хувилбаруудыг системийн хувилбаруудаас өмнө жагсаасан байхыг
шаарддаг.
Таны хүрээний бүх компьютерууд цагийн тохиргоонуудаа адилаар тохируулсан уу? Хэрэв үгүй бол нэвтрэлт танилт амжилтгүй болж болох юм. Хэсэг 30.10, «ntpd-р Цаг Тааруулах нь» нь NTP ашиглан цагийг хамгийн сүүлийн хэлбэрт аваачиж адил болгож тохируулах талаар тайлбарладаг.
MIT болон Heimdal нь хоорондоо сайн
ажилладаг. kadmin
-аас бусад талаараа
сайн ажилладаг, учир нь энэ програмын протокол стандартчилагдаагүй.
Та хэрэв өөрийн хостын нэрийг өөрчилбөл бас өөрийн host/
удирдагчийг өөрчилж өөрийн keytab-ийг шинэчлэх хэрэгтэй. Энэ нь бас
Апачигийн www/mod_auth_kerb-д
хэрэглэгддэг www/
удирдагч зэрэг тусгай keytab
оруулгуудад хамаатай юм.
Таны хүрээний бүх хостууд DNS-д (эсвэл
хамгийн багадаа /etc/hosts
-ийн хувьд) танигдаж
(урагш болон эсрэгээр танигдаж) байх ёстой. CNAME-үүд ажиллах боловч A болон PTR
бичлэгүүд зөв бөгөөд байрандаа байж байх ёстой. Алдааны мэдэгдэл нь
тийм ч ойлгогдохоор байдаггүй, жишээ нь: Kerberos5
refuses authentication because Read req
failed: Key table entry not found буюу орчуулбал
Унших Req амжилтгүй болсон болохоор Kerberos5 нь нэвтрэлт танилтаас
татгалзаж байна.
Таны KDC-ийн хувьд магадгүй клиент маягаар
харьцаж байгаа зарим үйлдлийн системүүд setuid
root
болохын тулд ksu
тушаалд зөвшөөрлүүдийг тохируулдаггүй. Энэ нь ksu
ажиллахгүй гэсэн үг бөгөөд аюулгүй байдлын хувьд сайн боловч залхаамаар
байдаг. Энэ нь KDC-ийн алдаа биш юм.
MIT
Kerberos-той байхад хэрэв та
анхдагч 10 цагаас арай урт амьдрах хугацаа бүхий тасалбартай удирдагчийг
зөвшөөрөхийг хүсвэл kadmin
дээр
modify_principal
тушаал ашиглан
өөрчлөхийг хүссэн удирдагч болон krbtgt
удирдагчийн maxlife-ийг өөрчлөх шаардлагатай. Дараа нь
удирдагч -l
тохируулгыг
kinit
-тай ашиглаж илүү урт амьдрах хугацаатай
тасалбарыг авах хүсэлт илгээж болох юм.
Хэрэв та өөрийн KDC дээр
алдааг олж засварлахын тулд пакет шиншлэгч ажиллуулж дараа нь
ажлын станцаасаа kinit
-ийг ажиллуулахад
kinit
-ийг ажилласан даруй
таны TGT илгээгдэхийг
— таныг бүр нууц үгээ бичихээс өмнө та харах болно!
Үүний тайлбар нь Kerberos
сервер чөлөөтэйгээр TGT-ийг (Ticket Granting
Ticket буюу Тасалбар Баталгаажуулах Тасалбар) ямар ч танигдаагүй
хүсэлтэд дамжуулдаг; гэхдээ TGT бүр
хэрэглэгчийн нууц үгээс гарсан түлхүүр болон шифрлэгдсэн байдаг.
Тийм болохоор хэрэглэгч өөрсдийн нууц үгийг бичихэд
тэр нь KDC уруу илгээгддэггүй бөгөөд
харин kinit
-ийн аль хэдийн олж авсан
TGT-г буцааж шифрлэхэд (decrypt)
ашиглагддаг. Хэрэв буцааж шифрлэх процесс хүчинтэй хугацаа бүхий
хүчинтэй тасалбарыг гаргаж авбал хэрэглэгч хүчинтэй
Kerberos итгэмжлэлүүдтэй
байна. Эдгээр итгэмжлэлүүд нь ирээдүйд
Kerberos сервертэй аюулгүй холболтууд
хийхэд зориулагдсан сессийн түлхүүр болон бас Kerberos
серверийн өөрийнх нь түлхүүрээр шифрлэгдсэн тасалбар-баталгаажуулах
тасалбарыг агуулдаг. Шифрлэлтийн хоёр дахь давхарга нь хэрэглэгчид
мэдэгддэггүй, гэхдээ энэ нь TGT бүрийн
жинхэнийг шалгахыг Kerberos
серверт зөвшөөрч байгаа тэр зүйл юм.
Хэрэв та урт амьдрах хугацаатай (жишээ нь долоо хоног) тасалбар ашиглахыг
хүсэж байгаа бөгөөд та тасалбар хадгалагдаж байгаа машин уруу
OpenSSH ашиглан холбогдож байгаа бол
Kerberos
TicketCleanup
тохируулга no
гэж sshd_config
тохиргооны файлд байгаа эсэхийг
шалгаарай, тэгэхгүй бол таны тасалбарууд таныг гарах үед устгагдах
болно.
Хостын удирдагчид илүү урт амьдрах хугацаатай тасалбартай бас байж болно гэдгийг санаарай. Хэрэв таны хэрэглэгчийн удирдагч долоо хоног амьдрах хугацаатай бөгөөд гэхдээ таны холбогдож байгаа хост 9 цаг амьдрах хугацаатай бол та кэшдээ хугацаа нь дууссан хостын удирдагчтай болж тасалбарын кэш хүссэнээр ажиллахгүй болох болно.
Тусгайлсан муу нууц үгүүдийг ашиглуулахгүйн тулд (kadmind
тушаалын гарын авлагын хуудас үүнийг товчхон тайлбарладаг)
krb5.dict
файлыг тохируулахдаа
нууц үгийн бодлого тавигдсан удирдагчдад энэ нь зөвхөн хамаатайг санах
хэрэгтэй. krb5.dict
файлуудын хэлбэр
хялбар байдаг: нэг мөрт нэг үг (string) байна. /usr/share/dict/words
симболын холбоос үүсгэх нь ашигтай байж болох юм.
MIT болон Heimdal суулгацуудын гол ялгаа нь
өөр (гэхдээ орлуулж болох) тушаалууд болон өөр протоколууд ашигладаг
kadmin
програмтай холбоотой юм.
Хэрэв таны KDC нь MIT бол
та Heimdal kadmin
програмыг ашиглаж өөрийн
KDC-г алсаас (эсвэл эсрэг чиглэлд энэ
зорилгоор) удирдаж чадахгүй болдог учир энэ нь их хамаатай юм.
Клиент програмууд нь бас шал өөр өөр тушаалын мөрийн тохируулгууд авч
адил үүргийг гүйцэтгэж болох юм. MIT
Kerberos вэб сайт
(http://web.mit.edu/Kerberos/www/
) дээрх заавруудыг
дагахыг зөвлөж байна. Замын асуудлуудаас болгоомжлоорой:
MIT порт нь анхдагчаар /usr/local/
уруу суудаг бөгөөд хэрэв таны PATH
орчны хувьсагч системийн
сангуудыг эхлээд жагсаадаг бол «жирийн» системийн програмууд
MIT-ийн оронд ажиллаж болохыг санаарай.
telnetd
болон klogind
-ээр
нэвтрэх нэвтрэлтүүд нэг л хачин байдаг тэр шалтгааныг ойлгохыг хүсвэл FreeBSD-ийн хангадаг
MIT security/krb5 портын
суулгасан /usr/local/share/doc/krb5/README.FreeBSD
файлыг унших хэрэгтэй. Хамгийн чухал нь
«кэш файл дахь буруу зөвшөөрлүүд»ийг зөв болгох нь
дамжуулагдсан итгэмжлүүдийн эзэмшилтийг зөвөөр солих login.krb5
хоёртын файлыг нэвтрэлт танилтад ашиглахыг шаарддаг.
rc.conf
файл дараах тохиргоог агуулж засварлагдсан
байх бас шаардлагатай:
kerberos5_server="/usr/local/sbin/krb5kdc" kadmind5_server="/usr/local/sbin/kadmind" kerberos5_server_enable="YES" kadmind5_server_enable="YES"
MIT керберосд зориулсан програмууд
/usr/local
санд хоёртын файлуудыг
суулгадаг болохоор ингэж хийгддэг.
Сүлжээнд идэвхжүүлэгдсэн үйлчилгээ бүр Kerberos-тэй
ажиллахаар засварлагдсан (эсвэл сүлжээний халдлагуудын эсрэг аюулгүй
байдлыг хангасан) байх шаардлагатай, тэгэхгүй бол хэрэглэгчдийн
итгэмжлэлүүд хулгайлагдаж дахин ашиглагдаж болох юм. Үүний нэг жишээ нь
бүх алсын бүрхүүлүүдийг (жишээ нь rsh
болон
telnet
) Kerberos хийн
идэвхжүүлсэн мөртлөө нууц үгүүдийг цэвэр текстээр илгээдэг POP3
захидлын серверийг тэгж хувиргахгүй байх явдал юм.
Олон хэрэглэгчийн орчинд Kerberos нь
тийм ч аюулгүй биш юм. Энэ нь тасалбаруудыг бүх хэрэглэгчийн хувьд уншигдаж
болох /tmp
санд хадгалдаг учраас тэр юм.
Хэрэв хэрэглэгч компьютераа хэд хэдэн бусад хүмүүстэй зэрэг харилцан хуваалцаж
байвал (өөрөө хэлбэл олон-хэрэглэгч) хэрэглэгчийн тасалбаруудыг өөр хэрэглэгч
хулгайлах (хуулан авах) боломжтой юм.
Үүнийг -c
файлын нэрийн тушаалын мөрийн тохируулгатай
эсвэл (илүү зохимжтой) KRB5CCNAME
орчны хувьсагчтайгаар
даван гарч болох юм, гэхдээ ингэх нь их ховор байдаг. Зарчмын хувьд
тасалбарыг хэрэглэгчдийн гэр санд хадгалж хялбар файлын зөвшөөрлүүдийг ашиглах нь
энэ асуудлыг багасгадаг.
Дизайнаараа бол KDC нь мастер нууц үгийн мэдээллийн баазаас тогтох бөгөөд түүний нэгэн адил аюулгүй байх ёстой. KDC нь үүн дээр өөр ямар ч үйлчилгээнүүд ажиллуулсан байх ёсгүй бөгөөд физикээр аюулгүй байдлыг нь хангасан байх шаардлагатай. Kerberos нь ижил түлхүүрээр («мастер» түлхүүр) шифрлэгдсэн бүх нууц үгүүдийг хадгалдаг бөгөөд тэр ижил түлхүүр нь эргээд KDC дээр файл маягаар хадгалагддаг учраас аюул өндөртэй байдаг.
Тэмдэглэн хэлэхэд булаан эзлэгдсэн мастер түлхүүр нь хэн нэг нь айхаар тийм ч муу биш юм. Түлхүүр үг нь зөвхөн Kerberos мэдээллийн баазыг шифрлэхэд болон санамсаргүй тоо үүсгэгчийн үр болон хэрэглэгддэг. Таны KDC уруу хандахад аюулгүй л байж байвал халдагч мастер түлхүүрээр их юм хийж чадахгүй.
Мөн нэмж хэлэхэд хэрэв KDC нь боломжгүй байвал (магадгүй үйлчилгээ зогсоох халдлага эсвэл сүлжээний асуудлуудаас болоод) сүлжээний үйлчилгээнүүд нь нэвтрэлт танилтыг хийж болохгүй болохоор хэрэглэгдэх боломжгүй болох бөгөөд нэг ёсны үйлчилгээ зогсоох халдлагын рецепт болох юм. Үүнийг олон KDC-тэй (нэг мастер болон нэг буюу хэд хэдэн боолууд) болон хоёрдогч эсвэл нэмэлт, эцсийн нэвтрэлт таних (PAM нь энэнд маш сайн) болгоомжтой шийдлийн тусламжтайгаар даван гарч болох юм.
Kerberos нь хэрэглэгчид, хостууд болон
үйлчилгээнүүдэд өөр хоорондоо бие биенээ таниулах боломжийг олгодог. Гэхдээ энэ нь
KDC-г хэрэглэгчид, хостууд эсвэл үйлчилгээнүүдэд
таниулах аргагүй юм. Энэ нь троян хийгдсэн kinit
(жишээ нь)
тушаал бүх хэрэглэгчийн нэрс болон нууц үгүүдийг бүртгэн бичиж авч болно гэсэн
үг юм. security/tripwire
ч юм уу эсвэл өөр бусад файлын системийн бүрэн бүтэн байдлыг шалгах хэрэгслүүд
үүнийг арилгаж чадна.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.