40 ÎØÈÁÊÈ ÌÎËÎÄÎÑÒÈ ÑÏÅÖ 02-07Ìîäóëü mod_securityÎÑ èëè ÿäðà êàêèå-òî ïàðàìåòðû ñòàíîâÿòñÿ ðåêîìåíäóåìûìèê èñïîëüçîâàíèþ, à êàêèå-òî, íàîáîðîò,âûõîäÿò èç îáðàùåíèÿ. Íåîáõîäèìî îòñëåæèâàòüòåíäåíöèè è êîíòðîëèðîâàòü êîíôèãóðàöèþ.áàçà äàííûõ. Ñëåäóþùèé óðîâåíü çàùèòû —ïðàâà äîñòóïà ê áàçå äàííûõ è ôàéëîâîé ñèñòåìå.Áàçà äàííûõ — îäíîâðåìåííî âàæíîå õðàíèëèùåè îñíîâíàÿ ëàçåéêà äëÿ àòàêè SQL Injection ïðè ïðîíèêíîâåíèèíà ñåðâåð è ñáîðå èíôîðìàöèè. Ïîýòîìóñöåíàðèè íå äîëæíû ðàáîòàòü îò èìåíè ïðèâèëåãèðîâàííîãîïîëüçîâàòåëÿ. Ó÷åòíàÿ çàïèñü äîëæíàèìåòü òîëüêî òå ïðàâà, êîòîðûå åé íåîáõîäèìûäëÿ ðàáîòû ñöåíàðèÿ, è íè ãðàììà áîëüøå.Ëþáîé íåñàíêöèîíèðîâàííûé äîñòóï ê ñèñòåìíîéèíôîðìàöèè äîëæåí çàïðåùàòüñÿ.  99%ñëó÷àåâ ïðè ðàáîòå ñ MySQL-ñöåíàðèÿì íå íóæåíäîñòóï ê ñèñòåìíîé áàçå MySQL, ãäå õðàíèòñÿ âñÿèíôîðìàöèÿ î ïîëüçîâàòåëÿõ, ïðàâàõ äîñòóïàõ èîáúåêòàõ ñåðâåðà áàç äàííûõ. Äîñòóïà íå äîëæíîáûòü íå òîëüêî íà çàïèñü èëè îáíîâëåíèå, íî è íàïðîñìîòð äàííûõ. Î÷åíü ÷àñòî äàæå ïðîñìîòð ñèñòåìíûõäàííûõ ìîæåò äàòü õàêåðó ìàññó âàæíîéäëÿ áåçîïàñíîñòè èíôîðìàöèè.Ïðè ðàáîòå ñ áàçîé äàííûõ MS SQL Serveráîëüøèíñòâî ïðîãðàììèñòîâ èñïîëüçóþò óæå ñóùåñòâóþùóþïî óìîë÷àíèþ ðîëü public.  ýòîì èçàêëþ÷àåòñÿ îøèáêà, âåäü ýòîé ðîëè äîñòóïíî ìíîãîå.Ëó÷øåå ïðàâèëî — íèêîãäà íå èñïîëüçóé ãîòîâîå,à ñîçäàâàé ñîáñòâåííóþ ðîëü è ïîëüçîâàòåëÿ.ìîäóëè web-ñåðâåðà. Ñëåäóþùèé ýòàï îáåñïå÷åíèÿáåçîïàñíîñòè — ìîäóëè äëÿ Apache.Îíè ïîçâîëÿþò ïîñòðîèòü ýôôåêòèâíóþ çàùèòó îòàòàê òèïà SQL Injection, XSS è ìíîãèõ äðóãèõ.Íî ïðîñòî óñòàíîâèòü ìîäóëü — íå çíà÷èò ðåøèòüâñå ïðîáëåìû. Íóæíî ãðàìîòíîå êîíôèãóðèðîâàíèåè çàïðåò âñåãî, ÷òî ìîæåò íàíåñòè âðåä ñåðâåðó.mod_sequrity. Íåñìîòðÿ íà òî, ÷òî áåçîïàñíîñòüweb-ñåðâåðà â îñíîâíîì çàâèñèò îò ñöåíàðèåâ,êîòîðûå âûïîëíÿþòñÿ íà ñåðâåðå, è ïðîãðàììèñòîâ,êîòîðûå ïèøóò ýòè ñöåíàðèè, åñòü âîçìîæíîñòüçàùèòèòü ñåðâåð, íå îáðàùàÿ íà íèõ âíèìàíèÿ. ýòîì ïîìîæåò áåñïëàòíûé ìîäóëü äëÿ Apachemod_security. Ïðèíöèï ðàáîòû ìîäóëÿ ñõîæ ñ ñåòåâûìýêðàíîì, êîòîðûé âñòðîåí â ÎÑ, òîëüêî â äàííîìñëó÷àå îí ñïåöèàëüíî ðàçðàáîòàí äëÿ ðàáîòûñ ïðîòîêîëîì HTTP. Ìîäóëü àíàëèçèðóåò çàïðîñûïîëüçîâàòåëåé è âûíîñèò ñâîå ðåøåíèå î âîçìîæíîñòèïðîïóñòèòü çàïðîñ ê web-ñåðâåðó èëè îòêàçåíà îñíîâå ïðàâèë, êîòîðûå çàäàåò àäìèíèñòðàòîð.Ïðàâèëà îïðåäåëÿþò, ÷òî ìîæåò áûòü â çàïðîñå,à ÷òî íåò. çàïðîñàõ, êîòîðûå ïîëüçîâàòåëü îòïðàâëÿåòíà ñåðâåð, ñîäåðæèòñÿ URL-àäðåñ, ñ êîòîðîãî íåîáõîäèìîâçÿòü äîêóìåíò èëè ôàéë. ×òî ìîæíî çàäàòüâ ïðàâèëàõ ìîäóëÿ, ÷òîáû ñåðâåð ñòàë áåçîïàñíåå?Ðàññìîòðèì íåñêîëüêî íåñëîæíûõ ïðèìåðîâ.1  ÑÒÐÎÊÅ URL ÍÅ ÄÎËÆÍÎ ÁÛÒÜ ÍÈ-ÊÀÊÈÕ ÎÁÐÀÙÅÍÈÉ Ê ÔÀÉËÓ /ETC/PASS-WD, À ÇÍÀ×ÈÒ, ÏÓÒÈ Ê ÝÒÎÌÓ ÔÀÉËÓÍÅ ÄÎËÆÍÛ ÁÛÒÜ Â URL-ÀÄÐÅÑÅ.2 ×ÅÐÅÇ URL ÍÅ ÄÎËÆÅÍ ÏÅÐÅÄÀÂÀÒÜ-Ñß ÊÎÄ JAVASCRIPT, ÝÒÎ ÑÅÐÜÅÇÍÀßÎØÈÁÊÀ. ÒÀÊÈÅ ÂÅÙÈ ÍÓÆÍÎ ÏÅÐÅÄÀ-ÂÀÒÜ ÌÅÒÎÄÎÌ POST. ÅÑËÈ ÇÀÏÐÅÒÈÒÜ È ÏÐÎÈÇÂÎÄÍÛÅ, ÒÎ ÌÎÆÍÎÎÁËÅÃ×ÈÒÜ ÑÅÁÅ ÆÈÇÍÜ. ÍÎ ÒÎËÜÊÎÎÁËÅÃ×ÈÒÜ, ÒÀÊ ÊÀÊ ÅÑÒÜ ÊÓ×À ÏÐÎÈÇ-ÂÎÄÍÛÕ, ÏËÞÑ ÊÎÄÈÐÎÂÀÍÈÅ ÑÎÄÅÐ-ÆÈÌÎÃÎ ÑÒÐÎÊÈ. ÕÀÊÅÐ ÌÎÆÅÒ ÇÀÌÓ-ÒÈÒÜ ÒÀÊÎÉ ÇÀÏÐÎÑ, ÊÎÒÎÐÛÉ ÎÁÎÉ-ÄÅÒ ÔÈËÜÒÐÛ, ÍÎ ÓÑËÎÆÍÈÒÜ ÅÌÓÆÈÇÍÜ ÒÛ ÏÐÎÑÒÎ ÎÁßÇÀÍ.3  URL ÍÅ ÄÎËÆÍÎ ÁÛÒÜ ÎÄÈÍÀÐÍÎÉÊÀÂÛ×ÊÈ, À ÂÑÅ ÏÀÐÀÌÅÒÐÛ, ÏÅÐÅÄÀ-ÂÀÅÌÛÅ ÑÖÅÍÀÐÈÞ, ÏÐÈ ÈÑÏÎËÜÇÎÂÀ-ÍÈÈ Â ÇÀÏÐÎÑÀÕ ÎÁßÇÀÒÅËÜÍÎ ÄÎËÆ-ÍÛ ÁÛÒÜ ÇÀÊËÞ×ÅÍÛ Â ÎÄÈÍÀÐÍÛÅÊÀÂÛ×ÊÈ.Ìîäóëü mod_security ïðîâåðÿåò íà îñíîâå çàäàííûõôèëüòðîâ àäðåñ URL, è åñëè îí íàðóøàåò ïðàâèëà,òî çàïðîñ îòêëîíÿåòñÿ. Ñàì ìîäóëü ìîæíî âçÿòüñ ñàéòà www.modsecurity.org. Ïîñëå óñòàíîâêè â ôàéëåhttpd.conf ìîæíî áóäåò èñïîëüçîâàòü äîïîëíèòåëüíûåäèðåêòèâû:— SECFILTERENGINE ONÂÊËÞ×ÈÒÜ ÐÅÆÈÌ ÔÈËÜÒÐÀÖÈÈÇÀÏÐÎÑÎÂ;— SECFILTERCHECKURLENCODING ONÏÐÎÂÅÐßÒÜ ÊÎÄÈÐÎÂÊÓ;— SECFILTERFORCEBYTERANGE 32 126ÐÀÇÐÅØÀÒÜ ÈÑÏÎËÜÇÎÂÀÍÈÅ ÑÈÌÂÎ-ËÎÂ Ñ ÊÎÄÀÌÈ ÒÎËÜÊÎ ÈÇ ÓÊÀÇÀÍÍÎ-ÃÎ ÄÈÀÏÀÇÎÍÀ.Ñèìâîëû, êîäû êîòîðûõ ìåíåå 32, ïðèíàäëåæàò ñëóæåáíûìñèìâîëàì òèïà ïåðåâîäà êàðåòêè èëè êîíöàñòðîêè. Áîëüøèíñòâî èç ýòèõ ñèìâîëîâ íåâèäèìû, íîäëÿ íèõ ñóùåñòâóþò êîäû, ÷òîáû ìîæíî áûëî îáðàáàòûâàòüíàæàòèÿ ñîîòâåòñòâóþùèõ êëàâèø íà êëàâèàòóðå.Òî åñòü õàêåð íå ìîæåò ââåñòè íåâèäèìûéñèìâîë â URL, íî âïîëíå ìîæåò ââåñòè åãî êîä. Íàïðèìåð,÷òîáû óêàçàòü ñèìâîë ñ êîäîì 13, íåîáõîäèìîóêàçàòü â URL àäðåñå «%13». Ñèìâîëû ìåíåå 32è áîëåå 126 ÿâëÿþòñÿ íåäîïóñòèìûìè äëÿ àäðåñà,ïîýòîìó âïîëíå ëîãè÷íî èõ îòñåêàòü åùå äî îáðàáîòêèweb-ñåðâåðîì.— SECAUDITLOG LOGS/AUDIT_LOGÑ ÏÎÌÎÙÜÞ ÝÒÎÃÎ ÏÀÐÀÌÅÒÐÀ ÇÀÄÀ-ÅÒÑß ÔÀÉË ÆÓÐÍÀËÀ,  ÊÎÒÎÐÎÌ ÁÓ-ÄÅÒ ÑÎÕÐÀÍßÒÜÑß ÈÍÔÎÐÌÀÖÈßÎÁ ÀÓÄÈÒÅ;— SECFILTERDEFAULTACTION«DENY,LOG,STATUS:406» — ÏÀÐÀÌÅÒÐÇÀÄÀÅÒ ÄÅÉÑÒÂÈÅ ÏÎ ÓÌÎË×À-ÍÈÞ ( ÄÀÍÍÎÌ ÑËÓ×ÀÅ ÓÊÀÇÀÍÏÎ ÓÌÎË×ÀÍÈÞ ÇÀÏÐÅÒ — DENY);— SECFILTER XXX REDIRECT:HTTP://WWW.WEBKREATOR.COM — ÅÑËÈÔÈËÜÒÐ ÑÐÀÁÀÒÛÂÀÅÒ, ÒÎ ÏÎËÜÇÎÂÀ-ÒÅËÜ ÏÅÐÅÀÄÐÅÑÓÅÒÑß ÍÀ ÑÀÉÒHTTP://WWW.WEBKREATOR.COM;— SECFILTER YYY LOG,EXEC:/HOME/APACHE/REPORT-AT-TACK.PL — ÅÑËÈ ÔÈËÜÒÐ ÑÐÀÁÀÒÛÂÀÅÒ,ÒÎ ÁÓÄÅÒ ÂÛÏÎËÍÅÍ ÑÖÅÍÀÐÈÉ/HOME/APACHE/REPORT-ATTACK.PL;— SECFILTER /ETC/PASSWORD ÇÀÏÐÎÑÅ ÏÎËÜÇÎÂÀÒÅËß ÍÅ ÄÎËÆÍÎJail óïðîùàåò ñîçäàíèå èíäèâèäóàëüíîãî îêðóæåíèÿ
41ÁÛÒÜ ÎÁÐÀÙÅÍÈß Ê ÔÀÉËÓ/ETC/PASSWD (ÒÀÊÈÌ ÆÅ ÎÁÐÀÇÎÌÑËÅÄÓÅÒ ÄÎÁÀÂÈÒÜ ÇÀÏÐÅÒÍÀ ÎÁÐÀÙÅÍÈÅ Ê ÔÀÉËÓ /ETC/SHADOW);— SECFILTER /BIN/LS ÇÀÏÐÎÑÅ ÏÎËÜÇÎÂÀÒÅËß ÍÅ ÄÎËÆÍÎÁÛÒÜ ÎÁÐÀÙÅÍÈß Ê ÏÐÎÃÐÀÌÌÀÌ( ÄÀÍÍÎÌ ÑËÓ×ÀÅ ÇÀÏÐÅÙÀÅÒÑßÊÎÌÀÍÄÀ LS, ÊÎÒÎÐÀß ÌÎÆÅÒ ÏÎÇÂÎ-ËÈÒÜ ÕÀÊÅÐÓ ÓÂÈÄÅÒÜ ÑÎÄÅÐÆÈÌÎÅÊÀÒÀËÎÃÎÂ, ÅÑËÈ Â ÑÖÅÍÀÐÈÈ ÅÑÒÜÎØÈÁÊÀ), ÑÒÎÈÒ ÇÀÏÐÅÒÈÒÜÎÁÐÀÙÅÍÈß Ê ÒÀÊÈÌ ÊÎÌÀÍÄÀÌ ÊÀÊCAT, RM, CP, FTP È ÄÐÓÃÈÌ;— SECFILTER «\.\./»ÊËÀÑÑÈ×ÅÑÊÀß ÀÒÀÊÀ, ÊÎÃÄÀ URL ÓÊÀÇÛÂÀÞÒÑß ÑÈÌÂÎËÛÒÎ×ÅÊ, ÏÎÝÒÎÌÓ ÈÕ ÒÀÌ ÁÛÒÜÍÅ ÄÎËÆÍÎ;— SECFILTER «DELETE[[:SPACE:]]+FROM»ÇÀÏÐÅÒ ÒÅÊÑÒÀ DELETE … FROM,×ÒÎ ×ÀÙÅ ÂÑÅÃÎ ÈÑÏÎËÜÇÓÅÒÑß SQL-ÇÀÏÐÎÑÀÕ ÄËß ÓÄÀËÅÍÈßÄÀÍÍÛÕ.Ïîìèìî ýòîãî ðåêîìåíäóåòñÿ óñòàíîâèòü ñëåäóþùèåòðè ôèëüòðà:1 SECFILTER «INSERT[[:SPACE:]]+INTO»ÈÑÏÎËÜÇÓÅÒÑß Â SQL-ÇÀÏÐÎÑÀÕÄËß ÄÎÁÀÂËÅÍÈß ÄÀÍÍÛÕ.2 SECFILTER «SELECT.+FROM»ÈÑÏÎËÜÇÓÅÒÑß Â SQL-ÇÀÏÐÎÑÀÕÄËß ×ÒÅÍÈß ÄÀÍÍÛÕ ÈÇ ÁÀÇÛ.3 SECFILTER «» È SECFILTER«