Задать вопрос
Insaned
@Insaned

Существуют ли универсальные способы обезопасить php сайты?

Иногда помогаю друзьям захостить какой-нибудь php сайтик (чаще-всего wordpress но бывают варианты вплоть до magento).
Для этого собираю стандартный LAMP стек типа:
Apache2 + PHP 5.х + ModPHP + Mod security со стандартными конфигами
От самих используемых CMS я очень далек и не хотел бы в это углубляться.
Не смотря на всю разъяснительную работу, эти сайтики часто ломают - чаще всего через какой-нибудь дырявый говноплагин который друзья устанавливают сами.
Друзья плачут, я восстанавливаю всё из бэкапов, удаляю дырявый плагин и через некоторе время история повторяется с другим плагином.
Вопрос: какие существуют способы обезопасить подобные сайты на уровне ОС и используемого системного ПО (не средствами CMS). Я понимаю что серебряной пули не существует, но возможно есть способы снизить риски ?
зы: Интересуют именно технические варианты решения. Административные я сам могу придумать.
  • Вопрос задан
  • 466 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 4
Sanes
@Sanes
Запретить друзьям устанавливать плагины.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Либо автоматизируйте восстановление сайтов из бэкапа, чтобы у ваших друзей была кнопочка, и вы забудете про этот гемор, либо за каждое восстановление берите деньги.
Ответ написан
Комментировать
Wohlstand
@Wohlstand
Инженер-программист С++
Обязательно:
* Установить и настроить SUExec, и желательно настроить так, чтобы папка сайта (например, "Public_HTML" или "www", или site1/www, site2.www, etc.) была в хомяке зверя (по SFTP удобнее будет лазать)
* Каждый зверь должен иметь свой UNIX-аккаунт и регу на MySQL-сервере (каждому одну или несколько базок)
* Желательно собрать php из исходников и запускать через CGI (SUExec работает только на CGI), можно юзерям назначать INI-файлы индивидуально (например, включать/выключать определенные модули)

Что на счёт самих CMS, средствами OS можно лишь назначить владельцем рута и штатные CMS-ные файлы сделать "только чтение". Тем самым изменять файлы самой CMS не получится ни у кого, а вот использовать - на здоровье. Только один минус: теряется возможность автообновления, потребуется рут, чтобы заменить такие файлы. На стороне MySQL от аварии не спасёт если один из плагинов коряво попытается изменить одну из существующих таблиц (тем самым испортив её), а не добавить новую, для себя.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы