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

Как безопасно развернуть php приложение?

Вот вы написали крутой проект который приносит деньги(пока только скрипт , но деньги приносить будет 100%).
В развертывание приложения вы так себе поэтому начинаете гуглить install php fpm ubuntu
ubuntu - это на впске в DO
с помощью гита клонируете репу
меняете конфиг в Nginx и всё работает.

На проект идет куча трафика. Спустя пару недель смотрите логи и там умные школо кулхацекры и не только пытаются сломать ваши скрипты. Залить шелл. Попробовать sql инъекцию, залить файл как то.
Появляется страх, что скрипт сопрут и опубликуют в паблике XXX NULLED SCRIPT BY (%**(#%&%(* или другой заголовок СЛИВ СКРИПТА ПРОЕКТА ХХХХХХ.

проект на yii и активно используется встроенная валидация.

Как 100% защититься от этого?
Какие права нужны?
В какую директорию желательно запихивать скрипты?
От какого юзера запускать nginx / php-fpm ?
Как обезопасить себя если юзер всё таки залил шелл в /public ?

А вы разворачиваете прод?
  • Вопрос задан
  • 260 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
kotomyava
@kotomyava
Системный администратор
Как 100% защититься от этого?

Никак. Не бывает 100% защиты.


Какие права нужны?
Какие права нужны?
В какую директорию желательно запихивать скрипты?
От какого юзера запускать nginx / php-fpm ?

Не существует рецепта на все случаи жизни, тем более, который можно было бы изложить, не в виде большой книги, а ответе на вопрос. И всё куда сложнее, чем вы вероятно, думаете.

Но есть несколько советов:
Нужен квалифицированный администратор, который настроит и будет сопровождать сервер.
Крайне желателен анализ приложения специалистом по безопасности.
Есть WAF, которые могут решить часть проблем приложения, даже если о них не известно, и в простейшем случае, можно воспользоваться, например Cloudflare, т.к. поднимать такое ПО локально, часто накладно по ресурсам.

Ну а также, там, куда можно заливать файлы, должно быть запрещено выполнения кода, на уровне конфигурации веб сервера. Т.е. надо писать нормальные конфиги. В вашем случае, вообще-то всё довольно просто - у вас же только одна точка входа - index.php в webroot, вот только он и должен выполняться через php-fpm, а не все php файлы. Ну а места, куда заливать нельзя, и это не какой-то файловый кеш, должны быть защищены на уровне прав от возможности создания файлов пользователем, от которого запущен обработчик php. Т.е. должно соблюдаться правило, если что-то не является необходимым, оно запрещено.

Также - никакого лишнего софта на сервере. Никаких phpmyadmin, дырявых панелей, ftp. Всё снаружи закрыто фаерволом. Но это всё ваш админ должен сам знать, собственно, а раз вы задаёте этот вопрос, то он вам ох как нужен.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanes
@Sanes
Если религия не позволяет пользоваться шаредом и панелями, то вот вам сценарии на более или менее безопасное окружение. Смысл надеюсь поймете.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