Аливаа зүйлийн давуутай шинж чанар нь өөр нэгэн өнцгөөс харахад сул тал нь болж байдгийг хаа сайгүй олж харж болно. Тухайлбал вэб апликэшний хувьд хаанаас ч хэзээ ч хандаж ашиглаж болдог давуу тал нь, хэн дуртай нэгэнд ямар нэг гажууд хэлбэрээр хандах боломжыг олгодог. Ийм учраас эхлээд гаднах нууцлалыг хангаад дараа нь дотрох зүйлсээ хийдэг.
Апликэшн байгаа сервэрийнхээ орчний нууцлалыг хангалгүйгээр апликэшнээ яаж ч сайн хийгээд нэмэргүй. Сэрвэрийн хувьд ерөнхийдөө дараах зүйлсийг анхаарах хэрэгтэй.
Сэрвэр
- Сэрвэрийн үйлдлийн системийн шинэчлэл, апдэйтийг цаг тухайд нь хийж байх. Мөн үйлдлийн системийн чухал багц програм хангамжуудыг ч байнга шинэчилж байх хэрэгтэй. Харгалзах мэйл листүүдэд нь бүртгүүлчих юм бол амар байдаг.
- Хэрэггүй буюу ашигладаггүй сэрвисүүдийг зогсоохь эсвэл бүр устгах. Жишээ нь Windows дээр бол Messenger, Fax service, Net logon гэх мэт. Юникс дээр бол apmd, lpd, sendmail, telnet, finger гэх мэт сэрвисүүд бараг ашиглагдахгүй болов уу.
- Хэрэггүй үйлдлийн систэмийн хэрэглэгч нэрсийг устгах. Тухайлбал windows дээр guest хэрэглэгчийг идэвхгүй болгох. Мөн хэрэглэчдийн нууц үгийг тогтмол хугацаанд солиж байхаар тохируулах, хамгийн багадаа 8 ч юмуу тэмдэгт байхаар зааж өгөх.
- Файл болон директоруудад хандах эрхийг(file permission) нарийн чанд тавьж өгөх. Системийн файлууд, директоруудыг сайтар нууцлаж хамгаалах хэрэгтэй.
- Логуудыг сайтар төлөвлөж тохируулах. Лог файлын үүсэх байрлал, хэд хоноод хуучин логууд устгагдах гэх мэт. Мөн лог дээр бичигдэх байгаа үзэгдлүүдийг автоматаар шинжилж, хэвийн бус зүйл илэрвэл мэйлээр ч юмуу мэдэгддэг байвал тун сайн.
- Сүлжээний тохиргоонд TCP/IP түвшинд боломжын хирээр шүүлтүүр тавьж өгөх. Хэрэггүй портуудыг хаах, iptables дээр сэжигтэй пакетуудыг оруулахгүй байх гэх мэтээр тохируулж болдог.
Апликэшн сэрвэр
- Апликэшн сэрвэр буюу вэб сэрвэрээ байнга шинэчилж засвар эмчилгээг цаг тухайд нь хийж явах.
- Апликэшн сэрвэрийг ажиллуулах хэрэглэгчийн нэрийг логин хийж чадахааргүй байлгах. мөн маш хязгаарлагдмал эрхтэйгээр тохируулж өгөх. Тухайлбал вэб апликэшний директориос бусад дирэктор луу хандах эрхгүй байлгаж болно.
- Хэрэглэгдэхгүй нэмэлт боломжуудыг идэвхгүй болгох. Тухайлбал CGI програм ажиллуулахыг зогсоох, мөн HTTP ийн PUT, TRACE, DELETE зэрэг мэтодуудыг идэвхгүй болгох гэх мэт.
- Вэб сэрвэрийн нэр болон хувилбарын дугаар, алдааны мэдээлэл зэргийг нуух. Ингэснээр гаднаас халдагчид сэрвэрийн програм хангамж болон бусад мэдээлэл дээр тулгуурлан онгорхой цоорхойг хайхаас сэргийлнэ.
Хөгжүүлэлт
Ингээд ерөнхийдөө сэрвэр болон бусад програм хангамжуудын тохиргоог боломжын хэмжээнд хамгаалж чадсан гэж үзвэл бид апликэшнээ хийхдээ анхан шатанд юуг анхаарвал зохихыг авч үзье. Програмд гаднаас орж ирэх өгөгдлийг зөв байгаа эсэхийг шалгах хэрэгтэй.
- SQL Injection.
- OS Command Injection.
- Directory traversal
- Параметр болон hidden field дээр хуурамч утга тавиж ашиглах.
- Cross Site Scripting(XSS).
- Шиншлэх.
- Cross Site Request Forgeries(CSRF).
Багаж
Вэб апликэшн хөгжүүлэлтийн үед нууцлалын тал дээр анхаарах зүйлс дээр дурдсан хэдээр тогтохгүй. Нууцлал хамгаалалтыг хангана гэдэг нь чанарыг сайжруулж байна гэсэн үг бөгөөд хэдий чанартай хийнэв төдий чинээ хөлс хүч, цаг хугацаа зарцуулагдана. Хөлс хүч, цаг хугацааг бага байлгаад өндөр чанартай хийнэ гэдэг хэцүү ч, сайн багаж хэрэгсэл, багцуудыг ашигласнаар нууцлалыг боломжын хэмжээнд байлгаж болно. Тухайлбал олны танил болсон Struts хэмээх MVC фрэймворкын Validator нь гаднаас орж ирэх өгөгдлийг дажгүй сайн шүүдэг. Вэб аппликэшнээ хэвээр орхиод Web Application Firewall(WAF) -оор гаднаас орж ирэх халдлагыг хаах бас боломжтой. Жишээ нь Apache вэб сэрвэрт зориулагдсан ModSecurity гэдэг нээлттэй эх бүхий WAF байдаг. Гэхдээ энэ тохиолдолд тухайн WAF-ийг суурилуулах, хэрэглэж тохируулж сурахаас авахуулаад нэмэлт ажлууд гарна. Эдгээр ажлууд нь вэб аппликэшн дээрээ засвар оруулахаас хямд байвал хэрэглэх нь зүйтэй.
эх сурвалж: http://tsahim-ertunts.blogspot.com/
|