сонирхолтой сэдэв эхлүүлсэн байна баярлалаа. миний харж байгаагаар яг
apache, mysql, php эсвэл python гэх сервер талын зүйлсэд төдийлөн
алдаа гараад, түүнээс нь болоод халдлагад өртөөд байдаггүй. алдаа
гарлаа гэхэд шинэчлэлт хийгээд явахад бараг л болох байх. харин сервер
дээр ажиллаж буй вэб програмуудын алдаа, цоорхой ашиглан халдлага
хийгээд байгаа юм.
орж ирж буй хувьсагчийг зөв үгүйг шалгалгүй шууд SQL сервер рүү
өгснөөс болоод sql injection болоод, бааз руу хийх үйлдэл дээрээ
анхаараагүйгээс болж өчүүхэн жаахан зүйл дээр холболт хийж серверийн
холболтоо дүүргэж DOS болоод л, сервер рүү ачаалж буй файлуудыг
шалгаагүйгээс болж бас түүнийгээ ажиллуулах боломжтой болгосноор
серверийг жинхэнэ утгаар нь хусуулдаг. гэхдээ энэ бүгдийг зөвхөн
програм хангамжид найдаж болохгүй сервер тал дээр анхаарах зүйлс бас
байгаа, бас сервер тал дээр огт найдаж болохгүй.
сервер дээр хамгийн чухал зүйл бол хэрэггүй зүйлсийг бүгдийг нь устгаж
эсвэл хаах хэрэгтэй. миний бодлоор хэр баргийн сервер дээр gcc байх
шаардлага байхгүй, үүгээр дамжуулаад кодоо эмхэтгээд багаж бэлтгэж
авдаг. шаардлагагүй apache, php модулиудыг хаах хэрэгтэй, ингэхдээ
гарын авлагыг нь нэг бүрчлэн уншиж, тус бүрийн зориулалтыг ойлгох
хэрэгтэй. халдлагад өргөн ашиглагддаг боловч вэбүүдийн хэвийн
ажиллагаанд төдийлөн ашиглагддаггүй php хэлний функцуудыг хаах
хэрэгтэй. вэбийн програм нь өөрийн ажиллаж буй хавтаснаас гадуур гарч
мэдээлэл унших боломжгүй байх хэрэгтэй, open_basedir-ийг судлах
хэрэгтэй. үнэхээр залхуугүй, туршлагатай бол вэбийн бүх зүйлийг chroot
хийх хэрэгтэй, тэгвэл систем рүү хандах боломжийг хаах боломжтой
болно.
> apache-ийн хувилбарыг мэдэж авахыг оролддог. Тэгвэл apache-ийн эх кодонд
> засвар хийх эсвэл mod_security, mod_headers гэх мэтийн модулиудыг нь ашиглан
> server header field-ийг өөрчилж бага ч гэсэн аюулгүй байдлыг хангах
> оролдлого хийж болно ч гэдэг юм уу. Ерөн аль болох ерөнхий биш жишээтэй
нуух нь тийм ч сайн хамгаалалт биш юм л даа. ServerTokens Prod гэж
тохируулбал зөвхөн Apache гэдэг нэр гаргахаас хувилбар, үйлдлийн
системийн талаар мэдээлэл гарахгүй. ServerSignature off гэвэл
серверийн талаар бүх мэдээлэл бараг гарахгүй болно. php дээр
expose_php = off гэвэл php-ийн талаар мэдээлэл тийм ч нээлттэй биш
болох байх.
энэ бүхнийг хэлээд өгөхөөр сурчихдаг тийм ч хялбар зүйл биш, туршлага
хичээл зүтгэл маш чухал. харин хаагаа судлах уу, юу үзэх вэ гэдэгт тус
болох болов уу гэж дээрхийг хэлж байна.
--
Regards
Dulmandakh
http://www.dulmandakh.com
php хэлний curl модуль төдийлөн хэрэглэгдээд байдаггүй учир хэрэггүй
үед суулгахгүй эсвэл хаачихвал дээрх асуудлаас сэргийлж болох. бас
chroot хийж чадвал дээрх цоорхой ашиггүй болж эхэлнэ. гэхдээ олон вэб
болохоод ирэхээр үнэн төвөгтэй юм билээ. зөвхөн шаардлагатай зүйл өөр
юу ч биш гэсэн зарчим баримтлах нь зөв байх.
> Tegeheer source code, application server & script language, OS kernel
> gesen 3 tuvshind ali alin deer ni sain hamgaalah heregtei bolov uu.
энэ маш үнэн. аль нэгийг нь орхивол хэцүүхэн үр дүнд хүрч болох.
> Etsest ni helehed toegs hamgaalaltyg bii bolgono gedeg tanii turshlagaas l
> hamaarna gesen yg.
бүрэн төгс хамгаалалт гэж байхгүй гэдэг юм билээ. тэр үед ашиглахад
маш бэрх болно. тиймээс тухайн нөхцөлд төгс, ашиглахад хүнд биш байх
хэрэгтэй байх. туршлага маш чухал.