Thursday, September 09, 2010
My first experience with RHCE
Амжиж чи өөрөө алдрын зэрэгт хүрсэн бол, Аз жаргалын хаалгыг бусаддаа нээж өг! гэж сайхан үг байдаг билүү... Айхтар алдрын зэрэгт хүрээгүй ч, араас минь адил замаар мацаж яваа дүү нартаа үзсэн харсан, сурсан мэдсэнээ хуваалцах нь зүй ёсны хэрэг билээ...
Redhat Training
Redhat-н стандарт курсууд бол ерөнхийдөө 4 хоног л байдаг, 4 ажлын өдөр гэсэн үг. Харин энэ Энэтхэгт долоо хоногоос 2 сарын хооронд янз бүрийн хугацаатай сургалтууд байх юм.
Мөнгө, цаг завандаа тааруулаад сонгох боломжтой гэсэн үг. За миний суусан сургалт 14 хоногийн багц байсан. Багц нь дотроо 6 хоног онол, 3 хоног лаборатори, 1 өдөр шалгалт, 2 өдөр амралт, дээр нь ирэх очих өдрөө нэмбэл яг хоёр долоо хоног болно.
Хичээлүүд 9:00-15:00 онол, 15:00-18:00 дадлага гэсэн хувиартайгаар 6 өдөр үргэлжилнэ. Онолоо үзэж дууссаны дараа 3 хоног цэвэр дадлага хийж шалгалтандаа бэлдэнэ. Ер нь бол толгой өндийх залгүй л лаб-д сууна гэсэн үг. Онол бол ЭНД байгаа бүх сэдвийг хамрана. Ерөнхийдөө сурах бичгээ дагаад явна, өглөө нь үзсэн зүйлээ үдээс хойш нь бататгаж дасгал ажил хийнэ. Сэдвүүдээ тухайн өдөр бүрт нь хийж явахгүй бол үлдсэн 3 хоногт бүгдийг амжуулна гэж ёстой байхгүй шүү!
Хамт байсан хүмүүс үүн дээр их алдсан гэж ярьж байсан. Дадлага хийх 3 хоног цэвэр шалгалтандаа бэлдэнэ, шалгалтын талаар ойлголт өгөх зорилгоор mock exam буюу бэлтгэл шалгалт өгнө.
RHCE Exam
Шалгалт маань 3.5 цаг үргэлжилнэ, онолын хэсэг байхгүй зөвхөн өгсөн даалгаврыг гүйцэтгэнэ. Хуучин бол онолын хэсэгтэй байсан, давахад нилээд хэцүү байсан гэсэн. Харин саяхнаас шинэчлэгдээд зөвхөн ур чадварын шалгалт болсон гэнэ.
Шалгалтын эхний хэсэг нь troubleshooting, чамд өгөгдсөн машин ажиллах боломжгүй, эсвэл нэвтэрч орох боломжгүй болсон байна. Эхлээд асуудлыг шийдвэрлэж, машинаа хэвийн ажилладаг болгоно. Асуудлууд дотор GUI ажиллахгүй, өөрөөр хэлбэл xwindows асуудалтай, mount table алдаатай, нэвтрэх эрхийн хугацаа дууссан, эсвэл passwd файл синтаксийн алдаатай, унших эрх ньтавигдаагүй, inittab-н тохиргоо буруу гэх зэрэг зүсэн зүйлийн алдаа байж болно. Үүнийг дадлага хийх 3 хоногтоо зах зухаас нь хийж үзнэ.
Машин хэвийн ажилладаг болонгуут сая нэг шалгалтын эхний даалгаврыг унших боломжтой болно. Хэрвээ энэ хүрч чадахгүй бол шалгалтандаа шууд унана гэсэн үг. Эхний даалгавар сүлжээний тохиргоог хийх зааврыг агуулна. Зааврын дагуу сүлжээнд холбогдоод өгөгдсөн URL орж дараагийн даалгавруудыг унших боломжтой болно. Шалгалтандаа сайн бэлдсэн бол үлдсэн даалгаврууд ерөнхийдөө амархан, байнга л хийдэг mail, web, nfs, samba, proxy серверүүдийг суулгаж өгөгдсөн даалгаврын дагуу тохируулна. Хүн аймаар төвөгтэй тохиргоо байхгүй, хамгийн энгийн, байнга хэрэглэх тийм түвшний тохиргоо хийгдэнэ. Эдгээрийг бүгдийг онолын хичээл дээр үзнэ, тийм болохоор цаг тухайд нь дадлага ажлыг сайн хий гэдэг ийм учиртай...
Аан тийм, дээр нь нэмээд галтханыг тохируулах ёстой байдаг, дээр суулгасан үйлчилгээ тус бүр дээр ямар хандалтыг нэвтрүүлэх, хаахыг даалгавар дотор заасан байгаа. Энд iptables, tcpwrapper хэрэглэх хэрэгтэй болдог. tcpwrapper-д дэмжигддэг үйлчилгээ бол шууд tcpwrapper-г дангаар хэрэглэж болох боловч, зарим нэг үйлчилгээ дэмжигдээгүй байдаг тул iptables-г хэрэглэх шаардлага зайлшгүй гарна. Хоёуланг хослуулах уу, эсвэл iptables-г дангаар хэрэглэх үү энэ бол тухайн хүний сонголт юм, аль өөрт амарханаар хийх нь зөв болвуу... Би хоёуланг хослуулж хийсэн, оноо маань бага зэрэг хасагдсан байсан, би бодохдоо галтханын тохиргоон дээр болвуу гэж бодож байгаа...
Галтханын тохиргоо маш чухал болохоор энэ хэсэгт анхааралтай байх хэрэгтэй. Учир нь шалгалтыг дүгнэхдээ үйлчилгээг гаднаас хандаж шалгана. Галтханын чинь тохиргоо
буруугаас болж үйлчилгээнүүдэд гаднаас хүрч чадахгүй бол тэр хэсгийн оноо шууд нойллох тул шалгалтандаа унах аюултай... Үүнийг шалгалт эхлэхээс өмнө дахин дахин сануулаад л байсан.
Бас нэг сануулах зүйл бол даалгавруудыг эхнээс нь гүйцэтгээд явж байхад сүүлд хийсэн тохиргоо өмнөх тохиргоог дарах, нөлөөлөх хүчин зүйлс байдаг тул даалгавруудаа бүгдийг хийж дууссаны дараа эхнээс нь бүгдийг шалгахаа мартуузай...
IPSR
Өмнөд Энэтхэгтээ Линуксаар дагнаж, нэр хүнд нь өсөж яваа сургалтын төв. Анх байгуулагдаад 10 жил, Линуксын сургалт явуулж эхлээд 6 дахь жилдээ үйл ажиллагаа явуулж буй, хөл дээрээ зогссон газар байсан. Эгч дүү хоёр гурван компанитай, нэг нь ayurveda гээд уламжлалт анагаахын эмнэлэг юм билээ. Хийж бүтээж яваа, надад бол маш их зүйл бодогдуулсан газар. Багш нар маань сайн байсан, хариуцлагатай, сэтгэлтэй, ер нь бол эдний компанийн ирээдүй надад бол амжилттай сайхан л харагдаж байна.
Энэтхэгт зорчих
Хөгжиж буй бусад бүх л улсын адил бэрхшээлтэй, хүндрэлтэй зүйлс их байгаа нь аяндаа ажиглагдана. Хамгийн хэцүү нь ариун цэврийн асуудал. Мөн халуун газар учраас бидний бие дасан зохицоогүй элдэв бактери, вирус элбэг байгаа. Үүнийг бодолцож болгоогүй хүнсний бүтээгдэхүүн, ногооны салад, жимс, мөхөөлдөс зэргээс аль болох зайлсхийх хэрэгтэй. Мөн ялаа шумууланд хазуулахаас болгоомжлоорой. Ажлаар явж байгаа тохиолдолд вакцин хийлгээд явбал зүгээр шүү...
Надад хамгийн хэцүү санагдсан зүйл бол усны асуудал байсан. Крантны ус бага зэрэг шаргал өнгөтэй гарч байсан, сэтгэл амар шүршүүрт орж болохгүй түгшүүртэй санагдаж байсан. Тийм болохоор зөвхөн энэ хүчин зүйлийг бодож үзвэл би хувиасаа Энэтхэг явахыг зөвлөмгүй байна... Албан газар компаниудын хувьд бол мөнгийг нь төлөөд хүмүүсээ өндөр хөгжилтэй газар явуулах нь зүйтэй гэж хэлнэ.
Эцэст нь зөвлөхөд:
Миний суусан сургалтын онолын 6 хоногийн эхний 2 хоног нь үнэхээр залхмаар амархан байсан. Учир нь 6 хоногийн сургалт гэдэг нь RH033, RH131, RH253 гэсэн 3 күрсийг нийлүүлчихсэн, күрс тус бүрийг 2 өдөрт үздэг. Күрс тус бүр өөрийн сурах бичигтэй, тэгэхээр 2 өдөрт нэг ном дуусгана. Эхний RH033 нь линукс юу ч мэдэхгүй хүмүүст зориулсан уу гэлтэй, файл хуулах, нэрийг солих, архивлах, архивыг задлах зэргийг бүгдийг нэг бүрчлэн үзнэ. Шалгалтан дээр тэрнээс нь нэг ч ирэхгүй, man page байхад энийг зааж яадаг байнаа л гэж бодогдож байлаа.
Тэгэхээр тэр албан ёсны 4 хоногийн сургалтанд суух нь энэ 6 хоногийнхтой ижил байх гэж бодогдох болсон шүү... Харин 4 хоногийн сургалтын хэцүү тал нь шалгалт нь 5 дахь өдөр нь болохоор, бэлдэх цаг байхгүй... Монголд байгаа хүмүүсийн хувьд хаа нэг газар 4 хоногийн сургалтанд суугаад, дараа нь Бээжин орж шалгалтаа өгөх хувилбар байж болох юм. Гэхдээ цаг зав, нерв их барагдах тул нэг дор хоёуланг нь амжуулчвал уг нь зүгээр юм...
За тэгээд шалгалттай, болон сургалттай холбоотой асуулт байвал бичээрэй, би хариулахыг хичээх болно...
Tuesday, July 27, 2010
RHCE Training - in INDIA ;)
Сургалтууд нилээд үнэтэй байнаа, тэр тусмаа англи хэлээр ярьдаг орнууд USA, UK, Australia, New Zealand гэх мэтчилэн... Японд бол англи хэл дээр сургалт байхгүй, шалгалтыг бол авна. Ойрхоноос гэвэл Хятад, Солонгос арай хямд байна, гэхдээ анги нь дүүрэхгүй бол (4-5хүн) тухайн сарынхыг болиулчих жишээтэй... гэх мэтчилэн хайгаад явсан Энэтхэг дээр тунаж үлдлээ дээ...
Энэтхэг гэж ёстой ч нэг санаанд багтаж байсангүй... Гэхдээ нэг сонирхолтой нь Энэтхэгт бараг хот болгонд сургалтын төв байна, ёстой гайхмаар... За тэгээд эхнээс нь аваад вебээр ороод, мэйл бичээд байлаа. Нилээд их хугацаа зарцуулсан шүү, тийм болохоор дараа дараагийн хүмүүст хэрэг болж магад, дор аятайхан жагсаагаад биччихлээ.
1. http://www.ipsr.org - IPSR
За энэ бол миний явахаар сонгосон газар, тийм болохоор хамгийн эхэнд нь биччихье. Ер нь бол гүүглэдээд хамгийн түрүүнд гарч ирсэн юм шүү. Үнэ, байршил, цаг хугацаа гээд бүх зүйлээрээ надад яг тохирсон болохоор нь сонгосон. 3-4 жилийн өмнөөс үйл ажиллагаа нь идэвхтэй болж ирсэн газар байна лээ. Барууныхан олон очдоггүй байж магадгүй, Африкаас хүмүүс сургалтанд суусан гэж бичсэн байсан. Төв нь Kerala мужийн Kottayam хотод байдаг, ойролцоох Kochi, Kozhikode гэсэн хотуудад 3 салбартай. Kerala муж нь бүр урд зүгрүү, экваторт нилээд ойрхон, дээрх хотууд бүгд далайн эргийн хотууд байна.
2. http://www.koenig-solutions.com - Koenig
Миний ойлгож мэдсэнээр Барууныхан, мөн Хойд Америкаас хамгийн олон хүн очдог газар. Төв нь Дэлид, салбарууд нь Shimla(Гималай), Goa(Арабын тэнгисийн эрэг), Dehradun(Гималай)-д байдаг. Ажил нь зүгширчихсэн, гаднаас хүн аваад үйлчлээд сурчихсан газар шиг байна лээ. Үнэ нь бол үнэтэй талдаа, гэхдээ bootcamp болохоор байр, хоол, энээ тэрээ гэж санаа зовохгүйгээр мөнгөө төлөөд л бусад бүх зүйл бэлэн. Аград ойрхон болохоор Таж Махал, ийм тийш авч явж юм үзүүлдэг хөтөлбөр бас байна.
3. http://www.linuxlearningcentre.com - Linux Learning Center
Энэ газрыг Redhat-н Энэтхэг дэх албан ёсны төлөөлөгч нь санал болгосон юм шүү. Бангалорт төвтэй, тэндээ 3 салбар төвтэй. Бизнесийн биш, академик талдаа газар бололтой байна лээ. Байр, хоол энэ тэр хангана гэсэн зүйл байхгүй, гэхдээ мэдээж гадны хүн ирвэл тэр тал дээр туслана. Үнэ нь бол үнэхээр хямд, өөрөө байр хоолоо зохицуулна гэвэл ийшээ явахад гэмгүй байх. Гэхдээ курсын сонголт маш багатай юм байна лээ.
4. http://networknuts.net - Network Nuts
Сургалт бол сайн байж магадгүй, гэм нь нилээд үнэтэй. Тийм болохоор сонирхсонгүй. Дэлид төвтэй, Ахмедабадад салбартай.
5. http://www.intaglio-solutions.com - Intaglio
Яг ямархуу газар болохыг сайн ойлгоогүй, ямар ч байсан мэйлээр хариу өгөөд байсныг бодоход боломжийн газар байсан санагдана. Гэхдээ ямар ч байсан нэг их муу газар биш болвуу. Үнэ хөлс нь дундаж санагдсан.
RHCE Exam prep
гэж хүн болгон зөвлөсөн байна... Ер нь бол RHCE яагаад хэцүү вэ гэхээр асуулт бөглөхөөс гадна ур чадварын шалгалт/lab based exam бас өгдөгт хэргийн гол нь байна л даа. Үүнийгээ тэд performance based гэж бас нэрлэнэ. Өөрөөр хэлбэл өгөгдсөн тодорхой хугацаанд багтаж асуудлыг шийдвэрлэх ёстой. Түүнээс интернэтээс уншаад, ухаад төнхөөд 10 хоногын дараа нэг вэб сервер суулгах биш өгөгдсөн 30мин дотор суулгаад, бүх тохиргоог нь хийнэ гэсэн үг...
За тэгэхээр л хэрэг явдал өөр болоод ирнэ гэсэн үг дээ...
Тэгвэл шалгалтанд яаж бэлдэх вэ?
Үндсэн мэдэж, чадаж байх ёстой зүйлсийн жагсаалт нь бэлэн байна. => http://www.redhat.com/certification/rhce/prep_guide/
Юуны өмнө Redhat website дээр байгаа Түвшин тогтоох шалгалт/Pre-assessment Questionnaires-г хийгээд үзэх хэрэгтэй. Дотроо гурван түвшин байгаа:
Redhat Linux Essentials
Redhat System Administration
Redhat Network and Security
Амарханаас нь эхлээд бөглөөд үзэхээр аяндаа түвшин чинь ямар байгааг сэдэв сэдэвээр нь гаргаад өгнө. Тэгээд аль курсыг өөрт чинь санал болгосон байна, түүнээс нь эхлээд бэлдэхэд үндсэндээ болно гэсэн үг.
Курс болгоны сургалтын төлөвлөгөө нь байгаа, түүнийг дагаад бэлдээд байж дээ... Жишээлбэл, миний хувьдаа барьж бэлдэж байгаа курс байна. RH300 Rapid Track гээд... ЭНД байна.
Ер нь л гэхдээ чанга байна шүү... Уншаад, хийгээд ирэх тусам дутуу дулимаг ойлгосон байсан зүйлс олон гарч ирэх юм байна...
Шалгалтанд хэрхэн бэлдэх талаар хүмүүс их олон бичжээ. Шалгалтанд зориулсан ном аваад бэлдэхийг зөвлөсөн байна. Тэр номнуудыг нь авч үзэж хараахан амжаагүй болохоор тэр талаар санаа оноо нэмэх зүйл алга... Хүмүүсийн бичсэнээр гайгүй сайн номнууд гэвэл:
1. Red Hat Certified Engineer Linux Study Guide, by Michael Jang (5th edition, June 21 2007)
2. Red Hat Enterprise Linux 5 Administration Unleashed, by Tammy Fox (April 30, 2007)
3. Redhat Certified Technician and Engineer, by Asghar Ghori (August 10, 2009)
Ном аваад бэлдээд байхад болно, сургалтанд сууж мөнгөө үрэх хэрэггүй ч гэж зарим нь бичсэн харагдана лээ... Гэхдээ би бол сургалтанд суухаар шийдсэн... Нэг талаар зорьсондоо хүрэх арай дөт зам, нөгөө талаар бусадтай өөрийгөө харьцуулах боломж гэж бодлоо...
Сургалтанд суух бол долоо хоногийн ажил, тэрнээс өмнө бие дааж хэрхэн бэлдэх вэ?
1. Сургалтын төлөвлөгөөгөө гаргачихлаа
2. Ном сурах бичгээ бэлдчихлээ. Ном байхгүй ч онлайн гарын авлагууд зөндөө байна. Redhat documentation-г гол болгож бэлдэж байна.
http://www.redhat.com/docs/manuals/enterprise/#RHEL5
3. Тест машин хэрэгтэй. Хамгийн амар нь VirtualBox, эвсэл Vmware дээр virtual host үүсгээд түүн дээрээ ажиллах
4. Тест үйлдлийн системээ сонгох. CentOS, Scientific Linux (RHEL-Н эх кодоос бүтээсэн тархацууд), Fedora арай өөр шиг байна лээ. CentOS нь зүгээр биз дээ.
Redhat Certification - RHCT/RHCE/RHCA
За нэг ийм асуулттай тулгараад судалж үзлээ... Хүн хүн янз бүрийн бодолтой байдаг бололтой, гэхдээ Redhat-н сертификат бол нилээд нэр хүндтэй юм байна гэдгийг олж мэдэв. Админы сертификат нь үндсэн 3 үе шаттай:
RHCT - Redhat Certified Technician
RHCE - Redhat Certified Engineer
RHCA - Redhat Certified Architect -> 2005 онд бий болсон
Technician гэдэгт нь сервер суулгахаас авхуулаад, үндсэн тохиргоог хийх хүртэл бүх зүйлс... Engineer гэдэгт troubleshooting, болон сүлжээ орчны үйлчилгээнүүд(SSH, DNS, HTTP, FTP, NFS, SMB etc), Architect гэдэгт нь security, monitoring, performance tuning, clustering гэх зэрэг сэдвүүд хамрагдсан байна. Сертификатын шалгалт нь RHEL-н тухайн үеийн хамгийн сүүлийн хувилбар дээр тулгуурласан байна. Сертификат нь дуусах хугацаа гэж тодорхой заасан хугацаа байхгүй боловч шинэ хувилбар гарах бүрт шинэчлэхийг зөвлөдөг юм байна.
Redhat-аас сертификат бүрийн хамрах сэдэвт тохирсон сургалт, хичээлүүдийг явуулдаг. Ерөнхий бүдүүвчийг доорх зураг дээр харуулсан байна:
(Зураг Япон хэл дээр ойлгомжгүй байж магадгүй, гэхдээ ерөнхий зүй тогтолыг нь гаргасан байгаа) Эх/Taken from: http://itpro.nikkeibp.co.jp/as/redhat/index.html

