Strona 1 z 1

Filtrowanie outputu z Apache

: 20 lipca 2012, 00:26
autor: exidox
Witam,

szukałem sporo po sieci, niestety natrafiłem na manuale, które są mało zrozumiałe dla mnie, dodatkowo bez przykładów, które mnie interesowałyby.

Sprawa wygląda następująco.
Potrzebuje filtrować ruch wychodzący z serwera apache w ten sposób:
apache -> filtr -> klient

filtr miałby sprawdzać, czy w wygenerowanym przez serwer outpucie znajdują się określone wyrażenia i gdyby tak się stało, to wykonałby któreś z poleceń:
- zwróć 403
- daj klientowi bana na cały serwer (w sensie dodaj wpis do iptables)

Myślałem nad użyciem modułu sed'a, niestety w takim wypadku osiągnąłbym jedynie rozjechanie strony (podmienienie kodu) zamiast zwrócenia błędu lub wywalenia klienta.

Próbowałem modułu string w iptables, jednakże nie działa mi to poprawnie.

Macie jakieś pomysły?

Rozwiązanie podobnego do mojego problemu widziałem tutaj:
http://www.digipedia.pl/usenet/thread/2181/16090/

jednakże link na dole wygasł.

Pozdrawiam

: 20 lipca 2012, 07:47
autor: Van Pytel
Zobacz to:
http://httpd.apache.org/docs/2.2/mod/mod_filter.html

Możesz jeszcze zrobić proxy apache -> filtr (tutaj proxy) -> klient.
Proxy by nadsłuchiwał wysysał to do apache, apache przetwarza i zwraca proxy, a proxy przekazuje klientowi.

Według mnie to nie jest wydajne, lepiej zrobić takie rzeczy w skrypcie (np: php ) i zwrócić odpowiednie nagłówki (dla kodu 403), a dla blokady do przekazać systemowi odpowiednią komendę lub treść co ma zrobić.