poniedziałek, 9 marca 2009

4+3 reasons not use Apache mod_security/mod_rewrite

Pod DevCentral F5 podpiętych jest kilka blogów. Najbardziej "podoba" mi się blog Lori MacVittie. Co w nim tak przebojowego? Klapki na oczy...

Chciałbym się odnieść do dwóch postów. Polecam czytanie po fragmencie: kawałek komentowanego, mój, kawałek komentowanego, mój.

Pierwszy to "4 reasons not to use mod_security". Od razu napiszę, że Ivan Ristic merytorycznie skomentował go w komentarzu. Ja czuję niedosyt.

Ad. 1. "It runs on every web server." - rozproszona architektura mod_security w trybie "Embededd" IVMHO pozwala osiągnąć lepszą skalowalność niż pojedyńczy/podwójny WAF na dedykowanych urządzeniach. Duplikowanie części konfiguracji jest prawdziwe, ale jak się chce to można to ogarnąć.

Ad. 2. "You have to become a security expert." - osobiście nie mam oporów by dążyć do poziomu eksperta. Ktoś tutaj zapomniał, że poza podejściem, w który można opisywać atak na aplikacje webowe istnieje tzw. "model pozytywny". Nie jestem taki pewny siebie by w ciemno porównywać mod_security z ASM'em F5 czy Imperva SecureSphere w każdej płaszczyźnie, natomiast mam wrażenie, że reguły jakie można budować dla tego modułu do Apache mogą być (są?!) dużo bardziej rozbudowane od sygnatur z pozostałych wymienionych rozwiązań. Podkreśliłbym konieczność [?] (jakie "?" ?!?!) współpracy z ekspertem przy konfiguracji i utrzymaniu WAF'a, bez względu na to kto jest jego dostawcą.

Ad. 3. "You have to become a protocol expert." - łatwiej jest nauczyć się jak dobrze konfigurować jeden serwer, np. Apache, niż wszystkie (IIS, lighttpd, Tomcat, nginx, etc.) i hardenować każdy z nich osobno.

Ad. 4. "The configuration must be done manually." - ech... . ModSecurity Core Rules, który jakiś czas temu został przeniesiony pod opiekę OWASPa. BTW: WAF to nie drukarka! Czy ktoś wyobraża sobie kogoś kto potrafi _dobrze_ zaprojektować, skonfigurować i utrzymywać firewall bez znajomości stosu TCP/IP na poziomie trochę bardziej niż podstawowym? ;) A jak ktoś ma problem z pisaniem wyrażeń regularnych - to nie takie trudne, naprawdę, to zawsze można dopisać kawałek kodu w Lua.

Podsumowując, stroniąc od bycia ekspertem nigdy nim nie zostaniesz ;-) Wybór należy do Ciebie.

Drugi post, który sprowokował mnie do komentarza to: 3 Reasons not to use Apache mod_rewrite. Szybkim skokiem z telemarkiem pomijam bełkot wstępu i...

Ad. 1. "It's less efficient." - nie ma co czarować, że mod_rewrite może wygrać z iRules. Nie, nie może. Porównanie to jest w stylu żółw vs. zając. Wychowałem się na otwartym oprogramowaniu i tanio skóry nie sprzedam ;) Za pomocą prostej regułki można zmusić przeglądarkę do szybkiego opuszczenia naszego serwisu, np. za pomocą przekierowania - 301/302. Jeżeli znajduje się ona w pliku htaccess to serwer właściwie ledwo zdąży zająć się requestem i już go żegna. To naprawdę nie jest trudne dla niego. Litości.

Ad. 2. "It only works in homogeneous environments.". - ech...#2. mod_rewrite to moduł dla Apache. Oczywiste, że nie będzie działał dla innych serwerów. Załóżmy taką sytuację: Jesteśmy DDoSowani przez kilkaset klientów-zombie, którzy w nagłówku User-Agent wstawiają charakterystyczny string: "KokoJambo". Nie mamy super wypasionego ASMa F5. Czy mam szukać telefonu do eksperta od firewalli, bo od protokołu HTTP takowych nie ma, może mnie uratuje? Ten .htaccess całkiem możliwe, że tak:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} ^KokoJambo$
RewriteRule .* http://localhost/bad_user.html

Bardzo trudne, wymaga znajomości wyrażeń regularnych, nie można wyklikać tego z panelu administracyjnego, potrzebna jest znajomość edytora tekstu i umiejętności połączenia się na serwer, np. za pomocą ssh. Praca dla Eksperta.

Ad. 3. "It requires an interruption to services." - ta, jasne. Zapomniałem, że musiałem obudzić pół biznesu by zapytać czy mogę zatrzymać serwery WWW. Ogólnie min. pół godziny okienka serwisowego, może godzinka, nie wiem, nie ma tu ekspertów od tych spraw. Proszę. Bez takich. Powyższy fragment konfiguracji mod_rewrite można umieścić w pliku .htaccess i cieszyć się z działającej konfiguracji bez jakiegokolwiek restartu serwera czy jakiejś przerwy w jego działaniu.

Uznam, że te posty to marketingowy bełkot i na tym zakończę mój komentarz. Dodam tylko, że z dnia na dzień ASM i iRules firmy F5 podoba mi się coraz bardziej, wbrew pozorom można z ich wykorzystaniem zrobić dużo. Dużo więcej niż spora część ludzi robi.

2 komentarze:

arv@hax0r.eu pisze...
Ten komentarz został usunięty przez administratora bloga.
Przemyslaw Skowron (rezos) pisze...
Ten komentarz został usunięty przez autora.