2008-07-31

Тодруулга: SSL гэж юу вэ?

Өөрийн блогтоо "ТОДРУУЛГА" гэсэн нэгэн шинэ булан нээж байна. Энэхүү булангаараа дамжуулан зарим нэг зүйлийн талаарх буруу ойлголтыг залруулж, өөрийн туршлага мэдлэгээсээ хуваалцах гэсэн юм. Хамгийн эхэнд SSL-ийн талаар бичихээр шийдлээ. Танд тодруулах эсвэл эргэлзээтэй зүйл байвал сэтгэгдэл болгон үлдээгээрэй, чадах чинээгээрээ тодруулга хийж, асуултанд тань хариулъя.

Манай компани интернэтийн аюулгүй байдлын шийдэл боловсруулагч thawte компанитай өнгөрсөн 10 сараас эхлэн хамтран ажиллаж байна. Тэдний бүх төрлийн бүтээгдэхүүнийг худалдахаас гадна танд аль нь илүү тохирох, хэрхэн хэрэглэх талаар зөвлөлгөө өгч байгаа. Энэхүү ажлынхаа хүрээнд хүмүүстэй уулзаж ярилцаж байхад SSL тавьснаар вэбтэй холбоотой бүх асуудлыг шийдэх боломжтой гэсэн эндүү ойлголттой байдаг нь анзаарагдаж байсан. Жишээ нь, би нэг вэбийн код бичсэн, аюулгүй байдлыг хувьд төдийлөн шалгаж үзээгүй, гэхдээ SSL тавьчихаар энэ зүгээр биз дээ? Манай вэб дээр SQL Injection, XSS алдаа илэрсэн гэсэн SSL тавиад хамгаалж болох уу? Манай вэб сервер хакердуулсан гэхдээ SSL тавиад хамгаалж болох уу? Гэвч бүгдийнх нь хариулт ҮГҮЙ.

SSL гэж юу вэ? Бидний вэбээр үзэж болон илгээж байгаа бүх зүйл нээлттэйгээр хийгдэж байдаг. Өөрөөр хэлбэл хэн ч замаас нь бариад, задлаад үзэж болхо. Та нэгэн вэб сайтад ороод нэр, нууц үгээ хийхэд тэрийг тань замаас нь мэдэж болно гэсэн үг. Энэ байдал нь мэдээллийн нууцлал, аюулгүй байдалд нөлөөлж байсан тул мэргэжилтнүүд энэхүү дамжиж байгаа мэдээллийг хэрхэн нууцлах, хөндөгдөөгүй байдлаг хэрхэн хангах талаар толгойгоо гажилгасны эцэст SSL буюу Secure Socket Layer гэдэг юмыг зохион бүтээжээ. SSL нь хэрэглэгчээс сервер рүү илгээж байгаа мэдээллийг encrypt буюу шифрлэж нууцлан илгээх бөгөөд серверээс хэрэглэгчид ирж байгаа мэдээллийг ямар нэг өөрчлөлтгүй, бүрэн бүтэн байдлыг хангах механизмыг агуулж байдаг. Өөрөөр хэлбэл таны оруулсан мэдээллийг тань серверээс өөр хэн ч уншиж чадахгүй гэсэн үг, мөн таны хүлээн авч байгаа мэдээлэл тань замдаа ямар нэг байдлаар засварлагдаагүй гэсэн баталгаатай байдаг. Иймд SSL нь зөвхөн интернэтийн сүлжээгээр дамжиж буй мэдээллийн нууцлалыг хангах хэрэгсэл болохоос биш агуулгыг хянадаггүй, бас серверийг хамгаалдаггүй. Вэбээр дамжин хийгддэг SQL Injection, XSS гэх мэт халдлага нь агуулгын хэлбэртэй хийгддэг болохоор өмнөх хариултууд ҮГҮЙ гэж гарсан. SSL технологи маань хөгжлийн явцдаа бусад технологиудын адил цоорхой гарч байсан ба мэргэжилтнүүд v3 буюу сүүлийн 3-р хувилбар нь илүү найдвартай, өндөр зэрэглэлийн хамгаалалт өгдөг гэж үзэж байгаа. Мөн адил санал болгож байна.

SSL нь хэн үүсгэж байгаа, хэн баталгаа өгч байгаагаасаа шалтгаалан хоёр үндсэн хэсэгт хуваагддаг. Хэн нэгэн өөрөө түлхүүрийг нь үүсгээд, өөрөө сертификатыг нь үүсгээд өөрөө баталгаа гаргаж байгаа бол үүнийг self signed гэж нэрлэдэг. Харин түлхүүрийг нь өөрөө үүсгээд, сертификатыг нь thawte гэх мэт аль нэг аюулгүй байдлын (CA буюу Certificate Authority) компани үүсгэж, баталгааг гаргаж байгаа бол CA гэж нэрлэдэг. Self signed сертификат нь нууцлалын хувьд ялгаагүй ч маш бага хүрээнд хэрэглэхэд илүү тохиромжтой байдаг. Учир нь ийм төрлийн сертификат бүхий вэб рүү зочлох бүрд вэб хөтөч маань итгэх эсэхийг асуудаг. Харин CA-ын үүсгэсэн сертификат бүхий вэб руу ороход ямар нэг анхааруулга өгөхгүй бөгөөд өндөр нууцлалын баталгаа өгдөг юм.

3 comments:

Сина said...

hi голомт банктай онлайн төлбөр хийдэг вэб хийж байгаа юм. Тэгсэн SSL - тэй байх ёстой гээд байна. Тэгэхээр миний зүгээс юу хийх ёстой вэ?

Дөлмандах said...

тэгвэл SSL худалдаж авах хэрэгтэй болох нь байна даа. Thawte компаний бүтээгдэхүүн их зүгээр шүү. яг авахаар бол холбоо ярьж болно шүү.

Би бүгдийг мэдэх болно said...

Sain bna uu golomt banktai holvoh gesen ym aa. ssl ni hed ym bas yaaj holvoh talaar zuvlugu avah gesen ym tuslaach