Чи корисна річ mod_security?


9

Нещодавно мене відвідували помилкові повідомлення про помилки з боку mod_security. Її набори фільтрів охоплюють застарілі подвиги PHP, і я повинен переписати свої речі, оскільки Wordpress & Co мали помилки років тому.

Чи трапляється це з кимось іншим?

Apache mod_security блокує можливі небезпечні запити HTTP, перш ніж вони дістаються до програм (зокрема PHP). Він використовує різні набори фільтрів, в основному на основі регулярних виразів.

Тож у мене є хороший спільний хостинг-провайдер, технічно вподобаний і інший. Але це мене клопіло:

Лише минулого тижня мені довелося змінити ім'я параметра &src=в одному з моїх додатків, оскільки mod_security блокує будь-які запити з цим. Я не шукав його деталей, але це правило фільтра перешкоджало експлуатації іншого додатка, який я не використовую і, напевно, ніколи не чув про нього. І все-таки мені довелося переписати свій код (параметр перейменування часто буває достатньо, щоб обдурити mod_security), який не мав нічого спільного з цим!

І сьогодні нерозумні блоки зразків формують подання, тому що я хотів подати зразок коду PHP. Враховуючи, це прості речі, від яких mod_security є для захисту. Але я не вірю, що mod_security може виявити серйозно затуманений код, і просто вимикається за очевидними (і в цьому випадку абсолютно тривіальними) фрагментами php.

В основному, мене накладають покарання mod_security, оскільки інші люди випустили програми, схильні до помилок. (Не кажучи про те, що мої програми є надзвичайно безпечними - я дуже обережно
ставлюсь до безпеки, але не пред’являйте жодних гіперболічних претензій.) Я вже просив свого провайдера відключити його у будь-якому випадку, переваги - занадто мізерний IMO і для моїх додатків.


Як ти гадаєш? Чи має mod_security багато сенсу поза хостингом WP? Або це насправді лише купа чорних списків давно минулих помилок безпеки? Які з його правил насправді корисні? Чи еквівалентний рівень програми?


1
Це подання коду PHP нерозумно, тому що навіть друк рядка з <?php doBadStuff(); ?>не виконує цю функцію. (Якщо ви не використовуєте evalзвичайно, що все-таки є злом.)
НезадоволенняGoat

@DisgruntledGoat: А може, я знову був занадто бурхливим лише через дві помилкові тривоги. Зрештою, mod_security - це як сканер вірусів, який все ще несе підписи вірусів MS-DOS. Здебільшого не корисно, але ловить сканер випадкового використання та випадковий потенціал ()? Або так:}
маріо

Відповіді:


3

Я особисто бачу mod_security як виправлення. Я використовую його на деяких наших серверах, де ми не можемо керувати завантаженим кодом (наприклад, сервери спільного хостингу), але це ніколи насправді не відчуває себе гарним рішенням. Виходячи з широкого та дуже загального підходу до чорного списку, це більше патч, щоб приховати дірки в безпеці, ніж хороша політика безпеки.

Це також може забезпечити помилкове відчуття безпеки. mod_security може виявити деякі поширені атаки, але жодним чином не може запобігти будь-якій атаці. Знову ж таки, це чорний список загальновідомих атак. Якщо ви просто встановите mod_security і думаєте, що ви магічно захищені, ви жахливо помиляєтесь.

Я знайшов набагато кращу політику для мене керованих серверів, де моя команда переглядає весь код, розміщений на них, у поєднанні з безліччю журналів, аналізу журналів файлів, системами звітності та системами виявлення / запобігання вторгнень (IPS). Щоразу встановлюється стороннє або відкрите програмне забезпечення (я дивлюся на вас , WordPress!), Ми ведемо журнал того, де воно було встановлено, і коли випускаються нові версії, ми оновлюємо кожну встановлену копію.

Знову ж таки, ви більше шансів знайти mod_security на спільному сервері хостингу, як зараз. Зростаючи, ви можете перейти до постачальника послуг хостингу на базі VPS або, де ви отримаєте власне кероване середовище і можете більш жорстко контролювати доступне програмне забезпечення.


Саме так мені здається. Для захисту спільних хостинг-акаунтів один проти одного, suexec + fastcgi, як правило, більш застосовні. У системі VPS та з загальноприйнятим кодом mod_security допомагає рідко (хоча це робить кілька перевірок відповідності HTTP). +1 комплексні журнали.
Маріо

0

На мою думку, якщо ви новачок у програмуванні, mod_security - це гарна ідея, але якщо ви витратите час для того, щоб правильно писати свої програми та уникати написання незахищеного коду, який використовує eval або з’єднує рядки GET безпосередньо в SQL, вам слід бути в порядку без це. mod_security ніколи не зупинить серйозних хакерів, і якщо у вас хороший додаток, діти сценарію відмовляться і переходять до наступного справді слабкого і незахищеного додатка там.


Спосіб не пояснити свій голос>. <
Брендон Вамбольдт,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.