Ostatnio byłem odwiedzany przez błędne komunikaty o błędach od mod_security. Jego zestawy filtrów obejmują nieaktualne exploity PHP i muszę przepisać moje rzeczy, ponieważ Wordpress & Co miał błędy wiele lat temu.
Czy zdarza się to komukolwiek innemu?
Apache mod_security blokuje potencjalnie niebezpieczne żądania HTTP, zanim dotrą do aplikacji (w szczególności PHP). Wykorzystuje różne zestawy filtrów, głównie oparte na wyrażeniach regularnych.
Więc mam fajnego współdzielonego dostawcę hostingu, technicznie trafnego i takie tam. Ale to mnie wkurzyło:
W zeszłym tygodniu musiałem zmienić nazwę parametru &src=w jednej z moich aplikacji, ponieważ mod_security blokuje DOWOLNE żądania z tym. Nie sprawdziłem jego szczegółów, ale ta reguła filtrowania uniemożliwiała wykorzystanie innej aplikacji, z której nie korzystam i o której prawdopodobnie nigdy nie słyszałem. Nadal musiałem przepisać mój kod (zmiana nazwy parametru często wystarcza, aby oszukać mod_security), który nie miał nic wspólnego z tym!
A dzisiaj głupie bloki wyrażeń regularnych tworzą formularze, ponieważ chciałem przesłać przykładowy kod php. Biorąc pod uwagę, jest to prosta rzecz, przed którą mod_security ma chronić. Ale nie wierzę, że mod_security może wykryć poważnie zaciemniony kod, i po prostu wychodzi na oczywiste (iw tym przypadku całkowicie trywialne) fragmenty php.
Zasadniczo jestem karany przez mod_security, ponieważ inne osoby wydały podatne na błędy aplikacje. (Nie mówię, że moje aplikacje są bardzo bezpieczne - jestem dość ostrożny, ale nie zgłaszam żadnych hiperbolicznych roszczeń).
Już i tak poprosiłem mojego dostawcę, aby go wyłączył, korzyści są zbyt małe w przypadku IMO i dla moich aplikacji.
Co myślisz? Czy mod_security ma sens poza hostingiem WP? A może to naprawdę tylko garść czarnych list dawno minionych błędów bezpieczeństwa? Które z jego zasad są rzeczywiście pomocne? Czy istnieje równoważny poziom aplikacji?
<?php doBadStuff(); ?>nie uruchomi tej funkcji. (Chyba, że i tak używaszevaloczywiście złego.)