Сертификатны шалгалтууд нь мөн хичээлүүд шигээ дугаартай:
RHCT Exam - RH202 (хамрах сэдэв RH033 + RH131)
RHCE Exam - RH302 (хамрах сэдэв RH142 + RH253)
RHCA Exam - доорх 5 шалгалтыг тавууланг нь давсан байна:
EX333 Secrity: Network Services Expertise Exam
EX401 Deployment, Virtualization, and Systems Management Expertise Exam
EX423 Directory Services and Authentication Expertise Exam
EX436 Clustering and Storage Management Expertise Exam
EX442 System Monitoring and Performance Tuning Expertise Exam
Эхний хоёр сертификат RHCT/RHCE-н шалгалтыг шууд өгч болно, харин RHCA шалгалтыг өгөхийн тулд RHCE-г давсан байх хэрэгтэй.
RHCE нь дотроо хоёр хэсгээс бүрдэх ба эхний хэсэг нь RHCT-г агуулсан, хоёр дахь хэсэг нь нэмэлт сэдвүүд гэсэн зохион байгуулалттай байна. RHCE шалгалтыг өгөөд эхний хэсгийг давбал RHCT-г авах эрхтэй болно...
За Redhat-н сертификатын талаар товчхондоо бол иймэрхүй байна... Би хувьдаа RHCE-г өгөөд үзье гэж бодож байгаа, шалгалт өгөхөөсөө өмнө сургалтанд суухаар болсон. Тэр талаар дараагийн нийтлэлдээ бичих болно...
Friday, April 30, 2010
Today's Guide to Linux Virtualization
Сервер Virtualization-ы талаар ерөнхий ойлголт өгсөн цуврал аятайхан нийтлэл гарчээ... Xen, KVM, FreeBSD-н Jail, OpenSolaris-н Zone, VMWare ESXi, Microsoft-н Hyper-V гэж сонсоо л байлгүй дээ, тэгвэл эд бүгдээрээ virtualization-ы хэлбэрүүд юм. Эд бүгд хоорондоо юугаараа ялгаатай, төстэй, юугаараа давуу талтай гэх мэтчилэн олон асуултуудад хариу аваарай.
Энэ цувралын 3-т cloud computing-н тухай өгүүлсэн байна. Сүүлийн үед cloud computing хүчээ авч байгаа болон Amazon, Gmail зэрэг компаниуд аль хэдийн үйлчилгээндээ хэрэглээд эхэлчихсэн байгаа талаар уншаарай...
1. Today's Guide to Linux Virtualization
2. Containers vs. Hypervisors: Choosing the Best Virtualization Technology
3. A Guide to Cloud Computing on Linux
4. Planning Best Virtualization Strategies for Your Enterprise
Wednesday, April 28, 2010
Сисадминий Сахил ;)
СисАдмин хүн би ёс суртахуун, ур чадварын өндөр түвшинд байж, энэхүү ёс суртахууны хэм хэмжээг даган мөрдөж, бусад мэргэжил нэгт СисАдминуудаа уриалан ажиллах болно...
гэж ирээд л... цаашаагаа ингэж үргэлжлэх жишээтэй...
СисАдмины Ёс Суртахууны Хэм Хэмжээ
- Ажил мэргэжлийн харилцааг чандлан сахиж, хувийн итгэл үнэмшил, үзэл бодлоор хүмүүстэй зүй бус, тэгш бус харьцахыг цээрлэнэ.
- Хийсэн ажилдаа үнэнч байж, ур чадвараа зөв тооцоолж, өөрийн алдаанаас гарч болох үр дагаварыг урчилан харж, хэрэгтэй үед бусдаас тусламж гуйна.
- Ашиг сонирхолын зөрчилөөс аль болох зайлсхийнэ.
- Зөвхөн шаардлагатай үед хувийн мэдээлэлд нэвтэрч, мэдээллийг олж авсан арга замаас үл хамааран мэдээллийн нууц байдлыг хадгалж, хамгаалж ажиллана.
- Өөрийн ажил үүрэгтэй холбоотой хууль, дүрэм, журамыг судалж мэдэн бусаддаа зааж сургана.
- Удирдах хүмүүс, хамтран ажиллагсад, үйлчлүүлэгчидтэйгээ хоёр талын эрх ашгийг барин харилцана. Хоёр талын хэрэгцээ шаардлагыг ойлгож ухамсарлахыг хичээн ажиллана.
- Системийн зорилгод нийцүүлэн дизайныг гаргаж, арчилгааг хийнэ.
- Техникийн мэдлэгээ байнга өргөжүүлж, ажил мэргэжилтэй холбоотой бусад ур чадваруудаа дээшлүүлнэ.
- Сүлжээ, тооцоолон бодох нөөцүүдийн нэгдмэл байдлыг хангахын тулд илүү өргөн дэлгэр коммюнититэй холбоотой ажиллана.
- Эдгээр ёс суртахууны зарчмуудад тохирох хууль дүрэм, бодлогыг боловсруулах, хэрэгжүүлэхэд гар бие оролцон ажиллана.
- Аюулгүй, эрүүл, үр бүтээлч ажлын орчныг бүрдүүлэхийн төлөө хичээн ажиллана.
- Шийдвэр гаргахдаа нийтийн эрх ашиг, амар тайван байдлыг алдагдуулахгүй байх зарчмыг гол болгож, урьд мэдэгдээгүй эрсдэл, аюулыг дагуулж болох хүчин зүйлсийг цаг алдалгүй мэдээлнэ.
- Бусдын хувь нэмэрийг зөв үнэлж, шударга шүүмжлэлийг өгч, хүлээн авч ажиллана.
- Бусдыг үлгэр жишээгээрээ уриалан дуудаж, ажил үүргээ гүйцэтгэхдээ ёс суртахууны болон мэргэжлийн ур чадварын өндөр түвшинд байна. Энэхүү ёс суртахууны хэм хэмжээг
даган мөрдөхөд хамтран ажиллагчид, хамт олныгоо дэмжинэ.
The System Administrators' Code of Ethics
We as professional System Administrators do hereby commit ourselves to the highest standards of ethical and professional conduct, and agree to be guided by this code of ethics, and encourage every System Administrator to do the same.
Professionalism
* I will maintain professional conduct in the workplace, and will not allow personal feelings or beliefs to cause me to treat people unfairly or unprofessionally.
Personal Integrity
* I will be honest in my professional dealings, and forthcoming about my competence and the impact of my mistakes. I will seek assistance from others when required.
* I will avoid conflicts of interest and biases whenever possible. When my advice is sought, if I have a conflict of interest or bias, I will declare it if appropriate, and recuse myself if necessary.
Privacy
* I will access private information on computer systems only when it is necessary in the course of my technical duties. I will maintain and protect the confidentiality of any information to which I may have access regardless of the method by which I came into knowledge of it.
Laws and Policies
* I will educate myself and others on relevant laws, regulations and policies regarding the performance of my duties.
Communication
* I will communicate with management, users and colleagues about computer matters of mutual interest. I will strive to listen to and understand the needs of all parties.
System Integrity
* I will strive to ensure the necessary integrity, reliability, and availability of the systems for which I am responsible.
* I will design and maintain each system in a manner to support the purpose of the system to the organization.
Education
* I will continue to update and enhance my technical knowledge and other work-related skills. I will share my knowledge and experience with others.
Responsibility to Computing Community
* I will cooperate with the larger computing community to maintain the integrity of network and computing resources.
Social Responsibility
* As an informed professional, I will encourage the writing and adoption of relevant policies and laws consistent with these ethical principles.
Ethical Responsibility
* I will strive to build and maintain a safe, healthy, and productive workplace.
* I will do my best to make decisions consistent with the safety, privacy, and well-being of my community and the public, and to disclose promptly factors that might pose unexamined risks or dangers.
* I will accept and offer honest criticism of technical work as appropriate and will credit properly the contributions of others.
* I will lead by example, maintaining a high ethical standard and degree of professionalism in the performance of all my duties. I will support colleagues and co-workers in following this code of ethics.
Wednesday, April 09, 2008
Asterisk with Diva 4-BRI ISDN Card
Asterisk-г Diva 4-BRI ISDN карттай хэрхэн ажиллуулах вэ?
Opensource software PBX-үүдийн дотроос хамгийн өргөн хэрэглэгдэх болсон нь Asterisk болвуу. Asterisk-г суулгах, тохируулах талаар зөндөө сайхан гарын авлагууд байгаа болохоор тэр талаар нуршилгүй, Diva 4-BRI ISDN Card-г Asterisk-тай хэрхэн ажиллуулах талаар товчхон зааврыг өгье.
1. AsteriskNow-н талаар товчхон
2. Asterisk-г суулгах
3. Diva 4-BRI ISDN Card
4. Chan_capi module
5. Asterisk Dialing Plan
1. AsteriskNow-ын талаар товчхон
AsteriskNow нь Asterisk-г GUI-н хамт, тусгайлан үүсгэсэн кернелтэй бэлэн CD болгосон хувилбар юм. Линукс суулгаж байгаатай адилаар partition-уудаа үүсгэхээс бусад нь автоматаар сууна. mISDN зэрэг модулиудыг GUI-гээс удирдаж болох болсон, мөн командын мөрнөөс ажиллаж чадахгүй хүмүүст ойр зуурын system administration хийх боломжтой зэргээс өөрөөр Asterisk-г татаж аваад суулгаснаас ялгаагүй санагдсан.
AsteriskNow-д ямар ч package manager байхгүй, мөн developer library-нууд ихэнх нь байхгүй болохоор нэмэж package/module суулгахад асуудалтай. Бодвол AsteriskNow-г сайжруулж байгаад бүтээгдэхүүн болгон борлуулах бодолтой байгаа бололтой.
Уг нь бэлэн юм ашиглачихвал амар байсан боловч Diva 4-BRI Card-ны driver-ууд AsteriskNow-д суугаагүй ирсэн тул driver-г тусад нь суулгах хэрэгтэй боллоо. Diva 4-BRI driver-г суулгахад kernel source file-ууд хэрэгтэй болсон, мөн дээр нь AsteriskNow-д ямар ч package manager байхгүй зэргээс Asterisk-г аль нэг линукс тархац дээр татаж авч суулгахаар шийдлээ.
2. Asterisk-г суулгах
Asterisk-г линуксийн нилээд олон тархац дээр хэрхэн суулгах талаар хангалттай сайн гарын авлагууд олсны ачаар цаг алдалгүй, амархан суулгаж чадлаа. Хагас өдрийн ажил болж байна.
http://www.asteriskguru.com/tutorials/ AsteriskGURU дээрээс нилээд сайн гарын авлага олсон.
Asterisk-г суулгахдаа:
- libpri (1.2.7)
- zaptel (1.4.9.2)
- asterisk (1.4.19)
- asterisk-gui (you need CVS)
гэсэн дарааллаар суулгах хэрэгтэй(хаалтан дотор хамгийн сүүлийн хувилбаруудыг харуулав). Package-уудаа Digium-н FTP site-с татаж аваарай.
Бүх зүйл зөв хийгдсэн бол http://IPAddress:8088/asterisk/static/config/setup/install.html хаягаар өөрийн Asterisk серверийг веб интерфэйсээр тохируулах боломжтой болсон байх ёстой. Мөн зөв суулгасан эсэхээ шалгахдаа, тушаалын мөрнөөс дараах тушаалыг өгөөрэй:
# /usr/sbin/asterisk –vvvgc
За ингээд ямар ч алдаа гараагүй бол(хэрэв алдаа байгаа бол улаан фонтоор мэдээлэл гарч ирнэ, эсвэл системийн log-д бичигдэх болно), танд баяр хүргэе. Таны анхны Asterisk сервер ажиллаж эхэллээ...
Одоо та дотоод сүлжээндээ VoIP утасны аппарат залгаад, эсвэл PC дээрээсээ softphone ашиглан байгууллага дотроо, хоорондоо ярих боломжтой боллоо...
3. Diva 4-BRI ISDN Card
Яагаад энэ картыг сонгосон бэ гэвэл ямар ч шалтгаан байхгүй. Манай компанийн нэгэн ахлах хэзээ ч юм худалдаж аваад таг мартсан хэрэг. Тэгээд нэгэнт байгаа картаа ашиглах болсон хэрэг...
Линукс систем дээр Diva картыг ашиглахын тулд Diva4Linux багцийг суулгах хэрэгтэй. Бэлэн *.rpm, *.deb багцуудыг хэрэглэж болно. Энд эхээс хэрхэн үүсгэхийг тайлбарлая. (Мөн Dialogic-н Quick Installation Guide-г үзнэ үү.)
Шаардлагатай эх багцийг Dialogic-н зохих веб хуудаснаас татаж аваарай. Хамгийн сүүлийн хувилбар нь DivaServer4Linux_installer_8.3-107-83.bin гэсэн файл байгаа.
# chmod 744 DivaServer4Linux_installer_8.3-107-83.bin
# ./DivaServer4Linux_installer_8.3-107-83.bin
Diva серверийг эхээс үүсгэхэд kernel source хэрэгтэй болох тул өөрийн кернелийн хувилбарт тохирсон эх багцийг урьдаас суулгаж бэлдээрэй. Хэрэв kernel source чинь default байрлалаасаа өөр газар суусан бол түүнийг /usr/src/linux директорруу дараах байдлаар холбоорой:
# ln -s /usr/src/kernels/2.6.18-xxx /usr/src/linux
Дээрх хоёртын файлыг ажиллуулсны дараа шаардлагатай эх файлууд /usr/lib/eicon/divas директор дотор бэлэн болно. Одоо эхээс үүсгэх/build хийх хэрэгтэй.
# cd /usr/lib/eicon/divas/src; ./Build
За ингээд бүх зүйл ном ёсоороо болбол, таныг одоо Diva серверийнхээ тохируулгыг хийхийг сануулна. Тохируулгыг тушаалын мөрнөөс
# /usr/lib/eicon/divas/Config
тушаалыг өгөн, эсвэл веб интерфэйсээр дамжуулан хийж болно. Веб интерфэйсийг ашиглахын тулд:
1-рт xinetd суусан, мөн ажиллаж байх хэрэгтэй.
2-рт /usr/lib/eicon/divas/httpd/login/login файлын эхний мөрөнд веб интерфэйсийн нууц өгийг оруулсан байх хэрэгтэй.
Дээрх хоёр нөхцөл бүрдсэн бол http://IPAdress:10005/ хаягаар Diva серверээ тохируулах боломжтой болно.
Diva серверийг тохируулахад анхаарах тохируулгууд:
- Interface mode (TE/NT) -> Terminal Equipment (TE) mode (default)
- D-channel protocol-г тухайн улсынхаа стандартад тохируулах. Японы хувьд "JAPAN - Japan, National (INS-64)"-г сонгоно.
- NT-2 (Direct Dial In, Direct Inward Dialing) mode -> No
Бусад тохируулгуудыг default утгаар нь авахад буруудахгүй...
Тохиргоог хийсний дараа серверээ ажиллуулж, зогсоож нэг үзээрэй.
# /usr/lib/eicon/divas/Start
# /usr/lib/eicon/divas/Stop
Diva BRI карт чинь ажиллаж байгаа эсэхийг гадагшаа дуудлага хийж, мөн дуудлага хүлээн авч шалгах боломжтой.
Гадагшаа дуудлага хийхдээ:
Японы гар утасруу:
$ /usr/lib/eicon/divas/acopy2 -s1 -num -n09012345678
NTT-н гарц(010)-р гадагшаа дуудлага хийхдээ:
$ /usr/lib/eicon/divas/acopy2 -s1 -num -n01097611300000
Note: -n болон дугаараа залгуулж бичих ёстойг анхаарна уу.
Гаднаас дуудлага хүлээн авахдаа: 2 терминалийн нэгийг сервер, нөгөөг харилцагч/client маягаар ашиглана. Сервер болох терминал дээр:
# /usr/lib/eicon/divas/acopy2 –serve
тушаалыг өгөн сервер төлөвт ажиллуулна. Гаднаас ирэх дуудлагууд энэ цонхонд харагдах болно. Харилцагч болох терминал дээр:
# /usr/lib/eicon/divas/acopy2 –num –n
гэсэн тушаалыг өгөн өөрийн дугаарлуу дуудлага хийнэ. Хийсэн дуудлага чинь сервер талын цонхон дээр гарч ирэх ёстойг анхаараарай. Хэрэв дуудлага хийх боломжгүй бол алдааны мэдээллийг сайтар унших хэрэгтэй.
4. Chan_capi module
Asterisk суучихсан, ISDN картныхаа driver-уудыг таниулчихлаа, одоо дахин нэг нэмэлт модуль суулгах хэрэгтэй. Asterisk ямар нэг дундын модульгүйгээр ISDN карттай одоохондоо шууд ажиллах боломжгүй байгаа юм. Энэ дундын модуль BRI картан дээр ирсэн дуудлагыг Asterisk-д дамжуулах, Asterisk-г утасны channel/сувагтай ажиллах боломжийг олгоно.
Ямар картанд ямар модуль тохирох талаар дэлгэрэнгүй мэдээллийг AsteriskGURU-гийн энэ хуудаснаас үзээрэй. Diva 4-BRI картын хувьд Chan_capi module-г суулгах хэрэгтэй. CAPI 2.0-н талаар дэлгэрэнгүйг Asterisk CAPI Channel хуудаснаас олж үзээрэй.
Chan_capi-г суулгахад isdn4k-utils-devel багц хэрэгтэй болох тул түүнийг эхлээд суулгасан байх шаардлагатай. (энэ багцаас capi20.h файлыг хэрэглэх юм). *.rpm, эсвэл *.deb багцаар суулгаж болно, эсвэл yum ашиглан дараах байдлаар суулгаж болно.
# yum install isdn4k-utils-devel
chan_capi-г дараах байдлаар суулгана:
$ wget ftp://ftp.chan-capi.org/chan-capi/chan_capi-1.0.2.tar.gz
$ tar -zxvf chan_capi-1.0.2.tar.gz
$ cd chan_capi-1.0.2
# make
# make install
# make install_config
Суулгах үйл явц харьцангуй хялбар тул асуудалгүйгээр сууна. (Asterisk-г эхлээд суулгасан байх ёстойг анхаарна уу) Харин тохируулах үйл явцад нилээд анхаарлаа хандуулаарай...
chan_capi-гийн хэрэглэдэг ганц тохиргооны файл бол capi.conf юм. (Зарим нэг гарын авлага дээр modules.conf дотор тохиргоо хийх хэрэгтэй гэж бичсэн байгаа түүнийг анхаарах хэрэггүй!)
Энэ файл chan_capi-г суулгах явцад автоматаар Asterisk-н тохиргооны файлуудын хамт /etc/asterisk директор дотор суух болно. capi.conf -н талаар гарын авлага харьцангуй хомс тул бүгдийг эхлээд default-р аваад, ганц нэгээр туршиж үзэх байдлаар тохируулсан тул тохиргооны талаар нарийн тайлбар өгч чадахгүй нь... capi.conf файл доторх коментууд нилээд мэдээлэл өгч чадна.
Default-р capi.conf ганцхан [general] гэсэн section/хэсэгтэйгээр, дараах байдалтай ирнэ.
[general]
nationalprefix = 0
internationalprefix = 00
rxgain = 0.8
txgain = 0.8
Үүн дээр хэрэв Европ/Америкт байгаа бол:
alaw=yes;
Хэрэв Японд байгаа бол:
ulaw=yes;
гэсэн мөрийг нэмэж бичих хэрэгтэй. Хэрэв энэ мөрийг нэмэж өгөхгүй бол, яриа дундуур цангинах, мөн яриа тасалдах, ойлгомжгүй байх, хол сонсогдох зэрэг ярианы чанартай холбоотой асуудлууд тулгарч болзошгүй.
Үүний дараа ISDN картныхаа утасны шугам залгаатай порт болгоны тоогоор section/хэсэг нэмэж бичих хэрэгтэй. Бидний хувьд NTT-с 2 line/шугам түрээслэн авсан тул 4 section нэмэж бичих хэрэгтэй болсон. Үүнийг товчхон тайлбарлавал, BRI шугамын хувьд:
1 line/шугам = 2B channel/суваг + 1D channel/суваг
үүнд:
B суваг = дуу, өгөгдөл дамжуулах хэрэглэгчийн суваг
D суваг = контрол сигнал дамжуулах суваг
Ингэхээр бидний тохиолдолд (2B channel x 2 = 4 subcriber channel) болж байна.
За ингээд capi.conf дотор дараах хэсгийг 4 удаа давтан бичиж өгнө.
[4BRI-1]
isdnmode = msn
incomingmsn = *
controller = 1
group = 1
softdtmf = on
relaxdtmf = on
faxdetect = off
accountcode =
context = capi-in
echocancelold = yes
devices = 2
жишээ capi.conf файлыг эндээс үзнэ үү.
За ингээд бүх юм болчихлоо гэвэл арай үгүй :). Dialing Plan зохиохгүй бол яриа хийж хараахан чадахгүй...
5. Dialing Plan
Asterisk-н dialing plan-ууд extensions.conf файл дотор байрлана. План зохиоход хялбар байх үүднээс extensions.conf дотор хангалттай жишээнүүд байгаа. Планууд бүгд тодорхой section/хэсэгт байрлах тул [default] хэсэгт include хийхээс нааш идэвхжихгүй.
Дэлгэрэнгүй зааврыг Asterisk DialPlan Planning хуудаснаас үзнэ үү.
Жишээ dialing plan дараах байдалтай байна:
[default]
exten = s,1,Ringing
exten = s,2,Wait(2)
include = voicemenu-welcome
include = emergency
include = domestic
include = tollfree
include = international
exten = 1500,1,VoiceMailMain
exten = 1600,1,Goto(voicemenu-custom-1|s|1)
exten = 2000,1,Goto(voicemenu-custom-2|s|1)
[voicemenu-welcome]
exten = s,n,Answer
exten = s,n,Wait(1)
exten = s,n,Background(/var/lib/asterisk/sounds/record/welcome)
exten = s,n,Wait(1)
exten = s,n,Goto(default|1000|1)
exten = 0,1,Goto(default|1000|1)
[emergency]
exten = _ZXX,1,Dial(CAPI/g1/${EXTEN}) ;for NTT and Emergency
[domestic]
exten = _0ZXXXXXXXXX,1,Dial(CAPI/g1/${EXTEN})
exten = _0ZXXXXXXXX,1,Dial(CAPI/g1/${EXTEN})
exten = _03ZXXXXXXX,1,Dial(CAPI/g1/${EXTEN})
exten = _ZXXXXXXX,1,Dial(CAPI/g1/${EXTEN})
[tollfree]
exten = _0120XXXXXX,1,Dial(CAPI/g1/${EXTEN})
exten = _00ZXXXXX,1,Dial(CAPI/g1/${EXTEN})
exten = _0053XXXXXXX,1,Dial(CAPI/g1/${EXTEN})
exten = _0066XXXXXXXX,1,Dial(CAPI/g1/${EXTEN})
[international]
exten = _0101NXXNXXXXXX,1,Dial(CAPI/g1/${EXTEN}) ; for USA,Russia 1+3+7=11
exten = _010ZXXZXXXXXXX,1,Dial(CAPI/g1/${EXTEN}) ; for Mongolia 3+2+6=11
exten = _010ZXXZXXXXXXXX,1,Dial(CAPI/g1/${EXTEN}) ; for Tanzania 3+3+6=12
exten = _010ZXZXXZXXXXXXX,1,Dial(CAPI/g1/${EXTEN}) ; China mobile 2+3+8=13
exten = _010ZXZXZXXXXXXX,1,Dial(CAPI/g1/${EXTEN}) ; for China landline 2+2+8=12
exten = _010ZXZXXXXXXXXX,1,Dial(CAPI/g1/${EXTEN}) ; for UK mobile, Turkey mobile 2+3+7=12
red => custom extension number(can be any digit).
1000 -> reception
1500 -> voice message
1600,2000 -> test voice menu.
blue => voice file for welcome voicemenu.
Links
Asterisk homepage - http://www.asterisk.org/
AsteriskNow homepage - http://www.asterisknow.org/
AsteriskGURU - http://www.asteriskguru.com/tutorials/
Digium homepage – http://www.digium.com/
Digium FTP site - http://ftp.digium.com/pub/
Dialogic - http://www.dialogic.com/
Dialogic, Quick Installation Guide - http://www.dialogic.com/pubs/22725202.html
CAPI channel - http://voip-info.tr3ss.com/wiki/view/Asterisk+CAPI+channels-2.html
Asterisk DialPlan Planning- http://voip-info.tr3ss.com/wiki/view/Asterisk+Dialplan+Planning.html
Tuesday, April 03, 2007
SPF - Спамаас хамгаалах арга
SPF буюу Sender Policy Framework нь DomainKeys-н нэгэн адилаар DNS дээр тулгуурласан спамаас хамгаалах нэг арга юм. Гол ялгаа нь DomainKeys TXT бичлэг дотор өөрийн хэрэглэж буй public түлхүүрийг зарладаг бол, SPF нь authorized/бүрэн эрхт мэйл серверүүдээ зарладаг явдал юм. Domainkeys-н талаарх түрүүчийн нийтлэлийг үзнэ үү.
Тэгэхээр та танай мэйлүүд дамжин гардаг бүх мэйл серверүүдийг өөрийн домэйны TXT бичлэгт зааж өгнө гэсэн үг юм. Ажилчид чинь ажил дээрээсээ мэйл явуулах тул мэдээж эхлээд байгууллагын чинь мэйл сервер, хэрвээ гэрээсээ бас мэйл явуулдаг бол тухайн ISP-н мэйл серверүүд бас бичигдэнэ гэсэн үг.
Жишээ нь:
v=spf1 : SPF протоколыг зааж байнаtest.mn. TXT "v=spf1 mx a:mail.isp-test.mn include:gmail.com -all"
mx : mx бичлэгт заасан серверүүд энэ домэйны мэйл дамжуулахыг зааж байна
a:mail.isp-test.mn : mail.isp-test.mn гэсэн хост мөн мэйл явуулах эрхтэй
include:gmail.com : gmail-н зөвшөөрсөн серверүүдийг бүгдийг зөвшөөрөх
-all : бусад нь энэ домэйнтой мэйл явуулах эрхгүй
SPF бичлэгийг яаж үүсгэхээ сайн ойлгохгүй байвал SPF Төслөөс гаргасан "SPF Setup Wizard"-г хэрэглээд үзээрэй.
Хэрэв өөрийн мэйл серверийг SPF хэрэглэдэг болгоё гэвэл SPF Төслийн ЭНЭ хуудсаар зочилж өөрийн тань MTA SPF-г дэмждэг эсэхийг шалгаарай.
SPF зарим нэг талаар хязгаарлагдмал хэдий ч, Amazon, AOL, EBay, Google, GMX, Hotmail, Microsoft, ба W3C зэрэг олонд нэртэй домэйнууд өөрсдийн SPF мэдээллийг зарлах болсон байна. 2007 оны судалгаагаар .com ба .net домэйны 5% нь ямар нэг хэлбэрийн SPF бодлогыг хэрэгжүүлж байна. Мөн бидний сайн мэдэх SpamAssassin 3.0.0-с SPF-г дэмждэг болжээ.
Холбоосууд:
1. SPF Project homepage
2. Wikipedia - SPF
3. SPF Syntax
Sunday, April 01, 2007
split-brain DNS, split-horizon DNS, DNS view
Split-horizon гэдэг нь router болон сүлжээний төхөөрөмжийн хувьд хэрэглэгддэг бөгөөд сервер DMZ(demiliterized zone)-д байрлахыг хэлнэ.
DNS View гэж split-brain DNS-г implement хийхэд зориулсан BIND 9-н View функцыг хэлж байгаа хэрэг юм.
Split-brain DNS гэж энд түрүүнээс хойш яригдаад байгаа үндсэн ойлголтыг нэрлэж байна.
Split-brain DNS-г дараах байдлаар зохион байгуулж болно.
1. Гадаад, дотоод DNS мэдээллүүд тусдаа баазуудад, тусдаа DNS серверүүд дээр байрлах
Гол санаа нь гадаадад нэг, дотоодод нэг DNS сервер(эсвэл бүлэг серверүүд) ажиллана гэсэн үг. Гадаад сервер дээр зөвхөн гадаадад зориулсан мэдээлэл, дотоод сервер дээр дотоодод зориулсан мэдээлэл байх ёстой. Дотоод серверүүд гадаад мэдээлэлд хүрч чаддаг байхын тулд гадаад мэдээллийн хуулбарыг дотоод сервер дээр байрлуулах хэрэгтэй болно. Хоёр талд байгаа ижил мэдээллийг яаж consistent байлгах вэ гэдэг дээр жинхэнэ админы шийдэл гарч ирэх байх. Энэ мэдээллийг гараар 2 дахин оруулах уу? Динамик болгохын тулд гаднах нь дотнохынхоо slave болох уу? эсвэл эсрэгээрээ байх уу? гэх мэтчилэн олон шийдэл гарч ирнэ.
Дээр нь дотоод серверүүд бусад домэйны хувьд name resolution яаж хийх вэ? гэсэн асуудал гарч ирэх болно. Гол шийдэл нь дотоод DNS хариулж чадахгүй асуулгуудаа гадаад DNS-рүү forward хийнэ. Дотоодод ганц сервер байгаад zone file-уудаа агуулаад, caching бас хийхүү? эсвэл caching-only DNS сервер тусад нь ажиллуулах уу? гэдгийг тухайн системээс хамаарч админ шийдэх болвуу. Серверийнхээ ачаалал, найдвартай ажиллагааг бодолцвол гадаадад primary ба secondary, дотоодод primary ба secondary, дээр нь caching-only DNS cервер гэсэн хувилбараар нийтдээ 5 DNS сервер ажиллуулж болох юм.
Ямар ямар хувилбарууд байж болох талаар дэлгэрэнгүйг энэ нийтлэлийн төгсгөлд байгаа "Холбоосууд" хэсэгт байгаа баримтуудаас олж уншина уу.
BIND болон Sendmail ашиглан mail gateway хэрхэн тохируулах талаар "Холбоосууд" хэсгийн 3 дахь баримтаас уншаарай.
2. Гадаад, дотоод DNS мэдээллүүд тусдаа баазуудад, нэг DNS Cервер дээр байрлах
Үүнийг BIND9-н VIEW функцийн тусламжтай хийж болно. Тэгэхээр нэг DNS сервер гаднаас ч, дотроос ч DNS асуулгыг хүлээн авдаг байхын тулд 2 сүлжээний картаар гадаад, дотоод сүлжээнд шууд холбогдсон байх, эсвэл NAT-р гадагшаа гардаг байх ёстой болно. Эхнийх буюу нэг машин шууд гадаад, дотоодод зэрэг гарна гэдэг нь аюулгүй байдлын хувьд тун муу шийдэл юм. Тиймээс ихэнх тохиолдолд NAT хийгдсэн байдаг.
За тэгэхээр ямар ч байсан гаднаас ч, дотроос ч DNS асуулга хүлээж авдаг боллоо. Одоо BIND9-г тохируулах хэрэгтэй. Доорх жишээн дээр нэг гадаад slave сервертэй, split-brain DNS тогтолцооны гол сервер дээрх тохиргоог харуулав:
acl internal { 192.168.2.0/24; 192.168.0.0/24;};
acl secondary { xx.xx.xx.xx;};
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
recursion no;
notify no;
};
view internal {
match-clients { internal; };
recursion yes;
zone "test.mn" IN {
type master;
file "test.internal";
allow-update { localhost; };
};
"168.192.in-addr.arpa" IN {
type master;
file "named.internal";
allow-update { localhost; };
};
};
view external {
match-clients { any; };
recursion no;
zone "test.mn" IN {
type master;
file "test.external";
allow-update { localhost; };
allow-transfer { secondary; };
notify yes;
};
};
Нэг мэдээллийг хоёр янзаар харуулахын тулд, бичлэг бүр дээр "tag" буюу тэмдэг тавьж ялгана гэнэ. Дотоод гэж тэмдэглэсэн бол дотоодод харуулж, гадаад гэж тэмдэглэсэн бол гадаадад харуулах юм байх. BIND мэдээж одоогоор ингэж чадахгүй байгаа. Харин Daniel J.Bernstein-ы djbdns тусламжтай үүнийг хийх боломжтой. Дэлгэрэнгүйг дор байгаа "Холбоосууд" хэсгийн 2 дахь баримтаас уншаарай.
Холбоосууд:
1. Microsoft DNS Technical Articles - Split-Brain DNS Server Configuration for ISPs
2. Jonathan de Boyne Pollard's homepage - Providing "split horizon" DNS service
3. Hal Pomeranz's homepage - DNS and Sendmail(PDF file)
4. BIND 9 - Administrator Reference Manual
Wednesday, March 28, 2007
Split-horizon DNS
Episode 1: Тэр үед 2005 оны 5 сард дөнгөж ажилд ороод байсан би, танайхаас Голомт банкруу мэйл явуулж чадахгүй байна гэсэн хэрэглэгчийн гомдолыг хүлээж авлаа. Эхлээд учраа сайн олохгүй нилээд материал уншиж судалсны эцэст Голомт банкны DNS бичлэг нэг домэйн нэр дээр нилээд олон A бичлэгийг дотоод, гадаад IP холин цувуулан бичсэн байлаа. Манай мэйл серверээс DNS resolution хийхэд дотоод IP нь гарч ирээд мэйл явуулж чадахгүй байсан бололтой. Нилээд хэдэн утас эргэдэж байж Голомтын DNS бичлэгийг хариуцдаг админ-тай нь ярилаа. Тэгвэл зүгээр, ингэвэл дээр гэж хэлж чадахаар юм надад үнэндээ байсангүй. "Гадаад IP-тай A бичлэгээ, дотоод IP-тайгийнхаа дээр нь тавьчиж болохгүй юу?" гэж хэлж байснаа санаж байна. Мэдээж Голомтынхон ямар нэг арга хэмжээ аваагүй, тэр хэрэглэгч дахин утасдаж байсан санагдана. Тэр үед миний хийх гэж оролдсон ганц алхам бол өөрийн DNS Cache сервер дээр Голомтын golombank.com домэйныг гадаад IP-руу нь шууд зааж өгөх гэсэн оролдлого байлаа. Тэр үед DNS системийн талаар үнэндээ ямар ч мэдлэг байгаагүй болохоор нөгөө хэрэглэгч маань ч утасдахаа больж, би ч энэ талаар таг мартав.
Episode 3: 2006 оны 9 сард, Улаанбаатарт болсон APNIC DNS Workshop... DNS-ын ойлгомжгүй олон асуудлууд байсныг хичээл заасан багшаасаа асууж нэг санаа амрав. Мэдээж Голомт банкны бичлэгийг асуухаа мартсангүй. "Манай нэг хэрэглэгч дотоод IP-гаа гадаад DNS дээрээ биччихээд байх юм. Энэ болохгүй биз дээ?" гэж асуухад минь, "It is stupid thing to annouce your private IP to the world." гэж хариулж байсан билээ. Хичээл дууссаны дараа шалгатал Голомтын DNS бичлэг хэвээрээ л байсан санагдана. Хичээл заалгасан хүн чинь юу гэж зүгээр байхав дээ. Zone transfer хийх гэж оролдсон, болоогүй. Гэхдээ сонирхолтой мэдээлэл нилээд олсон. Би сүлжээний хакер биш л дээ, үнэндээ энэ мэдээллээр юу хийхээ ч өөрөө ойлгоогүй, зүгээр л сонирхол татаж байлаа. dns, mail, web нь бүгд (Голомт банк мэдээж олон домэйнтэй байх, зөвхөн golomtbank.com-н хувьд) нэг IP-руу заагдсан байсан. 192.168.0.8 байсан шиг санаж байна. Мэдээж бүхэл бүтэн банк юм чинь энэ олон сервис нэг сервер дээр байна гэж байхгүй л дээ, proxy сервер биз гэсэн яриа манай ажлынхны дунд өрнөлөө.
Episode 4: 2006 оны 12 сар... Дөлөө, Нүүнээ хоёртой буу халж байсан, Голомт банкны DNS бичлэгийн талаар яриа өрнөлөө. (Ярих бодит жишээтэй байх сайхан юм :) ) "Дотоод сүлжээндээ DNS cервер хэрэгтэй байгаа л юм бол дотооддоо тусад нь DNS тавьчиж болдоггүй юм байх даа" гэсэн миний саналын хариуд Дөлөө "Request ирж байгаа IP-наас нь хамаарч BIND гадаадад нэг мэдээлэл, дотоодод өөр мэдээлэл өгч чадна." гэж байна. "BIND уу? Чадахгүй." гэж Нүүнээ бид 2 зөрөөд... барьдаг дээрээ туллаа.
Episode 2: SANS-н сургалтанд суухдаа split-horizon DNS зохион байгуулж, дотоод DNS мэдээллээ гаднаас хэрхэн хамгаалах талаар анх олж сонслоо.
Episode 5: Саяхан Голомт банкны бичлэгийг шалгаад орхисон, харин дотоод IP-нууд нь алга болчиж... Админууд нь нэг арга хэмжээ авсан бололтой.
Episode 6: ... гэж бодоод дөнгөж сая шалгатал, яг ч бас үгүй юм байна.
www.golomtbank.com 202.170.65.8 (A)
mail.golomtbank.com 202.170.65.8 (A)
> golomtbank.com
Server: [202.170.65.8]
Address: 202.170.65.8
golomtbank.com nameserver = glmt.golomtbank.com
glmt.golomtbank.com internet address = 192.168.1.4
glmt.golomtbank.com internet address = 202.170.65.8
DNS нь дотоод IP-гаа зарласан хэвээр байна. Байгууллагын дотоод сүлжээнээс хандаж байгаа болохоор гарч ирж байгаа байж магадгүй.
Нэмээд хэлчихэд golomtbank.com домэйнд MX бичлэг байхгүй, 2 authoritative/бүрэн эрхт DNS сервер зарласан хэдий ч glmt1.golomtbank.com-202.170.65.9 нь ерөөсөө ажилладаггүй юм билээ.
Episode 7: Уг нь split-horizon DNS, DNS view-н талаар энд бичих ёстой байлаа. Ойлгоогүй зүйлс бас байгаа тул дараагийн нийтлэлдээ гүйцээе.
PS: Голомт банкыг шүүмжилсэн өнгө аястай нийтлэл болсон бол хүлцэл өчье. Аргагүй толгойд яваад байсан болохоор энд жишээ болгон бичлээ. Дээрх мэдээллийг хялбархан nslookup хийгээд олж авч болно.
Monday, March 26, 2007
DomainKeys - Спамаас хамгаалах арга
Саяхнаас yahoo.co.jp домэйнтой мэйл хаягтай болсон билээ. Хэрэглэж байхдаа нэг анзаарвал зарим мэйл From талбартаа, мэйл хаягныхаа доод талд "DomainKeys は、このメールが yahoo.com から送信されたことを確認しました。" гэсэн бичиг байна. Монголоор "Энэ мэйл yahoo.com-с ирсэн болохыг DomainKeys шалган тогтоов ." гэсэн үг л дээ. Монголд байхад л DomainKeys гээд яригдаад байсан, нээрээ ингээд хэрэглээд эхэлчихсэн юм байх даа гэсэн бодол толгойд орж ирж байна. Wiki-дээд орхисон Yahoo бүр 2004 оноос хойш DomainKeys ашиглах болсон гэж байна. Хэрэв тийм бол яагаад анзаарайгүй байдаг билээ?...
yahoo.com-ын мэйлүүдэд From хэсэгт мэйл хаягны өмнө "дугтуйн дээрх түлхүүрний тэмдэг" байнуу? Дээр нь хулганаар очвол "This sender is DomainKeys verified" гэж гарч ирж байгаа биз...
DomainKeys гэж юу вэ?
DomainKeys гэдэг нь мэйл үнэхээр "From" хэсэгт бичигдсэн домэйноос ирсэн байнуу гэдгийг шалган тогтоох зориулалттай нэг төрлийн шинэ протокол юм. Хялбарханаар тайлбарлавал: явуулж байгаа тал нь гарын үсгээ зурна, хүлээн авч байгаа тал нь түүнийг шалгана гэсэн үг юм.
Хэрхэн ажиллах вэ?
DomainKeys-г ашиглахын тулд эхлээд private/public хос түлхүүр үүсгэх ёстой. Private түлхүүрийг MTA өөртөө хадгалж, гадагшаа явуулж байгаа бүх мэйлийн header дотор бичнэ. Public хэсгийг админ өөрийн DNS zone file-д, _domainkey дэд домэйны TXT бичлэг дотор тавьсанаар, хүлээн авч байгаа мэйл сервер энэ түлхүүрийг авч гарын үсгийг шалгах боломжтой болно. Өөрөөр хэлбэл public түлхүүрийг нийтэд тараахдаа DNS hierarchy-г ашиглаж байна гэсэн үг юм. DNS бичлэгийг зөвхөн тухайн домэйны эзэн өөрчлөх эрхтэй тул хос түлхүүрийг заавал гадны CA(Certificate Authority)-р баталгаажуулах шаардлагагүй болсон давуу талтай.
DomainKey-р баталгаажсан мэйлийн header ямар байдаг бол? гэсэн сониуч зандаа хөтлөгдөж байгаа бол мэйлийн full header-г нь нэг нээгээд хараарай. DomainKey-Signature гэсэн талбар нэмэгдсэн байгаа:
DomainKey-Signature: a=rsa-sha1; c=nofws;
d=gmail.com; s=beta;
h=received:message-id:date:from:to:subject:cc:mime-version:content-type;
Хэрхэн хэрэглэх вэ?
Yahoo, Gmail бүгд DomainKey-г хэрэглээд нэгэнт эхэлчихсэн тул, та эдгээр домэйнуудруу мэйл явуулахын тулд ядаж гарын үсгээ зураад явуулах хэрэгтэй болох байх даа. Одоо яах вэ гэж санаа зовох хэрэггүй. Өргөн хэрэглэгддэг MTA-уудын хувьд patch/шинэ хувилбар/plugin аль хэдийнэ гарчихсан, аваад хэрэглэх л үлдэж дээ:
- Sendmail milter implementation - http://sourceforge.net/projects/dk-milter
- Qmail patch qmail-dk - http://www.qmail.org/top.html
- Exim version - http://duncanthrax.net/exim-experimental
болон бусад MTA-н талаар DomainKeys төслийн хуудаснаас орж үзнэ үү.
Холбоосууд:
1. Yahoo Anti-Spam Resource Center-с гаргасан танилцуулга - http://antispam.yahoo.com/domainkeys
2. Yahoo-гаас санхүүжүүлж буй нээлттэй эхийн DomainKeys төсөл - http://domainkeys.sourceforge.net
3. Wikipedia - http://en.wikipedia.org/wiki/DomainKeys
Tuesday, March 20, 2007
compiling mod_jk from source... get mod_jk.so from here
Apache/2.0-г Tomcat/4.0.3-той mod_jk-р холбох гэж өнөөдөржингийн ажил боллоо.
mod_jk.so хоёртын хэлбэрээр Jakarta/Tomcat-н веб хуудсанд бэлэн байсан бол амар байхгүй юу. Сүүлийн хувилбар болох mod_jk-1.2.21 нь болохоор Apache/2.2-той эмхэтгэчихсэн (EAPI орчинд эмхэтгэсэн), хэрэглэх гэхээр:
'mod_jk.so is garbled - perhaps this is not an Apache module DSO ?'
гэсэн алдаа өгөөд болдоггүй. Бэлэн эмхэтгэсэн хоёртын файл байвал будаа идэх санаатай интернетээр хайгаад ч олдсонгүй...
Тэгээд эхээс нь эмхэтгэж mod_jk.so файлыг гаргаж авахаас өөр аргагүй боллоо. Мэдэхгүй хүнд толгой эргэм олон эх багцууд байдаг юм байна. Google-дээд, мөн Jakarta/Tomcat-н веб хуудаснаас янз янзын багцууд оллоо.
jakarta-tomcat-connectors-4.1.31-src.tar.gz
jakarta-tomcat-connectors-4.0.2-01-src.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
tomcat-connectors-1.0-1.4.0.2.src.rpm
tomcat-connectors-1.2.21-src.tar.gz
Хараад байсан http://tomcat.apache.org/connectors-doc/нүүр хуудсанд байгаа линкийг дагаж ороод авсан хамгийн сүүлийн багц хамгийн зөв нь бололтой. (libtool-р баахан оролдоод орхисон тэрнээс болсон байж болох юм.)
Эмхэтгэхдээ:
$ tar -zxf tomcat-connectors-1.2.21-src.tar.gz
$ cd tomcat-connectors-1.2.21-src/native
$ ./configure --with-apxs=/your/path/to/bin/apxs
$ make
Үүний дараа таны Apache-н хувилбарт харгалзах директор дотор mod_jk.so файл үүссэн байх ёстой. Хэрэв үүсээгүй бол өмнөх тушаалуудын үр дүнг сайтар уншаарай. Одоо mod_jk.so хоёртын файлыг зохих газар нь хуулж тавих хэрэгтэй.
$ cp apache-2.0/mod_jk.so /usr/local/apache2/modules/mod_jk.so
Хэрэв танд Redhat ES4.0 дээр Аpache/2.0 ба Tomcat/4.0.3-н хувьд эмхэтгэсэн mod_jk.so хоёртын файл хэрэгтэй байгаа бол эндээс татаж авч болно.
Wednesday, January 17, 2007
Шинэ .МN домэйн сервер нэмэгдлээ
MобиНетийн IP zone-д .МN домэйн сервер ажиллаж эхэлснээр, МобиНетээс интернетийн үйлчилгээ авч байгаа байгууллага, хэрэглэгчдийн хувьд MIX дээрх гэмтэлээс үл хамааран .МN домэйн нэрийн үйлчилгээг илүү найдвартай авах боломжоор хангагдах юм.
PS: Өмнө нь .МN домэйн нэрийн АНУ-д 6, Монголд 2 сервер ажиллаж байсан бол одоо Монголд байгаа сервер дээр 1 нэмэгдэж нийт 9 сервер ажиллаж байна.
Monday, December 25, 2006
RBL гэж юу вэ?
RBL гэж юу вэ? хэрхэн ажиллах вэ?
RBL гэдэг нь Realtime Blackhole List гэсэн үгийн товчлол бөгөөд спам, вирус тарааж буй IP болон домэйн нэрүүдийг бүртгэж байдаг систем юм. Хамгаалалт муутай серверээр spam trap буюу занга тавьж, түүгээр дамжуулан спам, вирус явуулахыг оролдож байгаа IP/домэйнуудыг бүртгээд сууж байна гэсэн үг юм. Ийм төрлийн нийтэд зориулагдсан нилээд олон системүүд байх ба ихэнх нь судалгаа шинжилгээний ажилд зориулагдсан байдаг. Yahoo зэрэг өргөн цар хүрээтэй мэйл системтэй газар гадны зүйлд найдалгүйгээр өөрийн RBL-тэй байх нь бий.
Мэйл серверүүд гаднаас SMTP холболт үүсэх тоолонд RBL-үүдрүү асуулга явуулж шалгана гэсэн үг юм. Хэрэв энэ мэйл серверийн асуусан аль нэг RBL-д тухайн IP бүртгэгдсэн байвал, сервер холболт үүсгэхээс татгалзаж, энэ талаар товч тодорхой хариу өгнө. Аль RBL-үүдээс асуух вэ гэдгийг админ урьдчилж зааж өгсөн байх ба олон найдвартай RBL-с асууснаар спамтай тэмцэж чадна.
RBL-д орсон тохиолдолд ямар шинж тэмдэг илрэх вэ?
Мэдээж мэйл явахгүй буцаж ирэх асуудлууд гарна(яваад таг болно гэсэн үг биш шүү!). Хүлээн авч байгаа талын SMTP мэйл сервер холболт үүсгэхээс татгалзах тул та энэ талаар тодорхой дурдсан мэйлийг хүлээн авах болно.
Миний IP RBL-д орчихсон юм болвуу?
http://www.robtex.com/rbls.html энэ хаягаар орж шалгаж үзээрэй. Хоосон цонхонд IP хаягаа бичээд GO товчин дээр дарна. 100 орчим RBL-д хайлт хийн үр дүнг танд үзүүлэх болно. Улаан мөрүүд гарч ирвэл таны IP тухайн RBL-д бүртгэгдсэн гэсэн үг юм.
Яагаад RBL-д бүртгэгддэг вэ?
Шалтгаан нь: галтхана, router зэрэг сүлжээний төхөөрөмжийн хувьд түүний цаана байгаа NAT хийгдсэн дотоод сүлжээний Windows PC-нүүд вирүстсэний улмааc сүлжээний төхөөрөмжийн гадаад IP-г ашиглан спамдаж байна гэсэн үг юм. Мэйл серверийн хувьд харин та гадны спамыг өөрөөрөө дамжуулж байна гэсэн үг дээ. Энэ нь таны мэйл сервер openrelay маягаар ажиллаж байна(хаа хамаагүй газрын мэйлийг relay хийх буюу дамжуулж байна), эсвэл таны спам/вирус филтер муу байна гэсэн үг юм. Мөн зарим тохиолдолд мэйл серверийн Reverse DNS бичлэг байхгүй бол бусад серверүүд SMTP холболт үүсгэхээс татгалздаг тул Reverse DNS бичлэг хийлгэхээ мартуузай!
Миний галтхана, router, мэйл сервер RBL-д орчиж, одоо яах вэ?
Таны галтхана, эсвэл router-н IP RBL-д оржээ. Мэдээж бүртгэгдсэн RBL-үүдийн бүртгэлээс өөрийн IP-г хасуулах арга хэмжээ авна. Хасах процесс RBL-үүдээс шалтгаалан янз янз байна. Зарим нь онлайн форм бөглүүлээд хялбархан хасчихдаг байхад, зарим нь зохисгүй зүйл хийсэн түвшинээс шалтгаалан мөнгө төлөхийг шаардана. Мөнгө төлөх шаардлагагүй ч нилээд хүнд шаардлага тавьж байж бүртгэлээс хасдаг газрууд байна. Тавигдах шаардлагууд: тухайн галтханаар NAT хийгдэн гарч буй бүх PC-ны вирусыг цэвэрлэх, хэрэв мэйл сервер бол openrelay хийхгүй байх, спам болон вирус филтерээ сайжруулах гэх зэрэг... За би ингэж, тэгэж системээ сайжрууллаа гэж мэйл бичээд хариуг нь хүлээн авах хүртэл 7-10 хоног лав шаардана. Гэтэл мэйл ажиллахгүй доголдоод байдаг...
Яаралтай арга хэмжээ авах шаардлагатай бол галтхана, router-н хувьд IP-г нь солиод хэсэгхэн хугацаанд аргалж болох юм. Харин вирусээ цэвэрлэхгүй бол дахиад л BL-д орно. Хэрэв PC-г хэрэглэж байгаа хүмүүс энэ талаар ямар ч ойлголтгүй, байгууллагa дотроо чанга дүрэм мөрддөггүй бол вирусыг цэвэрлэж дуусна гэж байхгүй. Тиймээс галтханынхаа 25-р портыг хаан, зөвхөн зөвшөөрөгдсөн ганц мэйл серверээр(дээр нь спам/вирус филтер ажиллаж байгаа) мэйл трафикийг дамжуулах арга байж болно. Энэ нь ISP зэрэг үйлчилгээ үзүүлдэг газруудад илүү тохиромжтой.
Мэйл серверийн хувьд IP-г солино гэдэг хүндрэлтэй асуудал, DNS бичлэг шинэчлэгдэхэд дор хаяж нэг өдөр шаардагдах тул тэр хооронд мэйл хүлээн авах боломжгүй болно. Мэйл серверийнхээ спам/вирус филтерийг сайжруулахаас гадна, өөрийн болон гадны RBL-г ашиглах, relay хийх IP Zone, IP хаягуудыг нарийвчлан тогтоож шаардлагагүй бол relay хийхгүй байх нь хамгийн үр дүнтэй болохыг анхаараарай.
Thursday, December 21, 2006
Locking user accounts
Хэрэглэгчийн эрхийг идэвхгүй болгохын тулд 1-рт түүний нэвтрэх үгийг, 2-рт түүний ажиллах бүрхүүлийг идэвхгүй болгох хэрэгтэй.
Fedora болон Redhat дээр usermod тушаал дээрхийг хоёуланг давхар гүйцэтгэж чадна. Үүний тулд дараах тушаалыг өгнө:
# usermod -L -s /dev/null username
Энэ тушаалыг өгснөөр /etc/passwd файл доторх тухайн хэрэглэгчийн бүрхүүл /bin/bash эсвэл /bin/sh-с /dev/null болон өөрчлөгдөнө. Харин /etc/shadow файл доторх түүний кодлогдсон нэвтрэх үгийн урд "!" тэмдэг нэмэгдсэнээр энэ нэвтрэх үг хүчингүй болж, улмаар энэ хэрэглэгч системд нэвтрэх боломжгүй болно.
Solaris-н хувьд хэрэглэгчийн нэвтрэх үгийг идэвхгүй болгохын тулд:
# passwd -l username
бүрхүүлийг идэвхгүй болгохын тулд:
# passmgmt -m -s /dev/null username
тушаалыг өгнө. Администратор /dev/null-н оронд TITAN-ы noshell програмыг ашиглаж болох юм. noshell програм нь бүх амжилтгүй нэвтрэх оролдогыг syslog-руу бүртгэдэг онцлогтой.
Буцааж сэргээхдээ:
# usermod -U -s /bin/bash username
# passwd -u username
# passmgmt -m -s /bin/bash username
PS: /etc/passwd болон /etc/shadow файлуудыг гараар засаж болохгүй!
Wednesday, December 06, 2006
Centralized Logging буюу SyslogNG-н талаар товчхон
Ач холбогдол: Хүмүүс ийм юм болохгүй байна, тэр нь сонин ажиллаад байна гэхэд миний хэлдэг ганц үг бол "Логоо шалга!". Системийнхээ логыг уншина гэдэг нь өвчтэй хүнээс таны юу өвдөж байна? гэж асуусантай яг адилхан санагддаг. Ихэнх тохиолдолд системийн яг юу нь болохгүй байгаа нь лог дээр дурайтал бичээтэй байдаг. Гэхдээ... лог уншина гэдэг цаг авсан ажил... хэрвээ олон сервертэй бол логыг уншаад дуусна гэж байхгүй юм болно. Тэгэхээр нэг арга зам бол бүх серверүүдийн логыг нэг сервер дээр цуглуулж, түүнийгээ өгөгдлийн баазруу хийгээд түүн дээрээ хайлт шүүлт хийх арга юм. Мэдээж веб интерфэйс байвал бүр сайн хэрэг... Тэгвэл энэ бүхнийг "SyslogNG + MySQL + php-syslog-ng"-н тусламжтай хийж болно.
Ажилллах зарчим: Тэгэхээр бүх логыг цуглуулж байх нэг сервер байна. Түүн дээр SyslogNG, MySQL суусан байх ба веб интерфэйс байдлаар php-syslog-ng ажиллана(мэдээж Apache+PHP суусан байх ёстой).
- Бусад серверүүд(client) логоо энэ серверрүү шиддэг байхаар тохируулагдсан байна.
- SyslogNG TCP/UDP 514-р портон дээр логуудыг хүлээн авч энгийн файлруу эсвэл pipe файлруу SQL Insert query байдлаар бичнэ.
- Бид энэ pipe файлыг аван цааш MySQL баазруу бичнэ.
- Хэрэглэгч php-syslog-ng веб интерфэйсээр бааз дээр хайлт шүүлт хийх боломжтой болох юм.
1. Client машиныг тохируулах
Ер нь бол бүх л сервер машин, сүлжээний төхөөрөмжүүд системийн логыг өөр дээрээ бүртгэж байдаг бөгөөд түүнийгээ syslog гэсэн програмын тусламжтай гүйцэлдүүлж байдаг. Client дээр зарчмын хувьд syslog болон syslog-ng аль нь ажиллаж болно. Гэхдээ syslog-ng-г шинээр суулгаж ажил удаж байснаас бэлэн суучихсан syslog-г ашиглах нь хялбар тул syslog-г хэрхэн тохируулах жишээг харуулав.
Жишээ нь: /etc/syslog.conf файл дотор байгаа:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* /var/log/maillog
гэсэн мөрүүдийг:
*.info;mail.none;authpriv.none;cron.none /var/log/messagesauthpriv
*.info;mail.none;authpriv.none;cron.none @xxx.xxx.xxx.xxx
.* /var/log/secure
.* @xxx.xxx.xxx.xxx
mail.* /var/log/maillog
mail.* @xxx.xxx.xxx.xxx
PS: xxx.xxx.xxx.xxx оронд лог цуглуулах серверийн хаягыг бичнэ.
болгон өөрчилнө. Syslog-н level, facility-н талаар болон хэрхэн тохируулах талаар дэлгэрэнгүй мэдээллийг интернетээс аваарай.
2. SyslogNG серверийг суулгах болон тохируулах
Интернетээс нэг аятайхан заавар олсон юм. Энэ нь "Implementation of Central Logging Server using syslog-ng" гээд Энэтхэгийн CERT-с гаргасан гарын авлага байгаан. Syslog-ng серверийг суулгах тохируулах талаар маш дэлгэрэнгүй ойлгомжтой бичсэн байгаа тул энд нуршаад хэрэггүй биз. Та бүхэн
6.1 Installation
6.2 Configuring Server
6.4 Filter syslog messages
хэсгүүдийг уншаарай. Суулгахад libol багцийг заавал суулгах хэрэгтэй болно. Тохируулга хийхийн тулд syslog-ng.conf файлыг шинээр үүсгэх хэрэгтэй байгаа. Мөн хэрэггүй логуудыг шүүж хадгалахын тулд filter{} директивийг ашиглах хэрэгтэй болно. За тэгээд жишээ тохиргооны файлыг харвал бүх юм ойлгогдох байх.
Pipe файлыг дараах байдалтай үүсгэнэ:
# mkfifo /tmp/mysql.pipe
# chmod 660 /tmp/mysql.pipe
Бүх тохиргоог зөв хийсэн бол та логуудыг Insert query байдлаа /tmp/mysql.pipe файд дотор харах болно. Мөн энэ файл томорсоор байх ёстой.
3. pipe файлыг MySQL баазруу бичих
Юуны түрүүнд MySQL сервер дээрээ logs нэртэй өгөгдлийн сан үүсгэх хэрэгтэй. Ямар талбартай үүсгэхийг "Implementation of Central Logging Server using syslog-ng" зааврын 11-р хуудаснаас үзнэ үү.
Үүний дараа дараах командыг өгч pipe файлыг өгөгдлийн санруу оруулах процессыг эхлүүлнэ:
# mysql syslog < /tmp/mysql.pipe &
4. php-syslog-ng ажиллуулах
php-syslog-ng нь энгийн php файлууд тул source tarball-г задлан веб серверийнхээ document root дотор байрлуулна. Үүний дараа эдгээр php скриптээс өгөгдлийн санруу хандах эрхтэй хэрэглэгчийн эрхийг MySQL сервер дээр үүсгэн, нууц үгийн хамт config/config.php файл дотор кодлож өгнө.
Одоо та вебээр хандан admin/admin гэсэн хэрэглэгчийн нэр нууц үгийг оруулан хайлт шүүлтийг хийх боломжтой болно. Бүх зүйл ажиллаж байвал таны лог дараах байдалтай харагдах болвуу.
Та анх удаа логин хийж орсны дараа нууц үгээ солихоо мартуузай. Мөн хязгаарлагдмал эрхтэй өөр хэрэглэгчдийн эрхийг нээж өгөх боломжтой санаарай.
NOTE: syslog-ng-н нэг давуу тал гэвэл UDP-с гадна(syslog зөвхөн UDP протоколыг дэмждэг) TCP протоколыг дэмждэг болсон явдал юм. Ингэснээр галтханын цаана наанаас SSH Tunneling ашиглан логыг аюулгүйгээр бүртгэх боломжтой болдог.




