Технический аудит Интернет-проекта - чек-лист для проведения
К нам в NJ Soft переодически обращаются за техническим аудитом Интернет-проектов. Делюсь чек-листом, который может быть также полезен для внутренней приемке/передаче дел по web/mobile-проектам в компании.
Чек-лист структурирован по смысловым блокам. Рекомендую собрать максимальное количество информации. Работа по пунктам данного чек-листа может быть отличным началом для базы знаний по проекту.
- Окружение
- Операционная система
- Веб сервер (тип, версия, файлы конфигураций общие и виртуальных хостов)
- Сервер БД (тип, файлы конфигураций)
- Дополнительные службы (docker/memcached/rabbitmq и т.п.) - если есть и их файлы конфигураций
- Использование crontab или других плановых заданий
- Резервное копирование ведется - да/нет? Если да - доступы к серверу хранения резервных копий и описание формата копирования
- Доступы
- root-доступ на сервер
- пароль от пользователя, под которым работает приложение
- пользователь и пароль от БД
- доступ в административную панель (главнвый администратор)
- доступы к тестовому окружению
- Структура БД
- Список таблиц и комментарии по каждой таблице и ключевым данным
- Схема взаимосвязей между таблицами БД (если есть)
- Приложение
- Язык и фреймворк (например PHP/Symfony)
- Ведется ли контроль версий кода (Git ?). Если ведется - доступ к удаленному репозиторию (если есть).
- Ведется ли документация по проекту? Если да - ссылка и доступ к документации.
- В какой системе ведутся задачи по проекту (trello, jira, битрикс24 ? доступ к системе если есть)
- Есть ли в проекте API. Если да - есть ли документация.
- Технический долг - какой код требует внимания в первую очередь (может создавать проблемы - нужен рефакторинг)
- Интеграции
- Интеграции с sms/мессенджерами/почтовыми рассылками? Ссылка на API/документацию
- Интеграции с платежными системами
- Интеграции с внутренними корпоративными системами
- Дизайн/верстка
- Есть ли отдельные шаблоны дизайна/верстки проекта
- Ведется ли репозиторий верстки? Если да - нужны доступы к удаленному репозиторию (если есть).
- Документация
- Есть ли документация по проекту для пользователей/сотрудников компании?
- Группы пользователей и пользовательские сценарии
- Инструкции по типовым операциям для администраторов проекта
- Безопасность
- Проверить, что /.git/ или другие служебные директории закрыты от доступа извне
- Документация по проекту и тестовые сервера закрыты под basic-авторизацией (логин/пароль)
- Пароли соответствуют требованиям к безопасности (есть цифры, большие/маленькие буквы, спец. символы)
- Все пароли только что изменены и сохранены
- Пароли специальном в защищенном хранилище