Thursday, April 05, 2007
DNSStuff - dns web tools
DNS-тэй холбоотой real-time асуулга явуулах хэрэгтэй үедээ www.dnsstuff.com хуудсыг хэрэглэдэг билээ. Ер нь DOS юмуу, Юникс тушаалын мөрний nslookup, dig зэрэг tool-үүдийг хэрэглэн ижил мэдээллийг олж авч болох боловч, аргагүй веб интерфэйс болохоор ойлгоход хялбар байдаг юм. Манай зарим админууд энэ хуудсыг магадгүй хэрэглэдэг байх. Энэ сайтнаас forward ба reverse DNS асуулга, WHOIS, Spam Database(RBL) асуулгууд, TraceRoute, Ping зэрэг (үүгээр бас зогсохгүй) tool-үүдийг бүгдийг нэг дороос олж болно.
Саяхнаас энэ сайт шинэчлэгдэж, асуулга явуулахын тулд заавал гишүүнчлэл шаарддаг болсон боловч, үнэгүй эрхээр хуучин нийтэд нээлттэй байсан бүх tool-үүдийг хэрэглэж болох тул DNS системтэй ажилладаг, DNS асуулга явуулах хүсэлтэй хэн бүхэн энэ хуудсаар зочлоод нэг үзээрэй.
Шинээр нэмэгдсэн, миний сонирхлыг татсан хэсэг гэвэл хэлэлцүүлэг буюу forum байна. Энд DNS-тэй холбоотой асуудлууд, сонирхсон асуултуудаа бичиж, нийтээс болон DNSStuff-н мэргэжилтнээс хариултыг авч болох юм байна. Хэрвээ танд DNS-тэй холбоотой ойлгомжгүй асуудлууд байвал асуугаад үзээрэй. Бас нэг сонирхол татсан шинэ үйлчилгээ гэвэл жилийн 36$ төлөөд 24 цагын DNS Monitoring, нэмэлт DNS tool-үүдийг хэрэглэж болохоос гадна DNSStuff-c technical support авч болох юм байна. "Let us monitor your domain 24/7/365 - be DNS smart!" гэсэн хөөрхөн уриатай юм. Энд хэлж байгаа DNS Monitoring хийх нь чухал гэсэн гол санаа нь их зөв санаа байна.
Зөвхөн DNS Monitoring хийхийн тул 36$ төлөөд ч яахав, нээлттэй эхийн Nagios-г ашиглахад л болно. Nagios 5 минут тутамд таны зааж өгсөн домэйноор Root DNS Серверүүдээс асуулга явуулж, хэрэв name resolution хийж чадахгүй бол тэр дор нь танд цахим захидлаар мэдэгдэх болно. Nagios-н талаарх мэдээллийг http://nagios.org/ хуудаснаас үзээрэй.
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
Monday, April 02, 2007
Ажлын єндєр амжилт хvсье!
Хүндэтгэсэн,
Л.Баянзул
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