Blog post


Блог // Рекомендации по безопасности для ваших сайтов

Nginx, Суббота, 12/07/2019 - 20:59

1. Убедитесь, что все важные файлы закрыты для доступа из вне. К примеру файл /config/config.ini содержит данные для подключения к базе данных. Проверьте правила nginx запрещающие доступ к этому файлу из браузера.

Не храните логи работы вашего веб-приложения в открытом доступе. Если лог станет доступен злоумышленнику, то он сможет понять архитектуру вашего приложения и это упростит ему задачу поиска уязвимости.

Пример. Закрыть доступ к файлам по расширению.

location ~* \.(engine|inc|info|ini|install|log|make|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
deny all;
}

Не разрешайте доступ к системам контроля версий. По умолчанию наши правила закрывают доступ к скрытым файлам (начинающимся с точки). Мы не рекомендуем удалять это правило. При доступе к файлам .git злоумышленник сможет скачать копию вашего сайта себе на компьютер.

Убедитесь также, что файлы реализующие какой-то важный функционал также не доступны злоумышленникам. К типу таких файлов относится : рассылка почты, загрузка файлов, скрипты для работы с базой данных.

Пример. Запретить использование php файлов в директории includes

location ~* /includes/.*\.(php|php3|php4|php5|php6|phps|phtml)$ {
deny all;
}

Часто, такие популярные скрипты, которые клиенты используют для работы с базой данных (экспорт/импорт) становятся причиной взлома. Не оставляйте подобные скрипты в document root, или закрывайте доступ к ним.

Не оставляйте резервные копии базы данных, архивы с сайтом в document root.

 

2. Убедитесь, что использование функциональных элементов  вашего веб-приложения доступно только на вашем домене. Блокируйте отправку форм отправленных не из вашего сайта.

Проверьте как часто можно отправлять ваши формы, есть ли в них защита от флуда. Зачастую слабым местом в веб-сайте является php код, и даже без наличия сети ботов можно создать большую нагрузку от сайта.

 

3. Избегайте неэкранированных аргументов получаемых из строки браузера.  Если ваш скрипт принимает на вход какие то параметры (из uri), то проверьте корректность данных которые вы получаете. Особенно если осуществляется работа с базой данных.  Полезная функция для проверки таких аргументов:

 

htmlspecialchars($text, ENT_QUOTES, 'UTF-8');

 

4. Если вы используете сторонние библиотеки, вендоры, плагины, то обязательно проверьте папки этих дополнений на предмет тестовых скриптов. Зачастую с каким-нибудь скриптом поставляется директория examples полная php скриптов которые может использовать злоумышленник.

 

5. Не используйте простые пароли для админ-панелей ваших сайтов. До сих пор один из самых популярных способов взломать сайт  - брутфорс (подбор паролей). Защититься от перебора паролей можно реализовав антифлуд систему (учитывать количество неправильных вводов паролей и блокировка атакующего). Для большей безопасности используйте двухуровневую авторизацию с помощью веб-сервера.

Статья о том как настроить http авторизацию есть в нашей документации http://elasticweb.org/ru/documentation/42

 

6.  Не устанавливайте права на файлы 777 (chmod). Это не безопасно.  

 

7. Подпишитесь на security рассылку вашей CMS. Будьте в курсе возможных уязвимостей и поддерживайте актуальную версию CMS.

More details

Цены на ресурсы сервера

Статистика использования ресурсов доступна в панели управления.
Параметр Описание Цена
CPU 100 % нагрузка в час 0.11$
Веб трафик за использование 5GB 0.01$<
MySQL трафик за использование 5GB 0.02$
IO операции за 10GB ввод/вывод 0.01$
Оперативная память за использованные 50 GB 0.01$
Дисковое место за 30GB/час 0.02$
MySQL диск за 30GB/час 0.04$

Наша система мониторинга мгновенно снимает показатели нагрузки на сервере и отправлят в службу обработки данных. Мы определяем сколько ресурсов использовал ваш сайт или работа вашего сотрудника на сервере. В конце дня мы подбиваем итоги и выставляем вам счет. Оплата услуг происходит автоматически с персонального баланса на сайте