NGINX-д зориулсан Nemesida WAF үнэгүй шинэ хувилбар

NGINX-д зориулсан Nemesida WAF үнэгүй шинэ хувилбар
Өнгөрсөн жил бид Nemesida WAF Free-г гаргасан бөгөөд энэ нь NGINX-д зориулагдсан динамик модуль бөгөөд вэб програмын халдлагыг блоклодог. Машины сургалтанд суурилсан арилжааны хувилбараас ялгаатай нь үнэгүй хувилбар нь зөвхөн гарын үсгийн аргыг ашиглан хүсэлтийг шинжилдэг.

Nemesida WAF 4.0.129 хувилбарын онцлог

Одоогийн хувилбар гарахаас өмнө Nemesida WAF динамик модуль нь зөвхөн Nginx Stable 1.12, 1.14, 1.16-г дэмждэг байсан. Шинэ хувилбар нь 1.17-с эхлэн Nginx Mainline болон 1.15.10 (R18) -аас эхлэн Nginx Plus-ийн дэмжлэгийг нэмдэг.

Яагаад өөр WAF хийх вэ?


NAXSI болон mod_security нь магадгүй хамгийн алдартай үнэгүй WAF модулиуд бөгөөд mod_security нь анх зөвхөн Apache2 дээр ашиглагдаж байсан ч Nginx идэвхтэй дэмжинэ. Энэ хоёр шийдэл нь үнэ төлбөргүй, нээлттэй эх сурвалж бөгөөд дэлхий даяар олон хэрэглэгчтэй. Mod_security-ийн хувьд үнэ төлбөргүй болон арилжааны гарын үсгийн багцыг жилд 500 доллараар авах боломжтой, NAXSI-ийн хувьд хайрцагнаас гадуур үнэгүй гарын үсгийн багц байдаг бөгөөд та doxsi гэх мэт нэмэлт дүрмийн багцыг олох боломжтой.

Энэ жил бид NAXSI болон Nemesida WAF Free-ийн ажиллагааг туршиж үзсэн. Үр дүнгийн талаар товч дурдвал:

  • NAXSI нь күүки дотор URL давхар тайлах ажлыг хийдэггүй
  • NAXSI-г тохируулахад маш удаан хугацаа шаардагддаг - анхдагчаар бол үндсэн дүрмийн тохиргоо нь вэб програмтай ажиллах үед ихэнх хүсэлтийг блоклох болно (зөвшөөрөл, профайл эсвэл материалыг засварлах, судалгаанд оролцох гэх мэт) бөгөөд онцгой байдлын жагсаалт үүсгэх шаардлагатай. , энэ нь аюулгүй байдалд муугаар нөлөөлдөг. Анхдагч тохиргоотой Nemesida WAF Free нь сайттай ажиллах явцад нэг ч худал эерэг үр дүнд хүрээгүй.
  • NAXSI-д алдсан халдлагын тоо хэд дахин их гэх мэт.

Алдаа дутагдалтай байгаа хэдий ч NAXSI болон mod_security нь дор хаяж хоёр давуу талтай байдаг - нээлттэй эх сурвалж, олон тооны хэрэглэгчид. Бид эх кодыг задлах санааг дэмжиж байгаа боловч арилжааны хувилбарын "хулгайч"-тай холбоотой асуудлаас болж үүнийг хийх боломжгүй байгаа ч энэхүү дутагдлыг нөхөхийн тулд гарын үсгийн багцын агуулгыг бүрэн илчилж байна. Бид нууцлалыг эрхэмлэдэг бөгөөд прокси сервер ашиглан өөрөө баталгаажуулахыг санал болгож байна.

Nemesida WAF Free-ийн онцлогууд:

  • Хамгийн багадаа худал эерэг ба худал сөрөг үзүүлэлт бүхий өндөр чанартай гарын үсгийн мэдээллийн сан.
  • репозитороос суулгах, шинэчлэх (энэ нь хурдан бөгөөд тохиромжтой);
  • тохиолдлын талаархи энгийн бөгөөд ойлгомжтой үйл явдлууд, харин NAXSI шиг "эмх замбараагүй байдал" биш;
  • бүрэн үнэ төлбөргүй, хөдөлгөөний хэмжээ, виртуал хост гэх мэт хязгаарлалтгүй.

Эцэст нь хэлэхэд, би WAF-ийн гүйцэтгэлийг үнэлэх хэд хэдэн асуултыг өгөх болно (үүнийг URL, ARGS, Толгой ба Үндсэн хэсэг болгон ашиглахыг зөвлөж байна):

')) un","ion se","lect 1,2,3,4,5,6,7,8,9,0,11#"] ')) union/**/select/**/1,/**/2,/**/3,/**/4,/**/5,/**/6,/**/7,/**/8,/**/9,/**/'some_text',/**/11#"] union(select(1),2,3,4,5,6,7,8,9,0x70656e746573746974,11)#"] ')) union+/*!select*/ (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"] ')) /*!u%6eion*/ /*!se%6cect*/ (1),(2),(3),(4),(5),(6),(7),(8),(9.),(0x70656e746573746974),(11)#"] ')) %2f**%2funion%2f**%2fselect (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"] %5B%221807182982%27%29%29%20uni%22%2C%22on
%20sel%22%2C%22ect%201%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C%2some_text%27%2C11%23%22%5D
cat /et?/pa?swd
cat /et'c/pa'ss'wd
cat /et*/pa**wd
e'c'ho 'swd test pentest' |awk '{print "cat /etc/pas"$1}' |bas'h
cat /etc/passwd
cat$u+/etc$u/passwd$u
<svg/onload=alert()//

Хэрэв хүсэлтийг хаагаагүй бол WAF жинхэнэ дайралтыг алдах магадлалтай. Жишээнүүдийг ашиглахын өмнө WAF нь хууль ёсны хүсэлтийг хааж байгаа эсэхийг шалгаарай.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх