Alergia ModSecurity nasubstrát

Alergia ModSecurity nasubstrát

>> On 18. 10. 2010 16:22, Viktor wrote:

Od klienta mám prosbu o doplnenie nasledovného textu k produktom na stránkach : 4090 / 4091 / 4092, nijako to nevieme v Buxuse nahodiť. Ani priamym prepisom ani preform.cez Notepad atď.

“LECHUZA-PON je substrát pre izbové a kontajnerové rastliny. Predstavuje - najmä v spojení s LECHUZA zavlažovacím setom - ideálnu alternatívu k bežným substrátom. LECHUZA PON ukladá dodané živiny, ktoré sa uvoľňujú podľa potrieb jednotlivých rastlín a akumuluje až 40% objemu vody zároveň s optimálnym objemom vzduchových pórov. LECHUZA PON podporuje prevzdušňovanie koreňov a optimálne dávkuje prísun vody.”
(Viktor)

>> On 19. 10. 2010 9:37, Boris wrote:

Pri postovaní dát v skripte /buxus/... detekuje mod_security SQL injection (možno falošný poplach) na nasledovný regexp:
SecRule REQUEST_FILENAME|ARGS "\b(?:user_(?:(?:object|table|user)s|password|group)|a(?:tt(?:rel|typ)id|ll_objects)|object_(?:(?:nam|typ)e|id)|pg_(?:attribute|class)|column_(?:name|id)|substr(?:ing)?|table_name|mb_users|rownum)\b"

Definícia ARGS z dokumentácie pre tento modul:
ARGS is a collection and can be used on its own (means all arguments including the POST Payload), with a static parameter (matches arguments with that name), or with a regular expression (matches all arguments with name that matches the regular expression).

Čiže v tomto prípade kontroluje aj úplne všetky POST parametre voči tomuto regulárnemu výrazu.
(Boris)

>> On 19. 10. 2010 9:55, Viktor wrote:

Ahojte,
3hod. zisťovanie prečo, sa niektoré stránky uložia a niektoré nie a potom zase aj tie, čo nie, sa zrazu uložia, sme chvalabohu úspešne zavŕšili.

Problém bol na jednom webe, kde bežne používajú slovo substrát, čo je ale podľa horeuvedenej podmienky v ModSecurity veľmi podobné sql príkazu substr a substring a tak to znemožnil.

Na hydroflóre sme teda povolili slovo substrát, ale to je len taký rýchlofix. Asi by bolo dobré ten ModSecurity script trochu upraviť napr., že nie všetky slová začínajúce substr, ale ktoré sú presne tie! A pod.

Dík za dobré nastavenie toho.
(Viktor)

>> On 2010-10-19 10:38, Boris wrote:

Vtip je v tom, že nie my sme autori tých pravidiel, je ich sumárne okolo 1MB dát, v každej verzii su iné (vždy sa to prispôsobuje novým zisteniam a pod. a snaží sa to vyhovieť najširsej možnej škále web aplikácií od veľkých java systémov až po jednoúčelové cgi skripty). (Boris)

To, že ModSecurity niekedy zachytí to, čo nemá ("false positive") je  samozrejme daň za to, že to máte bezpečné (a skutočne to dokáže odchytiť 70-80% všetkých input validation útokov, ktoré sa na aplikáciu potom nedostanú).

Toto ale nie je len problém mod_security ale akéhokoľvek webového aplikačného firewallu, ktorý funguje na podobných princípoch. Pre nás to len znamená, že každú Buxus inštanciu treba len dôkladne otestovať s mod_security v snahe odstránit akékoľvek takéto chyby.

Na ModSecurity by som teda nenadával - v jeho konfiguracie sa dá spraviť  výnimka behom pár sekúnd - stačí to len odhaliť (keď dostanete chybu 400, ako písal Boris, tak je to takmer vždy tento problém). (Pavol)

Vravel som už a aj v našej ui42 wiki to je spomenuté, že takmer vždy, keď dostávate chybu 400, je za tým ModSecurity a doteraz sme to relatívne zvládali.

Podľa oficiálnej dokumentácie sa to robí tiež tak, že mod_security global options sa nastavia raz (kam a čo sa loguje, aký web server predstierame, koľko pustí maximálne dát na POST a podobne) a potom sú tam obrovské sady pravidiel, ktoré si človek zapína / vypína /
whitelistuje url / customizuje. (Boris)

Presne tak. A keď to nespravíte počas testovacej prevádzky, tak to treba potom vyladiť počas produkčnej...(Pavol)

(V tomto prípade sa ten web pripravuje na spustenie, takže je to viac-menej testovacia prevádzka.)

Na niektorych weboch s Buxusom sú zapnuté takmer všetky pravidlá, všetko je tam v poriadku - je to vždy vecou daného konkrétneho webu.

Čiže zosumarizujem to všetko, ModSecurity nie je len jednoduchý skript, je to asi najkomplexnejší modul v Apache s obrovskou sadov filtrovacích pravidiel, ktoré nie každému webu (nie to každému webu v Buxuse) vyhovujú v plnej miere. (Boris)

Je ale aj veľmi účinný (žiadny lepši WAF vo svete opensource neexistuje) -
samotné pravidlá nájdete na:
http://sourceforge.net/projects/mod-security/files/modsecurity-crs/0-CURRENT/
Prípadne je možné komerčne zakúpiť tieto:
http://www.gotroot.com/mod_security+rules (Pavol)

Výhoda mod_security je, že je zdarma (komerčné produkty od
F5 ako BIGIP stoja rádovo desaťisíce eur a tiež ich treba prispôsobovať).(Boris)

Pomer cena/výkon v prípade ModSecurity je samozrejme najlepší (čo asi nie
je problém, keďže komerčné riešenia pre jeden webový server stoja desaťtisíce
eur). (Pavol)

HTTP 400 je v našom prípade takmer vždy odozva ochrany ModSecurity, tak mi zakaždým dajte
vedieť (ako to doposiaľ aj vždy bolo, riešili sme to už na niekoľkých našich serveroch.)

Jediné úplne univerzálne riešenie je len vypnúť tento modul úplne :-)
(Boris)

>> On 2010-10-19 17:34, Martin wrote:

Samozrejme pri písaní tohto príspevku na blog som zažil to isté, čo na začiatku avizoval klient - nepodarilo sa mi na prvýkrát vložiť text so slovom substrát...
(Martin)

Prečítajte si tiež

Konzultácia zadarmo

S čím by ste potrebovali pomôcť?

Vyberte všetky možnosti, ktoré sa vás týkajú

Potrebujete ešte s niečím pomôcť?

Vyberte si ďalšiu oblasť

Zanechajte nám na vás kontakt

Formulár bol úspešne odoslaný.