Чек-лист для аудита виртуального сервера
Как показывает практика, владельцы виртуальных серверов нечасто уделяют время на аудит их инфраструктуры, вкладывая больше ресурсов в маркетинг и SEO. Безусловно, это необходимо для продвижения своего продукта, особенно на первых этапах, однако, чтобы ресурс продолжал исправно работать и приносить доход, не стоит забывать про то, что находится «под капотом».
Сегодня мы разберем стандартный чек-лист, которым мы пользуемся при аудите виртуальных серверов. По большей части это банальные и очевидные моменты, про которые зачастую забывают.
Есть потребность в аудите виртуального сервера?
Напишите или позвоните — мы поможем. Уточним задачи и на их основе предложим варианты
Нажимая на кнопку, вы даете согласие на отправку и обработку своих персональных данных
1. Резервное копирование
Если у вас нет резервных копий — есть шанс потерять все. Наших клиентов такое развитие событий не устраивает, а вас?
Что делаем?
- Проверяем, не требуется ли обновить скрипт, отвечающий за создание архивов. Мы используем как стандартные решения (решения и плагины из состава различных CMS, Duplicity), так и собственные скрипты, функционал которых постоянно расширяется в зависимости от возникающих задач.
- Проверяем, что резервное копирование настроено и работает по расписанию.
- Проверяем резервные копии по контрольным суммам и/или корректность архива.
- Проверенную резервную копию сохраняем локально, на нескольких сторонних хранилищах (на всякий случай, копий много не бывает).
- Иногда выбираем одну из последних резервных копий и разворачиваем ее на тестовом сервере, что позволяет убедиться, что резервные копии не только создаются, но и создаются правильно и ими получится воспользоваться в случае необходимости.
2. Производительность
Недостаток серверных мощностей может отражаться не только на скорости работы сайта, но и привести к более серьезным последствиям. К тому же, в случае развития проекта и роста аудитории, ситуация может меняться довольно быстро.
Что делаем?
- Проверяем, достаточно ли процессорной мощности, оперативной памяти и дискового пространства. Автоматический мониторинг не может обнаружить источник проблемы, только ее следствие, поэтому необходим именно взгляд специалиста.
- В случае недостатков по любому из параметров обязательно ищем причину. Часто недостаток ресурсов может быть связан с ошибками в работе сайта/веб-сервера.
- Если проблемные места найдены — устраняем, если же недостаток ресурсов вызван естественными причинами — подготавливаем варианты решения проблемы с плюсами и минусами каждого и сообщаем клиенту о необходимости принятия решения.
3. Обновления и лицензирование
Свежие обновления позволяют повысить не только безопасность ресурса, но и исключают ситуацию, при которой «устаревшее» ПО перестанет функционировать.
Что делаем?
- Проверяем наличие обновлений для ОС и используемых сервисов.
- Проверяем, продлена ли лицензия CMS, плагинов, прочих использующихся на сервере/виртуальной машине инструментов и приложений.
- Если обновления найдены и их установка не приведет к простою сервиса — обновляем, если необходима остановка — согласовываем с клиентом дату/время, когда это сделать будет комфортно.
4. Файловая структура
Файлы и файлы, но даже там есть вещи, которые не стоит упускать из вида.
Что делаем?
- Проверяем данные на наличие «лишних» файлов, которые могут включать в себя как следствия ошибок в работе системы, так и хакерские инструменты или «забытые» инструменты разработчиков.
- Проверяем на наличие файлов с неверными правами/владельцами. Наличие таковых может усложнить жизнь разработчикам, а может и вообще сломать работу приложения.
Обращайтесь!
5. Логи
Наличие логов очень важно в случае разбора любой нестандартной ошибки, возникшей как в работе сайта, так и веб-сервера. Также, наличие ошибок в логах может показывать на уже имеющиеся проблемы.
Что делаем?
- Проверяем, что логируется работа операционной системы и основных сервисов.
- Проверяем, настроена ли ротация логов, иначе они могут быстро забить все свободное место на диске или срок их хранения может не отвечать поставленным задачам.
- Проверяем журналы безопасности, error-логи веб-сервера, логи почтовой системы и т.д. на наличие критических ошибок, при обнаружении — выявляем причину и устраняем.
6. Дополнительные проверки
Проверки, которые в рамках данной статьи не нашли своей группы.
Что делаем?
- Проводим визуальный осмотр сайта, веб-интерфейса сервиса (верстка, меню, кнопки, слайдеры). Бывает и так, что не заметные на первый взгляд проблемы «под капотом» видны невооруженным взглядом.
- Проверяем актуальность SSL-сертификата, корректность его установки.
- Проверяем, настроены ли необходимые редиректы для веб-сервисов (например, редирект с http на https-версию сайта, редиректы необходимые для SEO, и тд).
- Для веб-сайтов проверяем, что сайт открыт для индексации поисковыми системами, проверяем наличие sitemap, наличие и внешний вид 404-й страницы, работу поиска.
- При необходимости проводим сканирование сайта и его файлов внешним сканером (OpenVAS), плагином CMS (bitrix.xscan, Wordfence), антивирусным пакетом (ClamAV и другими).
- Проверяем работу систем мониторинга, хранения логов и статистики по закону подлости обнаруживается, что данные отсутствуют именно тогда, когда они очень нужны.
- Проверяем наличие актуальной документации по сервису. Не все сервисы требуют постоянного внимания, и через некоторое время становится невозможно вспомнить все места, где делались какие-нибудь тонкие настройки. Всё это должно быть учтено в документации.
7. Отчет
Последний, но очень важный пункт. По результатам аудита очень важно написать отчет, в котором отмечаются все выполненные работы, выявленные ошибки, требующие пристального внимания или согласования с клиентом.
Отчет формируется в виде таблицы, чтобы при следующем аудите было легко сравнить показатели по строкам. Это также поможет выявить негативные тенденции, если такие имеются.
Периодически мы расширяем чек-лист, добавляя все новые пункты, отталкиваясь от особенностей проектов наших клиентов, но даже базовая проверка, описанная выше, поможет вам избежать большого количества проблем.
- Проверяем данные на наличие «лишних» файлов, которые могут включать в себя как следствия ошибок в работе системы, так и хакерские инструменты или «забытые» инструменты разработчиков.
- Проверяем на наличие файлов с неверными правами/владельцами. Наличие таковых может усложнить жизнь разработчикам, а может и вообще сломать работу приложения.