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
Filtrowanie outputu z Apache
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ć.
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ć.