Wednesday, March 28, 2007

Split-horizon DNS

Энэ нийтлэлийг бичье гэж бодсоор их удлаа. Анх санаа нь Голомт банкны 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 хийгээд олж авч болно.

No comments: