LAMP системийн аюулгүй байдлын зөвлөмж өгнө үү.

19 views
Skip to first unread message

Sengedorj Otgonlkhagva

unread,
Apr 17, 2009, 1:07:37 PM4/17/09
to lim...@googlegroups.com
Миний ойлгож байгаагаар бол интернэтэд яг бодит хугацаанд ажиллаж байгаа LAMP систем рүү үргэлж л vulnarability scan, dos, sql injection, attempted-admin (Тухайлбал http://ajaxmaa.blogspot.com/, http://daldaak.blogspot.com/ блог дээрх нийтлэлүүдийг та андахгүй биз) гэх мэт янз бүрийн л халдлага хийгдэж байдаг бололтой юм. Тэгвэл LAMP системийн аюулгүй байдлын түвшинг хэрхэн нэмэгдүүлэх вэ? (Ерөнхийдөө мэдээллийн системийн аюулгүй байдал гэвэл хэтэрхий том сэдэв болох ба зарим талаараа linux систэмтэй хамаагүй болох байх гэж бодоод зөвхөн LAMP системийг сонгов. Магадгүй энэ маань ч хэтэрхий том сэдэв байж болох л юм)
Миний хүсээд байгаа зүйл бол:
"LAMP систем ийм байвал ингээд халдлагад өртөөд байдаг. Тийм учираас ингэвэл зүгээр байдаг" гэсэн зөвлөмжийг надад өгөөсэй гэж хүссэн юм. Тухайлбал apache-руу халдлага хийж байгаа халдагч нь ихэвчлэн хамгийн түрүүнд apache-ийн хувилбарыг мэдэж авахыг оролддог. Тэгвэл apache-ийн эх кодонд засвар хийх эсвэл mod_security, mod_headers гэх мэтийн модулиудыг нь ашиглан server header field-ийг өөрчилж бага ч гэсэн аюулгүй байдлыг хангах оролдлого хийж болно ч гэдэг юм уу. Ерөн аль болох ерөнхий биш жишээтэй зөвлөмж өгөх (мэдээж боломжтой бол шүү дээ) тусам таньд илүү талархах болно.
Би санаагаа ойлгомжтой зөв илэрхийлж чадав уу?
Би боломжтой зүйл хүсэж чадаж байна уу?
Та юу гэж бодож байна?

DULMANDAKH Sukhbaatar

unread,
Apr 17, 2009, 10:58:13 PM4/17/09
to lim...@googlegroups.com
> Миний ойлгож байгаагаар бол интернэтэд яг бодит хугацаанд ажиллаж байгаа
> LAMP систем рүү үргэлж л vulnarability scan, dos, sql injection,
> attempted-admin (Тухайлбал http://ajaxmaa.blogspot.com/,
> http://daldaak.blogspot.com/ блог дээрх нийтлэлүүдийг та андахгүй биз) гэх
> мэт янз бүрийн л халдлага хийгдэж байдаг бололтой юм. Тэгвэл LAMP системийн
> аюулгүй байдлын түвшинг хэрхэн нэмэгдүүлэх вэ?

сонирхолтой сэдэв эхлүүлсэн байна баярлалаа. миний харж байгаагаар яг
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

Baasandorj Namnansuren

unread,
Apr 18, 2009, 12:29:57 AM4/18/09
to lim...@googlegroups.com
Sonirholtoi sedev oernuuljee.
Script, Application, OS geed ali ch tyvshin yamar negen programchlalyn hel ashiglan hiigdsen baigaa,
Terniig ni bichsen hunii turshlagaas haamaraad yamar negen aldaa baij l baidag.

Programist ni PHP or ASP scriptee sain bichlee gehed PHP kernel code dotor ni aldaa baival bas
naidvargyi bolchihdgog asuudal baina.

Jisheelbel SQL injectiongees hamgaalah geed Application deer
union ch yumuu yamar negen SQL tei holbootoi filter hiisen bailaa gehed
ununionion, un/**/ion,UNION gedeg ch yumuu olon argaar hamgaalaltyg ni davchihdag
ergeed eniig ni bas tootsoolood hamgaaldag argyg ni hiicihsen baidag.

Moen safe_mode & open_basedir -yg davahdaa doorh helbereer folder yysgeed libcurl ashiglan davaj bolj baigaa tuhai
ayulgyi baidlyn site-uud deer sayahna garsan baigaa yum. Ene ni PHP kerneliin l aldaa bolchihoj baigaa yum.
curl_setopt($ch, CURLOPT_URL, "file:file:////etc/passwd");

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.
Iimd hackerduulchihlaa geed zygeer suulgyi oroldood l baih heregtei bolov uu. Oroldoh tusam
turshlagjij sain mergejilten boloh yndes bii bolno gej bodoj baina.

Erkhemee M.

unread,
Apr 18, 2009, 1:08:56 AM4/18/09
to lim...@googlegroups.com
Аа бас, яг энэ чиглэлээр ажиллаж байгаа мэргэжилтэнүүд, сонирхогчид мэдлэг, туршлагаасаа хуваалцаж бусдад мэдлэгээ түгээж байвал тэгээд бидний нууцлал хамгаалалт их сайжирна гэж мунхаглана. Энэ чиглэлээр бичигддэг монгол блогууд өдрийн од шиг л ховор байна доо. Мөн эсрэгээр ajaxmaa, daldaak -тай адил төрлийн блог, нийтлэлүүд олширч байж энэ асуудал чухал зүйл байна шүү гэдгийг шийдвэр гарагч түвшнийхэнд сануулга өгөх ашигтай гэдгийг дээрх блогууд баталлаа ш дээ. Мобиком л гэхэд тусдаа баг байгуулж ахлахаар нь экс Миком g0mb0 ахыг авсан сурагтай ;)

DULMANDAKH Sukhbaatar

unread,
Apr 18, 2009, 3:18:21 AM4/18/09
to lim...@googlegroups.com
> Moen safe_mode & open_basedir -yg davahdaa doorh helbereer folder yysgeed
> libcurl ashiglan davaj bolj baigaa tuhai
> ayulgyi baidlyn site-uud deer sayahna garsan baigaa yum. Ene ni PHP
> kerneliin l aldaa bolchihoj baigaa yum.
> curl_setopt($ch, CURLOPT_URL, "file:file:////etc/passwd");

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.

бүрэн төгс хамгаалалт гэж байхгүй гэдэг юм билээ. тэр үед ашиглахад
маш бэрх болно. тиймээс тухайн нөхцөлд төгс, ашиглахад хүнд биш байх
хэрэгтэй байх. туршлага маш чухал.

Almas

unread,
Apr 19, 2009, 1:28:48 AM4/19/09
to lim...@googlegroups.com
Энэ ёстой гоё сэдэв байна даа :) Их юм мэдэж авч байна. баярлалаа.
Reply all
Reply to author
Forward
0 new messages